一.问题描述
二 问题描述
公有派生圆类Circle以点类Point为基类,相较于点类Point,Circle类的结构说明如下:
Circle类的数据成员包括:
①私有数据成员:X坐标x继承自Point类,Y坐标y继承自Point类。
②静态数据常量PI(double型),其值为3.14159
③私有数据成员:半径radius(double型)。
Circle类成员函数包括:
①定义有参构造函数①定义有参构造函数Circle(double, double, double)和拷贝构造函数Circle(Circle &),其中有参构造函数参数包括圆心坐标和半径,圆心调用Point类构造函数进行构造,各参数默认值为0,输出信息“Circle Constructor run”,拷贝构造函数输出信息“Circle CopyConstructor run”
②定义析构函数,析构函数输出信息“Circle Destructor run”
③定义公有函数成员:void setRadius(double)和double getRadius() const分别返回和设置radius
④定义公有成员函数double circumference() const用于计算圆的周长
⑤重载double area() const用于计算圆的面积
⑥重载void show() const用于显示圆的信息,显示格式为:
(圆心X坐标,圆心Y坐标),Radius=半径
三 代码实现
static const double PI=3.14159;
class Circle: public Point
{
private:
double radius;
public:
Circle(double a=0, double b=0, double r=0)
{
setX(a);
setY(b);
radius=r;
cout<<"Circle Constructor run"<<endl;
}
Circle(Circle &c):Point(c)
{
cout<<"Circle CopyConstructor run"<<endl;
}
~Circle()
{
cout<<"Circle Destructor run"<<endl;
}
void setRadius(double r)
{
radius=r;
}
double getRadius() const
{
return radius;
}
double circumference() const
{
return PI*2*radius;
}
double area() const
{
return PI*radius*radius;
}
void show() const
{
Point::show();
cout<<","<<"Radius="<<radius;
}
};
标签:const,Point,double,天天,radius,小时,打卡,Circle,构造函数 From: https://www.cnblogs.com/my0326/p/17372368.html