В чем разница между виртуальным наследованием и наследованием от класса с виртуальными членами?C++

Программы на C++. Форум разработчиков
Anonymous
В чем разница между виртуальным наследованием и наследованием от класса с виртуальными членами?

Сообщение Anonymous »

class Base {
public:
Base(){ }
virtual void Bfun1();
virtual void Bfun2();
};

class Derv : public Base {
public:
Derv(){ }
void Dfun1();
};


Есть ли разница между приведенными выше и приведенными ниже определениями? Они одинаковые? если нет, то чем они отличаются функционально?

class Base {
public:
Base(){ }
void Bfun1();
void Bfun2();
};

class Derv : public virtual Base {
public:
Derv(){ }
void Dfun1();
};


Подробнее здесь: https://stackoverflow.com/questions/616 ... -a-class-w

Вернуться в «C++»