用C++完成一个圆类的定义,设计适当的函数:包括构造函数、拷贝构造函数以及析构函数,从而可以通过测试程序输出样例中的结果。(圆周率取值3.14)
时间: 2023-05-20 18:06:43 浏览: 144
好的,以下是圆类的定义和相应的函数:
```c++
class Circle {
public:
Circle(double r); // 构造函数
Circle(const Circle& other); // 拷贝构造函数
~Circle(); // 析构函数
double getArea() const; // 获取圆的面积
double getPerimeter() const; // 获取圆的周长
private:
double radius; // 圆的半径
};
```
其中,构造函数和析构函数的实现如下:
```c++
Circle::Circle(double r) : radius(r) {}
Circle::~Circle() {}
```
拷贝构造函数的实现如下:
```c++
Circle::Circle(const Circle& other) : radius(other.radius) {}
```
获取圆的面积和周长的函数实现如下:
```c++
double Circle::getArea() const {
return 3.14 * radius * radius;
}
double Circle::getPerimeter() const {
return 2 * 3.14 * radius;
}
```
通过测试程序输出样例中的结果的代码如下:
```c++
#include <iostream>
using namespace std;
int main() {
Circle c(2.0);
Circle c2(c);
cout << "Area: " << c.getArea() << endl;
cout << "Perimeter: " << c.getPerimeter() << endl;
cout << "Area of c2: " << c2.getArea() << endl;
cout << "Perimeter of c2: " << c2.getPerimeter() << endl;
return 0;
}
```
输出结果如下:
```
Area: 12.56
Perimeter: 12.56
Area of c2: 12.56
Perimeter of c2: 12.56
```
阅读全文