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

[edição não verificada][edição não verificada]
 
 
casoCaso de múltipla herança A - B e C
 
<source lang="cpp">
#include <iostream>
 
using namespace std;
 
class base1
{
public:
base1() { cout << "ConstructingConstruindo base1\n"; }
~base1() { cout << "DestructingDestruindo base1\n"; }
};
 
class base2
{
public:
base2() { cout << "ConstructingConstruindo base2\n"; }
~base2() { cout << "DestructingDestruindo base2\n"; }
};
 
class derived: public base2,public base1
{
public:
derived() { cout << "ConstructingConstruindo derivedderivada\n"; }
~derived() { cout << "DestructingDestruindo derivedderivada\n"; }
};
 
int main()
{
derivedderivada ob;// constructconstruindo ande destructdestruindo obo objeto.
#ifdef WIN32
system ("pause");
#endif
return 0;
}
</source>
 
repare que aqui é a ordem da esquerda para a direita que os constructors são executados na
 
== Passando parâmetros para construtores da classe base ==