圆类的定义与使用(拷贝构造函数) (25 分)
本题要求完成一个圆类的定义,
设计适当的函数:包括构造函数、拷贝构造函数以及析构函数,从而可以通过测试程序输出样例中的结果。(圆周率取值3.14)
函数接口定义:
//定义一个圆类
class Circle
输入样例:
在这里给出一组输入。例如:
5
输出样例:
在这里给出相应的输出。例如:
Constructor called
Copy constructor called
78.5
31.4
Destructor called
Destructor called
#include<iostream>
using namespace std;
/* 请在这里填写答案 */
class Circle
{
private:
double r;
public:
Circle(double r)
{cout << "Constructor called" << endl;
this->r = r;
}
Circle(Circle& c)
{
this->r = c.r;
cout << "Copy constructor called" << endl;
}
double area()
{
return 3.14 * r * r;
}
double perimeter()
{
return 3.14 * r * 2;
}
~Circle()
{
cout << "Destructor called" << endl;
}
};
int main()
{
float r;
cin >> r;
Circle c1(r);
Circle c2(c1);
cout << c1.area() << endl;//计算圆面积
cout << c2.perimeter() << endl;//计算圆周长
return 0;
}