Considere a execução do código C++ a seguir:#include <ios...
Considere a execução do código C++ a seguir:
#include <iostream>
class Animal {
public:
virtual void falar() = 0;
virtual ~Animal() = default;
};
class Gato final : public Animal {
public:
void falar(){
std::cout << "Miau\n";
}
};
class Cao final : public Animal {
public:
void falar(){
std::cout << "Auau\n";
}
};
int main(){
Animal *a;
a = new Gato;
a->falar();
delete a;
a = new Cao;
a->falar();
delete a;
}
Na programação orientada a objetos, a capacidade de a
classe Animal se comportar de forma diferente em cada
uma das invocações do método falar(), é chamada de: