使用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...