C 類的析構函式學習筆記5

2021-06-28 22:43:10 字數 721 閱讀 4164

乙個相對複雜的例子,子類的vector中的元素為指標

#include

#include

#include

using namespace std;

class human

;~human()

;string getname() ;

void setname(string aname) ;

};class man : public human}}

};int main()

{vectordaddys;

man* daddy1 = new man(); daddy1->setname("daddy1");

human* child1 = new human(); child1->setname("child1");

daddy1->children.push_back(child1);

daddys.push_back(daddy1);

daddys[0]->children[0]->setname("child2");

daddys[0]->setname("daddy3");

delete daddy1;

return 1;

輸出結果:

child2

daddy3

看起來比較複雜,其實只要想明白乙個道理,乙個new 對應乙個 delete,

結合前面的例子就可以明白。

C 類建構函式 析構函式 學習筆記

1 類的建構函式 類的建構函式是類的一種特殊的成員函式,它會在每次建立類的新物件時執行 建構函式的名稱與類的名稱是完全相同的,並且不會返回任何型別,也不會返回 void 建構函式可用於為某些成員變數設定初始值。include using namespace std class line 成員函式定義...

C 學習筆記 類的析構函式

析構函式 destructor 也是乙個特殊的成員函式,它的作用與建構函式相反,它的名字是類名的前面加乙個 符號。在c 中 是位取反運算子,從這點也可以想到,析構函式是與建構函式作用相反的函式。當物件的生命期結束時,會自動執行析構函式。程式就會執行析構函式的幾種情況 如果在乙個函式中定義了乙個物件 ...

c 學習筆記 析構函式

宣告 註明 出處 析構函式 在建立物件的時候系統會自動呼叫建構函式,在物件需要被銷毀的時候同樣系統會自動呼叫乙個函式 析構函式與構造函式呼叫順序是反轉過來的,先呼叫建構函式的後呼叫析構函式。include using namespace std class test test private int...