Рубрики

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

#include<iostream>

   

using namespace std;

class Base1 {

 public:

     Base1()

     { cout << " Base1's constructor called" << endl;  }

};

   

class Base2 {

 public:

     Base2()

     { cout << "Base2's constructor called" << endl;  }

};

   

class Derived: public Base1, public Base2 {

   public:

     Derived()

     {  cout << "Derived's constructor called" << endl;  }

};

   

int main()

{

   Derived d;

   return 0;

}

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

(B) конструктор Base1 называется
Base2 конструктор называется
Конструктор производного называется
(C) конструктор Base2 называется
Base1 конструктор называется
Конструктор производного называется
(D) Ошибка компилятора

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

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

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

0.00 (0%) 0 votes