c++编写程序,定义一个圆类circle和一个卓子类table,实现一个圆桌类roundtable,它是从前两个类派生的,要求输出一个圆桌的高度,面积和颜色等数据
时间: 2024-02-18 07:03:23 浏览: 68
以下是一个可能的实现:
```cpp
#include <iostream>
using namespace std;
class Circle {
protected:
double radius;
public:
Circle(double r) : radius(r) {}
double getArea() const {
return 3.14 * radius * radius;
}
double getPerimeter() const {
return 2 * 3.14 * radius;
}
void setColor(string color) {
this->color = color;
}
string getColor() const {
return color;
}
private:
string color;
};
class Table {
protected:
double height;
public:
Table(double h, string c) : height(h), color(c) {}
string getColor() const {
return color;
}
private:
string color;
};
class RoundTable : public Circle, public Table {
public:
RoundTable(double r, double h, string c) : Circle(r), Table(h, c) {}
void printData() const {
cout << "圆桌的高度为:" << height << endl;
cout << "圆桌的面积为:" << getArea() << endl;
cout << "圆桌的颜色为:" << getColor() << endl;
}
};
int main() {
RoundTable rt(1.5, 0.8, "白色");
rt.printData();
return 0;
}
```
在这个实现中,我们定义了三个类:圆类 `Circle`、桌子类 `Table` 和圆桌类 `RoundTable`。圆类有计算面积和周长的方法以及设置颜色的方法。桌子类有高度和颜色两个属性。圆桌类从圆类和桌子类派生,继承了圆的属性和方法,同时添加了高度和颜色属性,并定义了一个新的方法 `printData` 用于输出数据。在测试代码中,我们创建一个圆桌对象并调用其 `printData` 方法输出数据。
阅读全文