Olá pessoal. Tudo certo?!
C++ é uma linguagem fundamental! Com ela, conseguimos desenvolver software em alto e baixo nível. Por isso, tanto empenho nessa série.
Nesse post, falo sobre “herança”.
Mais uma vez, estou usando gist como repositório dos snippets de código. Por alguma razão, a visualização não funciona “bacana” no Google Reader (no blog, funciona).
Se você sabe “herdar” em C#, sabe em C++. Veja esse exemplo:
No exemplo:
Considere alterar o método main para o código que segue:
Ao tentar compilar, verá o seguinte erro:
Razão: Por default, herança em C++ é privada. Ou seja, os métodos da classe base são “visíveis” apenas no corpo da classe derivada.
Para mudar isso, adicionamos o modificador public antes do nome da classe que estamos derivando. Veja:
Pegou a idéia?!
Repare que, omitindo o modificador, a herança é private.
Assim como ocorre em C#, o construtor da classe base não é “herdado”. Entretanto, ele ainda pode ser evocado pelos construtores da classe derivada. Veja o Exemplo:
Simples, não!?
Membros privados de uma classe base não são visíveis em classes derivadas. Entretanto, em C++ também há protected (“privados” visíveis em classes derivadas). Veja o exemplo:
Quando desejamos alterar um comportamento da classe base (método), devemos marcar esse método como virutal. Veja:
Era isso!
Pingback: C++ 101 – Parte 20 – Conhecendo o (deprecated) ‘auto_ptr’ « Elemar DEV