виртуальное наследование
От: nen777w  
Дата: 31.03.10 14:00
Оценка:
В чём заключается причина не компиляции следующего кода.
(Если убрать virtual — наследование то всё будет компилироваться)
Мне просто интересно почему в случае с virtual компилятору понадобился default — конструктор?

class Base
{
public:
    Base( int n ) : m_n(n) {}
private:
    int m_n;
};

class Derived : public virtual Base
{
public:
    Derived( int n ) : Base( n ) {}
};

class SubDerived : public Derived
{
public:
    SubDerived( int n, int m ) : Derived( n ) {}
};
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.