本题要求完成一个圆类的定义,设计适当的函数:包括构造函数、拷贝构造函数以及析构函数,从而可以通过测试程序输出样例
在这里给出一组输入。例如:
5
输出样例:
在这里给出相应的输出。例如:
Constructor called
Copy constructor called
78.5
31.4
Destructor called
Destructor called
中的结果。(圆周率取值3.14)
代码实现:
#include<iostream>
using namespace std;
/* 请在这里填写答案 */
class Circle{
private:
int r;
public:
Circle(int r):r(r){
cout<<"Constructor called"<<endl;
}
Circle(Circle &a){
r = a.r;
cout<<"Copy constructor called"<<endl;
}
double area(){
return 3.14*r*r;
}
double perimeter(){
return 2*3.14*r;
}
~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;
}