C 筆記 建構函式與析構函式

2021-09-13 09:00:44 字數 1087 閱讀 8163

/*建構函式:宣告類的物件時,該類的建構函式會自動被呼叫

*作用:建構函式是用於初始化類的成員變數

* ** *析構函式:在類物件被銷毀時,自動呼叫,呼叫順序與建構函式相反

*作用:做善後清理工作

*/class person

;person::person()

person::person(const string &name, const string &***, int age)

:m_name(name),m_***(***),m_age(age)//類成員變數初始化的順序以成員變數在類中宣告的順序為準,與在初始化列表中的順序無關

person::~person()

類的引用、常量成員只能用類的初始化列表來初始化

class person

;person::person(const string &name, const string &***, int age, const int &var)

:m_name(name),m_***(***),m_age(age),m_age2(m_age),m_age3(age),m_number(1),m_age4(var)

person::~person()

void person::print()

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

類的成員變數可以是該類的指標、引用、其它類的物件(類的組合)

class game//遊戲類

game(const string &name, int level)

:m_name(name),m_level(level)

~game()

private:

string m_name;

int m_level;

};class person

;person::person()

:m_p(0),m_person(*this),m_game("lol",0)

person::~person()

c 建構函式與析構函式

一 建構函式 c 提供建構函式來處理物件的初始化,建構函式是一種特殊的成員函式,與其他的成員函式不同,不需要使用者來呼叫他,而是在建立物件時自動執行。它的特點是 函式名和類名相同,沒有返回值,可以過載 如果程式中未宣告,則系統自動產生出乙個預設的建構函式,預設的建構函式時不帶引數的。比如 stude...

C 建構函式與析構函式

c 規定,每個類必須有預設的建構函式,沒有建構函式就不能建立物件。若沒有提供任何建構函式,那麼c 提供自動提供乙個預設的建構函式,該預設建構函式是乙個沒有引數的建構函式,它僅僅負責建立物件而不做任何賦值操作。只要類中提供了任意乙個建構函式,那麼c 就不再自動提供預設建構函式。類物件的定義和變數的定義...

C 建構函式與析構函式

建構函式 對於c 的建構函式,暫且將其分為以下幾類 1.預設建構函式 2.隱士轉換建構函式 3.拷貝建構函式 4.其它建構函式 1.預設建構函式表示沒有任何引數的建構函式,當自定義任何建構函式以後,將不再自動建立預設建構函式,當然,預設建構函式啥也不幹,程式設計師關心係數頓時大跌。關於預設建構函式還...