#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 {};
Комментариев нет:
Отправить комментарий