#include<iostream> using namespace std; class Base { public : Base() { cout<< "Constructor: Base" <<endl; } virtual ~Base() { cout<< "Destructor : Base" <<endl; } }; class Derived: public Base { public : Derived() { cout<< "Constructor: Derived" <<endl; } ~Derived() { cout<< "Destructor : Derived" <<endl; } }; int main() { Base *Var = new Derived(); delete Var; return 0; } |
(A)
Constructor: Base Constructor: Derived Destructor : Derived Destructor : Base
(B)
Constructor: Base Constructor: Derived Destructor : Base
(C)
Constructor: Base Constructor: Derived Destructor : Derived
(D)
Constructor: Derived Destructor : Derived
答复: (A) 说明: 由于析构函数是虚拟的,因此调用派生类析构函数,而派生类析构函数又调用基类析构函数。 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END