舉例如下
#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;
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:classdemo17.cpp
功能:示範 C++ 程式
作者:張凱慶
時間:西元 2013 年 1 月 */解構函數在第 11 行,用 ~ 符號表示解構函數,裡頭用 delete 刪除指標成員
~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...
沒有留言:
張貼留言