En este artículo, vamos a discutir el concepto de herencia en la programación C ++. Explicaremos el concepto de la función de amigo en C ++ con ejemplos de trabajo.
Por qué la herencia?
La herencia permite crear una nueva clase o clase derivada de otra clase o clase base. La clase derivada o la clase secundaria tendrá todas las características de la clase principal o la clase base. Podemos reutilizar el código con la ayuda de la herencia.
Tipo de herencia
Existen diferentes tipos de herencia:
- Herencia simple / única
- Herencia jerárquica
- Herencia multinivel
- Herencia múltiple
En este artículo, vamos a considerar solo la herencia simple / única.
Ejemplo 1:
Ahora, echemos un vistazo a un programa de ejemplo para comprender el concepto de herencia en C++. Hemos definido una clase base y luego derivamos otra clase de ella. Por lo tanto, la clase derivada tendrá las características (miembros y funciones) de la clase base.
#incluirusando el espacio de nombres std;
clase Base_Class
público:
int i;
pantalla vacía ()
cout << "Display of Base Class " << i << endl;
;
clase Derived_Class: public Base_Class
público:
espectáculo vacío ()
cout << "Show of Derived Class" << endl;
;
int main ()
Derived_Class dc;
corriente continua.i = 100;
corriente continua.monitor();
corriente continua.show();
return 0;
Ejemplo 2:
Este es otro ejemplo de herencia en C++. En este ejemplo, veremos cómo se llama a los constructores cuando se crea un objeto de clase derivada.
Como puede ver a continuación, hemos definido dos constructores de clases base y tres constructores de clases derivadas. Puede observar claramente en la siguiente salida que el constructor de la clase base se llama primero antes de que se llame al constructor de la clase derivada.
#incluir#incluir
usando el espacio de nombres std;
clase Base_Class
público:
Clase_base ()
cout << "Base_Class - No Parameters" << endl;
Clase_base (int x)
cout << "Base_Class - Parameters : " << x << endl;
;
clase Derived_Class: public Base_Class
público:
Clase derivada()
cout << "Derived_Class - No Parameters" << endl;
Derived_Class (int y)
cout << "Derived_Class - Parameters : " << y << endl;
Clase_derivada (int x, int y): Clase_base (x)
cout << "Param of Derived_Class : " << y << endl;
;
int main ()
Derived_Class d (7,19);
Ejemplo 3:
En este ejemplo, veremos cómo se pueden usar los objetos de clase derivados.
Como puede ver, hay dos clases definidas: Rectangle_Class y Cube_Class. Rectangle_Class es la clase base de la cual la clase derivada, i.mi., Cube_Class se deriva. Por lo tanto, heredamos las características de Rectangle_Class a Cube_Class.
Además, puede notar que estamos heredando Cube_Class con el control de acceso público. Esto significa que la clase derivada puede acceder a todos los miembros no privados de la clase base.
Hemos declarado un objeto de la clase derivada y luego llamamos a los métodos de la clase base, i.mi., setLength () y setBreadth ().
#incluirusando el espacio de nombres std;
clase Rectangle_Class
privado:
int longitud;
int amplitud;
público:
Rectangle_Class ();
Rectangle_Class (int l, int b);
Rectangle_Class (Rectangle_Class & r);
int getLength ()
longitud de retorno;
int getBreadth ()
amplitud de retorno;
void setLength (int l);
void setBreadth (int b);
int area ();
;
class Cube_Class: public Rectangle_Class
privado:
int altura;
público:
Clase_cubo (int h)
altura = h;
int getHeight ()
altura de retorno;
void setHeight (int h)
altura = h;
int volumen ()
return getLength () * getBreadth () * altura;
;
Rectangle_Class :: Rectangle_Class ()
longitud = 1;
ancho = 1;
Rectangle_Class :: Rectangle_Class (int l, int b)
longitud = l;
ancho = b;
Rectangle_Class :: Rectangle_Class (Rectangle_Class & r)
longitud = r.largo;
ancho = r.amplitud;
vacío Rectangle_Class :: setLength (int l)
longitud = l;
vacío Rectangle_Class :: setBreadth (int b)
ancho = b;
int Rectangle_Class :: area ()
retorno largo * ancho;
int main ()
Cube_Class c (8);
C.setLength (12);
C.setBreadth (9);
cout<<"Volume is "<
Conclusión:
En este artículo, he explicado el concepto de herencia en C++. C ++ admite diferentes tipos de herencia, incluida la "herencia múltiple" (i.mi., heredando características de múltiples clases base o clase padre). Sin embargo, para hacerlo más simple, solo he considerado la herencia única aquí. He mostrado tres ejemplos de trabajo para explicar cómo podemos usar la herencia en la programación C ++ y reutilizar el código. Además, esta es una característica muy útil de C++.