子類在析構的時候,如何呼叫父類的析構方法呢?
class Parent
{
~Parent(){}
}
class Child : public Parent
{
~Child(){}
}
~Child()中能呼叫到~Parent()
uj5u.com熱心網友回復:
我試過讓這兩個解構式都是虛函式,但還是沒有調到,感覺也是妖了uj5u.com熱心網友回復:
寫成virtual 會自動呼叫,uj5u.com熱心網友回復:
不用寫任何代碼都會自動呼叫。uj5u.com熱心網友回復:
不寫的virtual 話,呼叫次序是不正確的.也就是說不能自動呼叫。
例如以下代碼
#include <iostream>
using namespace std;
class Base {
public:
~Base() {
cout << "base destory " << endl;
}
};
class Child :public Base {
public:
~Child() {
cout << "Child destory" << endl;
}
};
int main(void)
{
Base* b = new Child;
delete b;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/283239.html
標籤:C++ 語言
上一篇:個人銀行賬戶
下一篇:關于流輸出小數控制的問題
