出一个多重继承的c++
时间: 2023-11-22 16:56:17 浏览: 30
好的,下面是一个简单的多重继承的 C++ 示例代码:
```c++
#include <iostream>
using namespace std;
// 基类 Shape
class Shape {
public:
void setWidth(int w) {
width = w;
}
void setHeight(int h) {
height = h;
}
protected:
int width;
int height;
};
// 基类 PaintCost
class PaintCost {
public:
int getCost(int area) {
return area * 70;
}
};
// 派生类 Rectangle
class Rectangle: public Shape, public PaintCost {
public:
int getArea() {
return (width * height);
}
};
int main() {
Rectangle rect;
rect.setWidth(5);
rect.setHeight(7);
int area = rect.getArea();
int cost = rect.getCost(area);
cout << "矩形面积:" << area << endl;
cout << "涂料成本:" << cost << endl;
return 0;
}
```
在上面的代码中,我们定义了一个 Shape 基类和一个 PaintCost 基类,然后定义了一个 Rectangle 派生类,该派生类同时继承了 Shape 和 PaintCost 两个基类。
在 main 函数中,我们创建了一个 Rectangle 类型的对象 rect,并调用其 setWidth 和 setHeight 方法设置矩形的宽度和高度。然后通过调用 getArea 方法计算矩形的面积,再通过调用 getCost 方法计算矩形涂料的成本。
输出结果如下:
```
矩形面积:35
涂料成本:2450
```
这个例子中,多重继承使得 Rectangle 类同时具有 Shape 和 PaintCost 两个基类的特性。