為什么父類的析構(gòu)函數(shù)定義成virtual后, delete pTest2 就會(huì)釋放Derived的資源, 否則就只能釋放Base的資源, 而delete pTest1就能釋放Derived 和Base的資源class Base{public:
~Base() { cout << "Base destructor!" << endl;
};
};class Derived: public Base
{public:
~Derived() { cout << "Derived destructor!" << endl;
};
};int main() {
Derived *pTest1 = new Derived();
Base *pTest2 = new Derived(); delete pTest1; delete pTest2; return 0;
}
- 1 回答
- 0 關(guān)注
- 579 瀏覽
添加回答
舉報(bào)
0/150
提交
取消