设计一个圆类circle和一个桌子类table,设计一个圆桌类roundtable,它是从前两个类中派生的,要求输出圆桌的高度、面积和颜色数据。
时间: 2024-12-11 11:27:46 浏览: 9
为了设计这个圆桌类RoundTable,我们可以首先创建Circle类和Table类作为基础,然后再从它们中派生出RoundTable类,加入额外的属性如高度、颜色等。以下是基本的设计思路:
```cpp
#include <iostream>
// 圆类Circle
class Circle {
public:
Circle(double radius, std::string color)
: radius_(radius), color_(color) {}
double getArea() const {
return M_PI * pow(radius_, 2);
}
std::string getColor() const {
return color_;
}
private:
double radius_;
std::string color_;
};
// 桌子类Table
class Table {
public:
Table(double height, std::string color)
: height_(height), color_(color) {}
double getHeight() const {
return height_;
}
std::string getColor() const {
return color_;
}
private:
double height_;
std::string color_;
};
// 圆桌类RoundTable (从Circle和Table派生)
class RoundTable : public Circle, public Table {
public:
RoundTable(double table_radius, double height, std::string color)
: Circle(table_radius, color), Table(height, color) {}
// 输出圆桌的相关信息
void displayInfo() const {
std::cout << "RoundTable:\n";
std::cout << "Height: " << getHeight() << "m\n";
std::cout << "Area: " << getArea() << "sq.m\n";
std::cout << "Color: " << getColor() << "\n";
}
};
```
现在,你可以创建一个`RoundTable`对象并调用`displayInfo()` 来获取相关信息。
阅读全文