Circle

定义一个圆类(Circle),属性为半径(radius)、圆周长和面积,操作为输入半径并计 算周长、面积,输出半径、周长和面积。要求定义构造函数(以半径为参数,缺省值为 0, 周长和面积在构造函数中生成)和拷贝构造函数。 解:通常所有数据成员都在构造函数中赋初值。拷贝构造函数以本类的引用为参数。

#include<iostream>
#include<cmath> 
using namespace std; 

class Circle
{
	double r,Area,Circumference;
public:
	Circle(double a=0);
	Circle(Circle &);
	void SetR(double R);
	double GetR(){return r;}
	double GetAreaCircle(){return Area;}
	double GetCircumference(){return Circumference;}
};


Circle::Circle(double a)
{ 
	r=a; 
	Area=r*r*3.14159265;
	Circumference=2*r*3.14159265;
}

Circle::Circle(Circle & cl)
{
	r=cl.r; 
	Area=cl.Area; 
	Circumference=cl.Circumference;
}

void Circle::SetR(double R)
{ 
	r=R; 
	Area=r*r*3.14159265;
	Circumference=2*r*3.14159265;
}


int main()
{
	Circle cl1(2),cl2,cl3=cl1;
	cout<<"圆半径:"<<cl3.GetR()<<'\t'<<"圆周长:"<<cl3.GetCircumference()<<'\t'<<"圆面积:"<<cl3.GetAreaCircle()<<endl; 
	cl2.SetR(4); 
	cout<<"圆半径:"<<cl2.GetR()<<'\t'<<"圆周长:"<<cl2.GetCircumference()<<'\t'<<"圆面积:"<<cl2.GetAreaCircle()<<endl;
	return 0;
}

Circle