Ho un codice come questo. La mia classe derivata man
, potrebbe non avere una funzione membro dichiarata pura virtuale più in alto nella gerarchia. per esempio. WagTail
qui
class mammal{
public:
virtual void WagTail() = 0;
virtual void BreastFeed() { };
~mammal();
};
class Terrestrials : public mammal{
public:
virtual void sunbathe() = 0;
};
class cat : public Terrestrials {
void sunbathe() override final {
cout << "My owner made me stand in the sun";
}
void WagTail() override final {
cout << "Wagging Tail";
}
};
class Man : public Terrestrials {
void sunbathe() override final {
cout << "Life is good!";
}
void WagTail() override final {
// Wait, Wha??? ERROR!!!!
}
};
Qual è il modo migliore per correggere un errore come questo senza riscrivere l'intera gerarchia?