COMPARTE ESTE ARTÍCULO

Voy a proporcionar dos ejercicios para practicar en C++ que cubren los conceptos de punteros, clases, métodos virtuales y override. También incluiré soluciones para cada uno de ellos.

Ejercicio 1: Jerarquía de Clases con Método Virtual y Punteros

Objetivo: Crear una jerarquía de clases con un método virtual y demostrar el polimorfismo utilizando punteros.

Descripción del Ejercicio

  1. Define una clase base llamada Vehicle que tenga un método virtual llamado displayInfo().
  2. Crea dos clases derivadas: Car y Bike.
  3. En cada clase derivada, override el método displayInfo() para que muestre información específica del vehículo.
  4. En la función main(), crea un objeto de tipo Car y otro de tipo Bike utilizando punteros de tipo Vehicle. Utiliza estos punteros para llamar al método displayInfo().

Código Base para el Ejercicio

#include <iostream>

class Vehicle {
public:
    virtual void displayInfo() = 0; // Método virtual puro
    virtual ~Vehicle() {} // Destructor virtual
};

class Car : public Vehicle {
public:
    void displayInfo() override {
        std::cout << "This is a Car." << std::endl;
    }
};

class Bike : public Vehicle {
public:
    void displayInfo() override {
        std::cout << "This is a Bike." << std::endl;
    }
};

int main() {
    Vehicle* v1 = new Car();
    Vehicle* v2 = new Bike();

    v1->displayInfo();
    v2->displayInfo();

    delete v1;
    delete v2;

    return 0;
}

Ejercicio 2: Manipulación de Objetos mediante Punteros

Objetivo: Practicar la manipulación de objetos de clases utilizando punteros y funciones miembro.

Descripción del Ejercicio

  1. Crea una clase llamada Rectangle que tenga dos atributos privados: width y height.
  2. Añade métodos públicos para establecer y obtener los valores de width y height.
  3. Implementa un método llamado area() que calcule y devuelva el área del rectángulo.
  4. En main(), crea un objeto Rectangle utilizando un puntero, establece sus dimensiones y muestra el área utilizando el puntero.

Código Base para el Ejercicio

#include <iostream>

class Rectangle {
private:
    int width, height;
public:
    void setDimensions(int w, int h) {
        width = w;
        height = h;
    }

    int getWidth() {
        return width;
    }

    int getHeight() {
        return height;
    }

    int area() {
        return width * height;
    }
};

int main() {
    Rectangle* r = new Rectangle();
    r->setDimensions(5, 10);

    std::cout << "Area of Rectangle: " << r->area() << std::endl;

    delete r;

    return 0;
}

Soluciones

Las soluciones ya están incluidas en los códigos base proporcionados. Estos ejercicios te permitirán practicar la creación y manipulación de objetos mediante punteros, así como la implementación de polimorfismo utilizando métodos virtuales y la palabra clave override.


¿QUÉ TE HA PARECIDO EL ARTÍCULO? Danos tu opinión al final de la página.
Deja tu comentario y ayúdanos a crecer.


¡SÍGUENOS EN TUS REDES FAVORITAS!
AYUDANOS A CRECER Y QUE LLEGUEMOS A TODAS LAS PERSONAS QUE NOS NECESITANA. SÍGUENOS EN TUS REDES.
Entra AQUÍ y elíge donde seguirnos. 

 

 


NUESTRAS ÚLTIMAS PUBLICACIONES

AYUDANOS A CRECER Y A LLEGAR A TODAS LAS PERSONAS QUE NOS NECESITAN.

Contenido restringido

Acceso de usuarios existentes
   
Registro de un nuevo usuario
*Campo necesario

Categories:

Tags:

Comments are closed

Estado de acceso
ESTADO DE ACCESO
TRADUCTORES
COMPARTENOS
error: CONTENIDO PROTEGIDO