#include <iostream>
#include <string>
class Animal {
public:
Animal(const std::string& name) : name(name) {}
void eat() const {
std::cout << name << " is eating." << std::endl;
}
void sleep() const {
std::cout << name << " is sleeping." << std::endl;
}
private:
std::string name;
};
class Dog : public Animal {
public:
Dog(const std::string& name, const std::string& breed)
: Animal(name), breed(breed) {}
void bark() const {
std::cout << "Woof! Woof!" << std::endl;
}
private:
std::string breed;
};
int main() {
Animal genericAnimal("Generic Animal");
genericAnimal.eat();
genericAnimal.sleep();
Dog myDog("Buddy", "Golden Retriever");
myDog.eat();
myDog.sleep();
myDog.bark();
return 0;
}