Why does the Mammal speak
method get called instead?
int main() {
Mammal mammal = Cat("CatName", Blue, 9);
mammal.speak();
}
class Mammal : public Animal{
public:
virtual void speak() const {
cout << "Mammal speaks" << endl;
}
};
class Cat : public Mammal {
public:
void speak() const {
cout << "Cat meow!" << endl;
}
};