Рубрики

Вывод программы C ++ | Комплект 1

Прогнозировать выход программ C ++, указанных ниже.

Вопрос 1

// Предположим, что целые числа занимают 4 байта.
#include<iostream>

  

using namespace std;   

  

class Test

{

  static int i;

  int j;

};

  

int Test::i;

  

int main()

{

    cout << sizeof(Test);

    return 0;

}

Выход: 4 (размер целого числа)
члены статических данных не влияют на размер объекта. Так что «я» не учитывается в размере теста. Кроме того, все функции (как статические, так и нестатические) не имеют размера.

вопрос 2

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

}

Выход:
Конструктор Base1 называется
Конструктор Base2 называется
Конструктор производного называется

В случае множественного наследования конструкторы базовых классов всегда вызываются в порядке деривации слева направо, а деструкторы — в обратном порядке.

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

Вывод программы C ++ | Комплект 1

0.00 (0%) 0 votes