c++设计一个宠物类,要求在主函数中定义对象并调用相应成员
时间: 2024-11-22 07:41:09 浏览: 24
在 C++ 中,我们可以设计一个简单的宠物类(Pet),包含基本的属性如名称、品种和年龄,以及一些常用的行为方法,比如吃饭(eat)、玩耍(play)。以下是一个基础的宠物类和主函数示例:
```cpp
// Pet.h
class Pet {
public:
// 构造函数
Pet(const std::string& name, const std::string& species, int age)
: name(name), species(species), age(age) {}
// 数据成员
std::string name;
std::string species;
int age;
// 成员函数
void eat() const {
std::cout << "宠物 " << name << " 正在吃东西..." << std::endl;
}
void play() const {
std::cout << "宠物 " << name << " 正在玩..." << std::endl;
}
private:
// 防止直接修改年龄
friend class AnimalCaretaker; // 只允许AnimalCaretaker类修改年龄
};
// AnimalCaretaker.cpp (假设在这个文件里有一个AnimalCaretaker类用于管理宠物)
class AnimalCaretaker {
public:
void careFor(Pet& pet, bool feeding = true) {
if (feeding) {
pet.eat();
} else {
pet.play();
}
}
};
int main() {
// 创建一个宠物对象
Pet myDog("旺财", "金毛", 5);
// 使用 AnimalCaretaker 类来管理这个宠物
AnimalCaretaker caretaker;
caretaker.careFor(myDog); // 默认喂食
caretaker.careFor(myDog, false); // 这次玩耍
return 0;
}
```
在这个例子中,`main` 函数创建了一个 `Pet` 对象,并通过 `AnimalCaretaker` 类的 `careFor` 函数调用了宠物的行为方法。这展示了如何在 C++ 中设计一个简单的宠物类及其相应的操作。
阅读全文