乙個相對複雜的例子,子類的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...