20 - C++: Polimorfismo

A herança de classes faz com que certas classes possuam certas funções e variáveis em comum com outras classes, e que outras funções e variáveis sejam exclusivas. Por exemplo, podemos criar uma classe chamada esportista, com as variáveis-membro nome, idade e velocidade_maxima. Em seguida, podemos criar a classe nadador, que herde os dados da classe esportista e acrescente a variável-membro folego. Objetos da classe esportista não podem acessar nenhuma variável-membro chamada folego, pois esta só pertence à classe nadador.

O polimorfismo em C++ permite que criemos ponteiros de uma classe (por exemplo, esportista) e que os apontemos para objetos de outra classe (por exemplo, nadador), e ainda que este ponteiro acesse variáveis-membro desta segunda classe. Os três códigos a seguir ilustram com mais detalhe o uso de polimorfismo em C++.