Introducción
En este laboratorio, demostraremos cómo crear un programa en C++ que demuestre el concepto de Herencia Jerárquica. Escribiremos un programa sencillo usando clases y objetos para entender mejor el tema.
💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí
En este laboratorio, demostraremos cómo crear un programa en C++ que demuestre el concepto de Herencia Jerárquica. Escribiremos un programa sencillo usando clases y objetos para entender mejor el tema.
main.cpp
Creamos un nuevo archivo llamado main.cpp
en el directorio ~/project
con el siguiente comando:
touch ~/project/main.cpp
Shape
Lo primero que debemos hacer es definir la clase Shape
, que servirá como clase padre para las clases Rectangle
y Triangle
. En esta clase, crearemos dos variables miembro protegidas width
y height
que almacenarán el ancho y el alto de la forma.
Luego, crearemos una función miembro pública setDimensions
que establecerá estas dimensiones y mostrará un mensaje en la consola.
Este es el bloque de código para la clase Shape
que debe agregarse a main.cpp
:
#include <iostream>
using namespace std;
class Shape {
//las variables miembro protegidas solo son accesibles dentro de la clase y sus clases descendientes
protected:
float width, height;
//los miembros públicos son accesibles en cualquier lugar
public:
void setDimensions(float w, float h) {
cout << "Setting the Dimensions using the parent Class: Shape\n";
cout << "The dimensions are: " << w << " and " << h << "\n\n";
width = w;
height = h;
}
};
Rectangle
A continuación, crearemos la clase Rectangle
que heredará de la clase Shape
. Aquí, usaremos una técnica de anulación de métodos para calcular el área del rectángulo usando la función area()
.
Este es el bloque de código para la clase Rectangle
que debe agregarse a main.cpp
:
class Rectangle: public Shape {
//Anulación de métodos
public:
float area() {
return (width * height);
}
};
Triangle
Ahora, creemos la clase Triangle
que también heredará de la clase Shape
. Aquí, usaremos la anulación de métodos para calcular el área del triángulo usando la función area()
.
Este es el bloque de código para la clase Triangle
que debe agregarse a main.cpp
:
class Triangle: public Shape {
//Anulación de métodos
public:
float area() {
return (width * height / 2);
}
};
main()
Ahora es el momento de escribir la función main()
. Aquí, crearemos objetos para las clases Rectangle
y Triangle
y estableceremos sus dimensiones.
Luego usaremos la función area()
para calcular el área tanto del Rectangle
como del Triangle
usando sus respectivos objetos.
Este es el bloque de código para la función main()
que debe agregarse a main.cpp
:
int main() {
cout << "\n\nWelcome to LabEx :-)\n\n\n";
cout << "===== Program to demonstrate the concept of Hierarchical Inheritance in CPP =====\n\n";
//Declaring the Class objects to access the class members
Rectangle rectangle;
Triangle triangle;
rectangle.setDimensions(5, 3);
triangle.setDimensions(2, 5);
cout << "\nArea of the Rectangle computed using Rectangle Class is : " << rectangle.area() << "\n\n\n";
cout << "Area of the Triangle computed using Triangle Class is: " << triangle.area();
cout << "\n\n\n";
return 0;
}
Para ejecutar el programa en la terminal, primero, navega hasta ~/project
. Luego escribe el siguiente comando para compilar el archivo main.cpp
:
g++ main.cpp -o main
Después, ejecuta el programa con el siguiente comando:
./main
Deberías ver la salida en la terminal.
En este laboratorio, hemos aprendido cómo demostrar el concepto de Herencia Jerárquica en C++. Creamos la clase Shape
, que era la clase padre de tanto Rectangle
como Triangle
. Luego creamos objetos para cada una de las clases hijas y usamos la anulación de métodos para encontrar el área de un rectángulo y un triángulo.
Esperamos que este laboratorio te haya ayudado a desarrollar una mejor comprensión de cómo funciona la Herencia Jerárquica en C++. Para cualquier consulta, no dudes en contactarnos a través de la sección de comentarios a continuación.