Рубрики

C ++ | Наследование вопрос 2

Выход?

#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;

}

(А)

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

(В)

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

(С)

Derived's destructor

(D) Зависит от компилятора

Ответ: (Б)
Объяснение: Деструкторы всегда вызываются в обратном порядке конструкторов.
Тест на этот вопрос

Рекомендуемые посты:

C ++ | Наследование вопрос 2

0.00 (0%) 0 votes