请以点类Point为基类派生出一个圆类Circle。圆类Circle的数据成员为r(私有属性,存储圆的半径,圆心的点坐标通过继承点类Point加以实现),成员函数有构造函数Circle、计算圆的面积函数Area、计算圆的周长函数Perimeter和输出函数Display,其中构造函数实现基类和圆类的数据成员的初始化,Display函数实现圆心坐标(利用基类Point的Display实现)、圆的半径、圆的面积(利用Area函数实现)和圆的周长(利用Perimeter函数实现)的输出。请编写圆类的定义及成员函数实现,并在主函数中定义圆类对象,验证各个函数的正确性。
时间: 2023-04-03 20:01:23 浏览: 189
给定点类(Point),请完成圆类(Circle)
圆类的定义及成员函数实现如下:
```c++
#include<iostream>
using namespace std;
class Point{
protected:
double x, y;
public:
Point(double a=, double b=):x(a), y(b){}
void Display(){
cout<<"("<<x<<","<<y<<")";
}
};
class Circle:public Point{
private:
double r;
public:
Circle(double a=, double b=, double c=):Point(a,b),r(c){}
double Area(){
return 3.14*r*r;
}
double Perimeter(){
return 2*3.14*r;
}
void Display(){
cout<<"圆心坐标为";
Point::Display();
cout<<",半径为"<<r<<",面积为"<<Area()<<",周长为"<<Perimeter()<<endl;
}
};
int main(){
Circle c(1,2,3);
c.Display();
return ;
}
```
输出结果为:
```
圆心坐标为(1,2),半径为3,面积为28.26,周长为18.84
```
阅读全文