C ++

Herança C ++

Herança C ++
Herança é um recurso muito importante da programação orientada a objetos. Permite ao programador derivar uma classe de uma classe existente. Isso é muito útil, especialmente em um projeto grande e complexo, pois permite que o programador reutilize o código.

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:

  1. Herança simples / única
  2. Herança Hierárquica
  3. Herança multinível
  4. 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.

#incluir
usando 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 ().

#incluir
usando 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++.

O cursor pula ou se move aleatoriamente enquanto digita no Windows 10
Se você descobrir que o cursor do mouse pula ou se move por conta própria, de forma automática e aleatória ao digitar em um laptop ou computador com W...
Como reverter a direção de rolagem do Mouse e Touchpads no Windows 10
Mouse e Touchpads não apenas torna a computação mais fácil, mas mais eficiente e menos demorada. Não podemos imaginar uma vida sem esses dispositivos,...
Como alterar o ponteiro do mouse e tamanho do cursor, cor e esquema no Windows 10
O ponteiro do mouse e o cursor no Windows 10 são aspectos muito importantes do sistema operacional. Isso também pode ser dito para outros sistemas ope...