Страницы

Поиск по вопросам

пятница, 13 декабря 2019 г.

Виртуальное наследование в C++

#cpp


Что это такое и зачем это используют в C++?    


Ответы

Ответ 1



Виртуальное наследование необходимо в такой ситуации. class A { int a; }; class B: public A {}; class C: public A {}; class D: public B, public C {}; В классе D, в таком случае, будут два поля с именем a и они оба будут принадлежать классу A. Проблема состоит в определении к какой переменной идет обращение. Для исключения подобной ситуации используют виртуальное наследование. Правильный вид объявления в данном примере будет class A { int a; }; class B: public virtual A {}; class C: public virtual A {}; class D: public B, public C {};

Комментариев нет:

Отправить комментарий