#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
Respuesta: (A)
Explicación: dado que el destructor es virtual, se llama al destructor de clase derivada, que a su vez llama al destructor de clase base.
Cuestionario de esta pregunta
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA