[C++]顯示呼叫建構函式和解構函式
建構函式和解構函式可不可以顯示呼叫:
class A
{
public:
A()
{
cout<<"a cnostructor"<<endl;
}
~A()
{
cout<<" a destructor"<<endl;
}
};
void main()
{
A a;
a.A::A();//顯示呼叫建構函式,寫成a.A()會報錯。
a.~A();//顯示呼叫解構函式,但是此時物件a並沒有銷燬。
}
此時的輸出結果是:
a constructor
a constructor //顯示呼叫建構函式的結果。
a destrucotr //顯示呼叫解構函式的結果,此時物件並沒有銷燬。
a destructor //物件銷燬時自動呼叫解構函式。
總結:顯示呼叫建構函式和解構函式就想呼叫一般的函式一樣,並不意味著建立或銷燬物件。但是注意,如果建構函式中動態分配了空間,則顯示呼叫建構函式會出現記憶體洩露;如果解構函式中釋放動態分配的空間,則會出現多次釋放統一記憶體,會出現嚴重錯誤。
相關文章
- C++ 建構函式和解構函式C++函式
- C++建構函式和解構函式呼叫虛擬函式時使用靜態聯編C++函式
- C++入門記-建構函式和解構函式C++函式
- 類的建構函式和解構函式函式
- 構造和解構函式呼叫順序函式
- C++:建構函式的分類和呼叫C++函式
- 預設建構函式、引數化建構函式、複製建構函式、解構函式函式
- 【C++】初始化列表建構函式VS普通建構函式C++函式
- C++中建構函式,拷貝建構函式和賦值函式的詳解C++函式賦值
- 建構函式與解構函式函式
- 建構函式之間的呼叫函式
- C++複製建構函式C++函式
- ## 建構函式函式
- PHP 手冊 (類與物件) 學習筆記五:建構函式和解構函式PHP物件筆記函式
- GC和解構函式(Finalize 方法)GC函式
- 迴圈單連結串列建構函式、解構函式C++實現函式C++
- PHP筆記:建構函式與解構函式PHP筆記函式
- JavaScript 建構函式JavaScript函式
- 建構函式,拷貝賦值函式的N種呼叫情況函式賦值
- C++解構函式C++函式
- 關於建構函式與解構函式的分享函式
- c++ 的學習 建構函式1C++函式
- C++型別轉換建構函式C++型別函式
- C++拷貝建構函式詳解C++函式
- 你不知道的JavaScript--Item8 函式,方法,建構函式呼叫JavaScript函式
- 【譯】JavaScript 工廠函式 vs 建構函式JavaScript函式
- 建構函式與普通函式的區別函式
- 建構函式和類函式
- 初識建構函式函式
- JavaScript Date()建構函式JavaScript函式
- 建構函式建立物件函式物件
- 建構函式詳解函式
- 11-建構函式函式
- C++——建構函式之初始化列表C++函式
- C#的IDisposable 介面和解構函式C#函式
- C++ 移動構造和複製建構函式匹配C++函式
- C++學習筆記-----類和建構函式C++筆記函式
- JS 建構函式與類JS函式
- Dart建構函式介紹Dart函式