高手,急解决

来源:百度知道 编辑:UC知道 时间:2024/05/22 17:13:40
设计两个类:点(Point)和圆(Circle),具体要求如下:
(1) Point类具有私有数据成员x,y用于存放点的坐标,设计保护成员函数GetX( )和GetY( ) 取得两个坐标的值;
(2) 给Point类添加构造函数,实现对圆心坐标的初始化;
(3) Circle类从Point类共有派生,增加一个私有数据成员r存储圆的半径,和两个保护成员函数:计算圆面积的Area( )和计算周长的Girth( )并实现;
(4) 编写Circle类的构造函数,实现对圆心坐标和半径的初始化;
(5) 给Circle类设计一个共有类成员函数Display( ),在该成员函数中显示圆心坐标、半径、面积和周长;
(6) 在主函数中声明一个Circle类的对象,输入圆心和半径,通过调用成员函数Display( ),显示其圆心坐标、半径、面积和周长。

#include <iostream>

using namespace std;

class point
{
public:
point(int a,int b):x(a),y(b) {}
int GetX()
{
return x;
}
int GetY()
{
return y;
}
protected:
int x;
int y;
};

class circle : public point
{
public:
circle(int a,int b,double r):point(a,b),_r(r) {}
const double Area()
{
return (3.1415926*_r*_r);
}
const double Girth()
{
return (2*3.1415926*_r);
}
void Display()
{
cout<<"x:"<<this->x<<"y:"<<this->y<<endl;
cout<<"r:"<<this->_r<<endl;
cout<<"area:"<<this->Area()<<endl;
cout<<"girth:"<<this->Girth()<<endl;
}
private:
double _r;
};

int main()
{
circle