Objetivo: Desarrollar una comprensión práctica de cómo las clases base y derivadas interactúan en C++, utilizando punteros y métodos virtuales para lograr el polimorfismo.
Descripción del Ejercicio
- Crea una clase base llamada
Shape
que tenga un método virtual llamadocalculateArea()
y un destructor virtual. - Desarrolla dos clases derivadas:
Circle
ySquare
. Cada una debe sobrescribir el métodocalculateArea()
. - En la clase
Circle
, utiliza un atributoradius
, y enSquare
, utiliza un atributoside
para sus cálculos respectivos. - En la función
main()
, crea un vector de punteros de tipoShape
y rellénalo con instancias deCircle
ySquare
. Itera sobre el vector para mostrar las áreas calculadas por los objetos. - Asegúrate de liberar cualquier memoria asignada antes de que finalice el programa.
Código Base para el Ejercicio
#include <iostream>
#include <vector>
class Shape {
public:
virtual double calculateArea() = 0; // Método virtual puro
virtual ~Shape() {} // Destructor virtual para limpieza adecuada
};
class Circle : public Shape {
private:
double radius;
public:
Circle(double r) : radius(r) {}
double calculateArea() override {
return 3.14159 * radius * radius;
}
};
class Square : public Shape {
private:
double side;
public:
Square(double s) : side(s) {}
double calculateArea() override {
return side * side;
}
};
int main() {
std::vector<Shape*> shapes;
shapes.push_back(new Circle(5));
shapes.push_back(new Square(4));
for (auto& shape : shapes) {
std::cout << "The area is: " << shape->calculateArea() << std::endl;
}
// Clean up
for (auto& shape : shapes) {
delete shape;
}
shapes.clear();
return 0;
}
… … …
¡Coméntanos que te ha parecido este artículo al final de la página!
TÚ OPINIÓN IMPORTA
![](https://i0.wp.com/academiasanroque.com/wp-content/uploads/2024/04/imagen-web-academia-sanroque-13.jpg?resize=886%2C886&ssl=1)
NUESTRAS ÚLTIMAS PUBLICACIONES
- Fundamentos Teóricos de PHP, MySQL, phpMyAdmin, Métodos GET y POST, y el Concepto de CRUD
- Introducción a PHP, MySQL, phpMyAdmin y Cómo Crear un CRUD en PHP para Principiantes
- Teoría y Práctica: PHP, MySQL, phpMyAdmin y Cómo Crear un CRUD en PHP
- Título del Artículo: Cómo Crear un Formulario en PHP con PDO para Insertar Datos en una Base de Datos
- Título del Artículo: Cómo Crear un Formulario en PHP para Insertar Datos en una Base de Datos
- Crear un Formulario en PHP para Resolver Ecuaciones de Segundo Grado
- Los tartesos.
- La ciencias y grandes personajes.
- Cómo Activar las Teclas de Función (F1, F2, F3, etc.) desde la BIOS en un Asus ZenBook UX363EA
Contenido restringido
Comments are closed