``` class chicken { private: /* data */ int age; double weight; public: ```
时间: 2024-09-28 18:06:53 浏览: 31
```cpp
// 构造函数,初始化鸡的年龄和重量
chicken(int initialAge, double initialWeight) {
age = initialAge;
weight = initialWeight;
}
// 设置年龄方法
void setAge(int newAge) {
if (newAge >= 0) { // 防止年龄小于0
age = newAge;
}
}
// 获取年龄方法
int getAge() const {
return age;
}
// 设置体重方法
void setWeight(double newWeight) {
if (newWeight > 0.0) { // 防止体重为负或零
weight = newWeight;
}
}
// 获取体重方法
double getWeight() const {
return weight;
}
// 鸡叫方法,简单实现打印一条消息
void makeSound() {
std::cout << "喔喔喔!(" << age << "岁," << weight << "kg)" << std::endl;
}
// 老化方法,增加鸡的年龄
void ageByOneYear() {
age++;
}
// 重写虚函数,用于多态性,当鸡死亡时触发
virtual ~chicken() {
std::cout << "这只鸡去世了,年龄:" << age << "岁,体重:" << weight << "kg" << std::endl;
}
};
int main() {
chicken myChicken(1, 2.5);
myChicken.setAge(3);
myChicken.setWeight(2.8);
myChicken.makeSound();
myChicken.ageByOneYear();
return 0;
}
```
这段代码定义了一个名为`chicken`的类,它包含了鸡的基本属性(年龄和体重),以及设置、获取这些属性的方法。还提供了叫声功能(makeSound)和老化功能(ageByOneYear)。在`main`函数中创建了一个实例并进行了相关操作。`~chicken`是一个析构函数,表示鸡对象被销毁时的行为。由于这是一个基础的示例,这里假设鸡是虚拟继承的,以便于在其他继承自`chicken`的子类中进行多态应用。
阅读全文