Introducción
En este laboratorio, aprenderá a demostrar el concepto de Herencia de Nivel único en el lenguaje de programación C++. Creará dos clases, una clase padre y una clase hija, donde la clase hija (clase derivada) hereda las características (propiedades y métodos) de la clase padre (clase base o super clase).
Crea el archivo main.cpp
Primero, crea un archivo main.cpp en el directorio ~/project usando el siguiente comando:
touch ~/project/main.cpp
Escribe el código
Copia y pega el siguiente código en tu archivo main.cpp:
#include <iostream>
// Incluyendo las bibliotecas necesarias
using namespace std;
// Declarando una clase padre (clase base) llamada "Shape"
class Shape {
public:
float area(float l, float b) { // Método para calcular el Área de la Figura
return (l * b);
}
float perimeter(float l, float b) { // Método para calcular el Perímetro de la Figura
return (2 * (l + b));
}
};
// Declarando una clase hija (clase derivada) llamada "Rectangle" que deriva o hereda de la clase Shape
class Rectangle: private Shape {
private:
float length,
breadth;
public:
Rectangle(): length(0.0), breadth(0.0) {} // Constructor por defecto de Rectangle
void getDimensions() { // Método para obtener las dimensiones del Rectángulo del usuario
cout << "\nIngrese la longitud del Rectángulo: ";
cin >> length;
cout << "\nIngrese el ancho del Rectángulo: ";
cin >> breadth;
}
// Método para Calcular el perímetro del Rectángulo usando la Clase Shape
float perimeter() {
// Llama al método perimeter() de la clase Shape y lo devuelve.
return Shape::perimeter(length, breadth);
}
// Método para Calcular el área del Rectángulo usando la Clase Shape
float area() {
// Llama al método area() de la clase Shape y lo devuelve.
return Shape::area(length, breadth);
}
};
int main() {
// Creando un objeto de la clase Rectangle
Rectangle rect;
// Mensaje de bienvenida
cout << "\n\nBienvenido al Programa de Herencia de Nivel Único!\n";
// Mensaje al usuario
cout << "\nLa clase Rectangle se deriva de la clase Shape.\n\n";
// Obteniendo las dimensiones del Rectángulo del usuario
rect.getDimensions();
// Calculando el Perímetro del Rectángulo usando la Clase Padre Shape y mostrando la salida
cout << "\nPerímetro del Rectángulo calculado usando la Clase Padre Shape: " << rect.perimeter() << "\n";
// Calculando el Área del Rectángulo usando la Clase Padre Shape y mostrando la salida
cout << "Área del Rectángulo calculada usando la Clase Padre Shape: " << rect.area() << "\n\n";
return 0;
}
Compila y ejecuta el código
A continuación, compila el código usando el siguiente comando:
g++ main.cpp -o main &&./main
Luego, ejecuta el código usando el siguiente comando:
./main
Comprende la salida
Después de ejecutar el programa, verás la siguiente salida:
Welcome to Single Level Inheritance Program!
Rectangle class is derived from the Shape class.
Enter the length of the Rectangle: 5
Enter the breadth of the Rectangle: 10
Perimeter of the Rectangle computed using the parent Class Shape: 30
Area of the Rectangle computed using the parent Class Shape: 50
El programa le pide al usuario que ingrese la longitud y el ancho del rectángulo. Después de obtener las dimensiones, calcula el perímetro y el área usando las funciones perimeter() y area() de la clase padre Shape.
Resumen
¡Felicidades! Has escrito con éxito un programa en C++ que demuestra el concepto de herencia de un solo nivel. Puedes experimentar con diferentes formas y la salida reflejará con precisión los cálculos para cualquier nueva clase derivada.



