powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / virtual and non-virtual instance of a base class
7 сообщений из 7, страница 1 из 1
virtual and non-virtual instance of a base class
    #39638224
koleso_cpp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наткнулся на sample c++ test от Brainbanch
Вопрос был такой:
Which of the following statements is true when a derivation inherits both a virtual and non-virtual instance of a base class?

и правильный ответ
Choice 2:
Each derived class object has a base object from the virtual instance and a base object from non-virtual instance.

Еще варианты:
Choice 1
Each derived class object has base objects only from the non-virtual instance.
Choice 3
Each derived class object has base objects only from the virtual instance.
Choice 4
Each base class object has derived objects only from the virtual instance.
Choice 5
Each base class object has derived objects only from the non-virtual instance.

Объясните пожалуйста, чего хотят они, по-русски?))
Я Майерса и Страуструпа читал по англиски, все вроде понимал,
а тут туплю :(
...
Рейтинг: 0 / 0
virtual and non-virtual instance of a base class
    #39638244
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koleso_cpp,

ньюансы множественного наследования, с виртуальным базовым классом и с невиртуальным - есть у Страустрапа
...
Рейтинг: 0 / 0
virtual and non-virtual instance of a base class
    #39638292
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koleso_cpp,

Правильный ответ: множественное наследование не надо использовать (кроме наследования интерфейсов).
...
Рейтинг: 0 / 0
virtual and non-virtual instance of a base class
    #39639204
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovskykoleso_cpp,

Правильный ответ: множественное наследование не надо использовать (кроме наследования интерфейсов).

Это лишь твоё частное неправильное мнение.
В следующий раз помечай, пожалуйста, тегом #IMHIO
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
virtual and non-virtual instance of a base class
    #39954636
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
#include <iostream>
   struct   coor  {      // base class
      double  X=1.0;
   };
//   struct bad : coor, coor {}; // error is here

   struct a: virtual coor{};
   struct d: virtual coor{};
//   struct a: coor{};
//   struct d: coor{};

   struct coor3:  a,  d{   // derived class
      double A=2.0; // altitude
   };
   int main(){
     coor3 b ;
    // как выбрать X и X
     printf("\n%.6f, %.6f, %.2f", b.a::X, b.d::X, b.A);
     printf("\nsizes %d/%d", sizeof (coor), sizeof(coor3));
     return 0;
   }



а чем объяснить, что размер coor3 оказался 32?


http://cpp.sh/


Код: plaintext
1.
 1.000000, 1.000000, 2.00
sizes 8/32 
...
Рейтинг: 0 / 0
virtual and non-virtual instance of a base class
    #39954649
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
virtual and non-virtual instance of a base class
    #39954658
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если virtual убрать, то вообще 24 байта будет, как бы понятно.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / virtual and non-virtual instance of a base class
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]