舉例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #include <iostream> class Demo { public : Demo( int pa) { std::cout << "constructor called.." << std::endl; aPtr = new int ; *aPtr = pa; } ~Demo() { std::cout << "destructor called.." << std::endl; delete aPtr; } void do_something() { std::cout << *aPtr << std::endl; } private : int *aPtr; }; int main( void ) { Demo d(2048); d.do_something(); return 0; } /* 《程式語言教學誌》的範例程式 檔名:classdemo17.cpp 功能:示範 C++ 程式 作者:張凱慶 時間:西元 2013 年 1 月 */ |
解構函數在第 11 行,用 ~ 符號表示解構函數,裡頭用 delete 刪除指標成員
11 12 13 14 | ~Demo() { std::cout << "destructor called.." << std::endl; delete aPtr; } |
編譯執行結果如下

要完整的解決指標成員的相關問題,還要重載指派運算子與設計 copy 建構函數。
中英文術語對照 | |
---|---|
解構函數 | destructor |
物件 | object |
編譯器 | compiler |
類別 | class |
成員 | member |
指標 | pointer |
您可以繼續參考
類別
相關目錄
回 C++ 快速導覽
回 C++ 教材
回首頁
參考資料
C++ reference
cplusplus.com
Cprogramming.com C++ Tutorial
C++ Primer, Fourth Edition, Stanley B. Lippman...
沒有留言:
張貼留言