C++定义一个圆形类,属性有半径和相应的成员函数。 然后定义一个正方形类,属性有边长和相应的成员函数。 再编写一个组合类,由一个正方形和一个圆形组成。 根据“append.cc”,完成Circle类,Box类和NewStyle的构造析构方法和show()方法。 接口描述: Circle::show()方法:按格式输出Circle对象。 Box::show()方法:按格式输出Box对象。 NewStyle::show()方法:按格式输出NewStyle对象。
时间: 2024-02-18 20:00:26 浏览: 113
好的,我可以帮你回答这个问题。
首先,我们可以定义一个圆形类:
```cpp
class Circle {
public:
Circle(double r) : radius(r) {}
double area() { return 3.14 * radius * radius; }
double perimeter() { return 2 * 3.14 * radius; }
void show() { cout << "Circle: radius = " << radius << endl; }
private:
double radius;
};
```
其中,`Circle` 类有一个私有属性 `radius` 表示半径,一个公有构造函数 `Circle` 用于初始化半径,一个公有成员函数 `area` 用于计算面积,一个公有成员函数 `perimeter` 用于计算周长,一个公有成员函数 `show` 用于按格式输出 `Circle` 对象。
接下来,我们可以定义一个正方形类:
```cpp
class Square {
public:
Square(double s) : side(s) {}
double area() { return side * side; }
double perimeter() { return 4 * side; }
void show() { cout << "Square: side = " << side << endl; }
private:
double side;
};
```
其中,`Square` 类有一个私有属性 `side` 表示边长,一个公有构造函数 `Square` 用于初始化边长,一个公有成员函数 `area` 用于计算面积,一个公有成员函数 `perimeter` 用于计算周长,一个公有成员函数 `show` 用于按格式输出 `Square` 对象。
最后,我们可以定义一个组合类,由一个正方形和一个圆形组成:
```cpp
class NewStyle {
public:
NewStyle(double r, double s) : circle(r), square(s) {}
void show() {
circle.show();
square.show();
cout << "NewStyle: total area = " << circle.area() + square.area() << endl;
cout << "NewStyle: total perimeter = " << circle.perimeter() + square.perimeter() << endl;
}
private:
Circle circle;
Square square;
};
```
其中,`NewStyle` 类有两个私有属性 `circle` 和 `square` 表示圆形和正方形,一个公有构造函数 `NewStyle` 用于初始化圆形和正方形,一个公有成员函数 `show` 用于按格式输出 `NewStyle` 对象,并且调用圆形和正方形的 `show` 方法、计算总面积和总周长。
这样,我们就完成了 `Circle` 类、`Square` 类和 `NewStyle` 类的定义,以及它们的构造函数、析构函数和成员函数 `show`。
阅读全文