Programar em C++/Herança: diferenças entre revisões

[edição não verificada][edição não verificada]
== Construtores e destrutores ==
 
Temos uma série de classes que mantém relações de parentesco conforme mostramos nas seções anteriores. Em termos genéricos, classes que herdam características de uma base precisam de regras claras quando forem criadas e destruídas. Precisamos definir a sequência em que os construtores e destrutores serão chamados, uma vez que cada classe tem pelo menos um construtor e um destrutor.
Agora temos a questão quando é que os constructors são chamados quando eles são herdados?
* quando um objecto da classe derivada é chamado, o constructor da base class é chamado primeiro seguido do constructor da classe derivada.
* quando o objecto da classe derivada é destruído, o seu destructor é chamado primeiro seguido do destructor da base class
 
Agora temos a questão: quandoQuando é que os constructors são chamados quando eles são herdados?
vamos ver isto.
* quandoQuando um objectoobjeto da classe derivada é chamadoinstanciado, o constructorconstrutor da classe base class é chamado primeiro seguido do constructorconstrutor das classes derivadas, em sequência da base até a última classe derivada.
caso em que termos herança sequencial A-B-C
* quandoQuando o objectoobjeto da classe derivada é destruído, o seu destructordestrutor é chamado primeiro seguido dodos destructordestrutores dadas baseoutras classclasses derivadas logo abaixo, em sequência até a base.
 
Vamos testar e ver como isto funciona.
 
No caso em que termos herança sequencial A-B-C, teremos:
 
<source lang="cpp">
#include <iostream>
using namespace std;
return 0;
}
</source>
este exemplo está muito giro!!
 
 
caso de múltipla herança A- B e C