C++ | Herencia | Pregunta 2

¿Producción?

#include <iostream>  
using namespace std;
  
class Base1 {
 public:
     ~Base1()  { cout << " Base1's destructor" << endl; }
};
    
class Base2 {
 public:
     ~Base2()  { cout << " Base2's destructor" << endl; }
};
    
class Derived: public Base1, public Base2 {
   public:
     ~Derived()  { cout << " Derived's destructor" << endl; }
};
    
int main()
{
   Derived d;
   return 0;
}

(A)

Base1's destructor
Base2's destructor
Derived's destructor

(B)

Derived's destructor
Base2's destructor
Base1's destructor

(C)

Derived's destructor

(D)

Respuesta dependiente del compilador : (B)
Explicación: Los destructores siempre se llaman en orden inverso a los constructores.
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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *