C++ 虛擬函式解構函式的應用
阿新 • • 發佈:2019-02-16
總時間限制:
1000ms
記憶體限制:
65536kB
// 在此處補充你的程式碼
描述
程式填空輸出指定結果
#include <iostream> using namespace std; class A { public: A() { }
}; class B:public A { public: ~B() { cout << "destructor B" << endl; } }; int main() { A * pa; pa = new B; delete pa; return 0; }
輸入
無
輸出
destructor B
destructor A
樣例輸入
無
樣例輸出
destructor B destructor A
來源
如果什麼都不加,什麼都不會輸出,如果加上A的解構函式,只會輸出A的解構函式,為了輸出繼承類B的解構函式,需要在A的解構函式加virtual
#include <iostream> using namespace std; class A { public: A() { } // 在此處補充你的程式碼 virtual ~A() { cout << "destructor A" << endl; } }; class B :public A { public: ~B() { cout << "destructor B" << endl; } }; int main() { A * pa; pa = new B; delete pa; return 0; }