编写程序(多重继承):定义一个动物类 Animal ,成员变量包括: int 型的 m _ nWeight (重量)。成员函数包括: SetWeight ( int nWeight )、 GetWeight ()。由 Animal 类派生出马类 Horse ,添加成员函数: Run (){ cout <<" I can run "<< endl ;}由 Animal 类派生出鸟类 Bird ,添加成员函数: Fly (){ cout <<" I can fly "<< endl ;},由 Horse 类和 Bird 类共同派生出天马类 Pegasus 。
时间: 2024-03-22 13:41:38 浏览: 85
实验一 C++类和对象的应用.doc
5星 · 资源好评率100%
下面是程序的实现:
```cpp
#include <iostream>
using namespace std;
class Animal {
public:
void SetWeight(int nWeight) {
m_nWeight = nWeight;
}
int GetWeight() {
return m_nWeight;
}
protected:
int m_nWeight;
};
class Horse : public Animal {
public:
void Run() {
cout << "I can run" << endl;
}
};
class Bird : public Animal {
public:
void Fly() {
cout << "I can fly" << endl;
}
};
class Pegasus : public Horse, public Bird {
public:
void FlyAndRun() {
cout << "I can fly and run" << endl;
}
};
int main() {
Pegasus pegasus;
pegasus.SetWeight(100);
cout << "Weight of Pegasus: " << pegasus.GetWeight() << endl;
pegasus.Run();
pegasus.Fly();
pegasus.FlyAndRun();
return 0;
}
```
在这个程序中,我们定义了一个 Animal 类,其中包括了重量属性和设置/获取重量的方法。然后我们用 Horse 类和 Bird 类分别继承了 Animal 类,并且添加了 Run() 和 Fly() 方法。最后,我们用 Pegasus 类同时继承了 Horse 类和 Bird 类,从而实现了多重继承。Pegasus 类还添加了 FlyAndRun() 方法来演示同时拥有 Horse 类和 Bird 类的方法。在 main() 函数中,我们创建了一个 Pegasus 对象,并且演示了它的方法的使用。
阅读全文