Neste artigo, vamos discutir o conceito de herança na programação C ++. Explicaremos o conceito da função friend em C ++ com exemplos funcionais.
Por que herança?
A herança permite a criação de uma nova classe ou classe derivada de outra classe ou classe base. A classe derivada ou a classe filha terá todos os recursos da classe pai ou classe base. Podemos reutilizar o código com a ajuda de herança.
Tipo de Herança
Existem diferentes tipos de herança:
- Herança simples / única
- Herança Hierárquica
- Herança multinível
- Herança Múltipla
Neste artigo, vamos considerar apenas herança simples / única.
Exemplo 1:
Agora, vamos dar uma olhada em um programa de exemplo para entender o conceito de herança em C++. Definimos uma classe base e, em seguida, derivamos outra classe dela. Portanto, a classe derivada terá os recursos (membros e funções) da classe base.
#incluirusando namespace std;
classe Base_Class
público:
int i;
void display ()
cout << "Display of Base Class " << i << endl;
;
class Derived_Class: public Base_Class
público:
void show ()
cout << "Show of Derived Class" << endl;
;
int main ()
Derived_Class dc;
dc.i = 100;
dc.exibição();
dc.mostrar();
return 0;
Exemplo 2:
Este é outro exemplo de herança em C++. Neste exemplo, vamos ver como os construtores são chamados quando um objeto de classe derivado é criado.
Como você pode ver abaixo, definimos dois construtores de classe base e três construtores de classes derivadas. Você pode notar claramente na saída abaixo que o construtor da classe base é chamado primeiro antes que o construtor da classe derivada seja chamado.
#incluir#incluir
usando namespace std;
classe Base_Class
público:
Base_Class ()
cout << "Base_Class - No Parameters" << endl;
Base_Class (int x)
cout << "Base_Class - Parameters : " << x << endl;
;
class Derived_Class: public Base_Class
público:
Classe derivada()
cout << "Derived_Class - No Parameters" << endl;
Derived_Class (int y)
cout << "Derived_Class - Parameters : " << y << endl;
Derived_Class (int x, int y): Base_Class (x)
cout << "Param of Derived_Class : " << y << endl;
;
int main ()
Derived_Class d (7,19);
Exemplo 3:
Neste exemplo, vamos ver como objetos de classe derivada podem ser usados.
Como você pode ver, existem duas classes definidas: Rectangle_Class e Cube_Class. A Rectangle_Class é a classe base da qual a classe derivada, i.e., Cube_Class é derivado. Portanto, estamos herdando os recursos de Rectangle_Class para Cube_Class.
Além disso, você pode notar que estamos herdando Cube_Class com o controle de acesso público. Isso significa que a classe derivada pode acessar todos os membros não privados da classe base.
Declaramos um objeto da classe derivada e, em seguida, chamamos os métodos da classe base, i.e., setLength () e setBreadth ().
#incluirusando namespace std;
classe Rectangle_Class
privado:
comprimento interno;
largura interna;
público:
Rectangle_Class ();
Rectangle_Class (int l, int b);
Rectangle_Class (Rectangle_Class & r);
int getLength ()
comprimento de retorno;
int getBreadth ()
largura de retorno;
void setLength (int l);
void setBreadth (int b);
área interna ();
;
classe Cube_Class: public Rectangle_Class
privado:
altura interna;
público:
Cube_Class (int h)
altura = h;
int getHeight ()
altura de retorno;
void setHeight (int h)
altura = h;
volume interno ()
return getLength () * getBreadth () * height;
;
Rectangle_Class :: Rectangle_Class ()
comprimento = 1;
largura = 1;
Rectangle_Class :: Rectangle_Class (int l, int b)
comprimento = l;
largura = b;
Rectangle_Class :: Rectangle_Class (Rectangle_Class & r)
comprimento = r.comprimento;
largura = r.largura;
void Rectangle_Class :: setLength (int l)
comprimento = l;
void Rectangle_Class :: setBreadth (int b)
largura = b;
int Rectangle_Class :: area ()
comprimento de retorno * largura;
int main ()
Cube_Class c (8);
c.setLength (12);
c.setBreadth (9);
cout<<"Volume is "<
Conclusão:
Neste artigo, expliquei o conceito de Herança em C++. O C ++ suporta diferentes tipos de herança, incluindo "herança múltipla" (i.e., herdar recursos de várias classes base ou classe pai). No entanto, para torná-lo mais simples, considerei apenas a herança única aqui. Eu mostrei três exemplos de trabalho para explicar como podemos usar herança na programação C ++ e reutilizar o código. Além disso, este é um recurso muito útil do C++.