class Animal {
public:
Animal(const char * color, int childs, float avgLifetime) {
//Do something
}
};
class Birds: virtual public Animal {
public:
Birds(const char * color, int childs, float avgLifetime, float incubation)
: Animal(color, childs, avgLifetime) {
//Do something
}
};
class Flamingo: public Birds {
public:
Flamingo(const char * color, int childs, float avgLifetime, float incubation, float avgHeight)
: Animal(color, childs, avgLifetime),
Birds(color, childs, avgLifetime, incubation) {
//Do something
}
};
Когда я пытаюсь создать новый Flamingo
, я пропустил конструктор Animal
.
Я думаю, это потому, что Birds
этот наследник виртуальный Animal
.
Я думал, что он прибудет в порядке:
Animal->Birds->Flamingo
Почему пропускается конструктор Animal?