Clase Animal en C++ con métodos de sonido y movimiento, y clases derivadas para perros y gatos

En este ejercicio, escribirás una clase de C++ llamada "Animal" con dos métodos: makeSound y move. Esta clase servirá como clase base para otros tipos de animales. Después, crearás clases derivadas, como "Dog" y "Cat", que heredarán de la clase "Animal" y sobrescribirán estos métodos para implementar el comportamiento específico de cada animal. Este ejercicio te ayudará a comprender cómo funcionan la herencia y la sobreescritura de métodos en la programación orientada a objetos en C++.

Grupo

Programación Orientada a Objetos en C++

Ojetivo

1. Define una clase base llamada "Animal" con dos métodos: makeSound y move.
2. Implementa el método makeSound para generar un sonido genérico y el método move para generar un movimiento genérico.
3. Crea dos clases derivadas: "Dog" y "Cat", que heredan de la clase "Animal".
4. Sobrescribe los métodos makeSound y move en las clases Dog y Cat para reflejar su comportamiento específico.
5. En la función principal, crea instancias de Dog y Cat, e invoca los métodos makeSound y move para cada una.

Escribe una clase Animal con los métodos makeSound y move, y luego crea clases derivadas como Dog y Cat.

Ejemplo de Código C++

 Copiar Código C++
#include <iostream>  // Include the standard input/output library
using namespace std;

// Define the base class 'Animal'
class Animal {
public:
    // Method to make a sound (generic)
    virtual void makeSound() {
        cout << "The animal makes a sound." << endl;
    }

    // Method to move (generic)
    virtual void move() {
        cout << "The animal moves." << endl;
    }

    // Virtual destructor
    virtual ~Animal() {}
};

// Define the derived class 'Dog' which inherits from 'Animal'
class Dog : public Animal {
public:
    // Override makeSound method for Dog
    void makeSound() override {
        cout << "The dog barks." << endl;
    }

    // Override move method for Dog
    void move() override {
        cout << "The dog runs." << endl;
    }
};

// Define the derived class 'Cat' which inherits from 'Animal'
class Cat : public Animal {
public:
    // Override makeSound method for Cat
    void makeSound() override {
        cout << "The cat meows." << endl;
    }

    // Override move method for Cat
    void move() override {
        cout << "The cat walks gracefully." << endl;
    }
};

int main() {
    // Create a Dog object and call its methods
    Dog myDog;
    myDog.makeSound();  // Dog-specific sound
    myDog.move();       // Dog-specific movement

    // Create a Cat object and call its methods
    Cat myCat;
    myCat.makeSound();  // Cat-specific sound
    myCat.move();       // Cat-specific movement

    return 0;  // Return 0 to indicate successful execution
}

 Salida

The dog barks.
The dog runs.
The cat meows.
The cat walks gracefully.

Comparte este ejercicio C++

Más ejercicios de programación C++Programación Orientada a Objetos en C++

¡Explora el conjunto de ejercicios de programación en C++! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C++. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C++.