Qt中新建類建構函式的初始化引數列表

2022-05-17 22:27:04 字數 897 閱讀 3617

使用qt-creator自動生成乙個窗體應用程式時會自動建立乙個新的類,我的程式中名為mydialog,類的定義為:

1

#ifndef mydialog_h

2#define mydialog_h

34 #include 5

6namespace

ui 9

10class mydialog : public

qdialog11;

2122

#endif

//mydialog_h

相應的建構函式為:

11//

建構函式

22 mydialog::mydialog(qwidget *parent) :33

qdialog(parent),

44 ui(new

ui::mydialog)55

其中,建構函式:mydialog::mydialog(qwidget *parent) : qdialog(parent),ui(new ui::mydialog)形式中,「::」前的mydialog表示類名,「::」後的mydialog為成員函式,其名稱與類相同,表示該類的建構函式,(qwidget *parent)為該建構函式的引數。「:」之後的部分為建構函式的初始化引數列表,其中qdialog(parent)為派生類mydialog顯式呼叫父類qdialog的建構函式,並傳參,呼叫順序是先呼叫父類建構函式,再呼叫派生類的建構函式,若不寫呼叫父類的預設建構函式。 ui(new ui::mydialog)表示使用類內初始值對ui進行初始化,這部分可以放到函式體中實現,成為:

1 mydialog::mydialog(qwidget *parent) : qdialog(parent)

2

類的初始化(建構函式)

1.類成員為const型別 2.類成員為引用型別 include using namespace std class a void print val private const inti intp int j int main int argc char argv 究其因 const物件或引用只能...

帶參建構函式的類物件陣列初始化

今天同學問我個問題 有乙個帶參建構函式的類,如何初始化其物件陣列?仔細想了想,應該不難額,比如 include using namespace std class a int main return 0 但是問題來了,如果陣列長度太大怎麼辦?想了一下,目前所知道的有兩種比較好的辦法 1 使用stl容...

類建構函式初始化列表

表現形式有三種 當前類進行初始化,尤其是當成員變數是乙個const或者乙個引用型別 class demo 需要在初始化列表中呼叫外部類成員的初始化函式 include using namespace std classc1 classc2 intmain 最後列印的結果是 class 1 const...