Programar em C++/Herança (editar)
Revisão das 23h11min de 24 de janeiro de 2010
, 24 de janeiro de 2010→Heranças múltiplas
[edição não verificada] | [edição não verificada] |
Linha 250:
== Heranças múltiplas ==
Podemos ter a situação em que uma classe derivada possa herdar membros de várias classes base. Esta característica é uma distinção entre C++ e outras linguagens orientadas a objeto. Este recurso dá mais poder de modelagem ao programador, mas vale a pena lembrar que ''mais poder'' exige ''mais cautela'' no uso.
<source lang="cpp">
// Um exemplo de múltiplas classes base.
#include <iostream>
using namespace std;
class base1
{
Line 261 ⟶ 265:
void showx() { cout << x << "\n"; }
};
class base2
{
Line 268 ⟶ 273:
void showy() { cout << y << "\n"; }
};
class derived: public base1, public base2 // Inherit multiple base classes.
{
Line 273 ⟶ 279:
void set(int i, int j) { x = i; y = j; }
};
int main()
{
derived ob;
ob.set(10, 20); //
ob.showx(); //
ob.showy(); //
#ifndef WIN32
system ("pause");
#endif
return 0;
}
</source>
Quando queremos que a classe derivada herde uma classe como pública e outra como privada ou protegida basta preceder a classe com o seu especificador de acesso. Da mesma forma, a omissão do especificador leva o compilador a usar o padrão que é privado (private).
== Construtores e destrutores ==
|