C 建構函式理解

2021-10-02 21:42:46 字數 939 閱讀 3602

正確理解qt中建構函式:widget::widget(qwidget *parent) : qwidget(parent),ui(new ui::widget)

#include using namespace std;

class base

base(int val):m_num(val + 1)

private:

int m_num;

};class basechild : public base

basechild(int val) : base(val), m_num(val)

private:

int m_num;

};int main(int argc, char *ar**)

輸出結果:

this is base()

this is basechild()

this is base(int val) and m_num = 6

this is basechild(int val) and m_num = 5

basechild是類, ::是作用域,::後面的basechild(int val)是建構函式,:後面的base(val)是指定基類的建構函式,不明確指定的話是預設建構函式,n_num(val) 是對basechild類裡面的成員變數做初始化。

widget::widget(qwidget *parent) : qwidget(parent),ui(new ui::widget)

理解:widget是類, ::是作用域,::後面的widget(qwidget *parent)是建構函式,

:後面的 qwidget(parent)是指定基類的建構函式,不明確指定的話是預設建構函式,

ui(new ui::widget) 是對basechild類裡面的成員變數做初始化。

本文借鑑:

php的建構函式理解

建構函式 是一種特殊的方法。主要用來在建立物件時初始化物件,即為物件成員變數 賦初始值,總與new運算子 一起使用在建立物件的語句中。特別的乙個類可以有多個建構函式 可根據其引數個數的不同或引數型別的不同來區分它們 即建構函式的過載 經常可以看到這樣 function construct param...

C 中類的建構函式理解(二)

上次的筆記中簡要的探索了一下c 中類的建構函式的一些特性,這篇筆記將做進一步的探索。主要是複製建構函式的使用。複製建構函式也稱拷貝建構函式,它只有單個形參,且該形參是對本類型別物件的引用。其作用有以下幾點 1 根據另乙個同型別的物件顯示或隱式初始化乙個物件 2 複製乙個物件,將它作為實參傳遞給乙個函...

SetBkMode函式理解

輸出的字串時,發現存在背景色,這樣的輸出是破壞背景的。那需要使用什麼方法來保持背景不變,而又能輸出紅色的字串呢?比如按鈕的文字顏色是黑色的,而背景是灰色的。這就需要使用setbkmode函式來設定drawtext函式的輸出方式,顯示裝置共有兩種輸出方式 opaque和transparent。opaq...