定义一个点类Point,包含两个保护成员(x,y)以及3个公有成员函数,要求构造函数带两个形参,2个普通成员函数(设置坐标以及显示坐标); 再定义一个圆类(Circle),公有继承Point类,新增私有数据成员半径以及4个成员函数,要求构造函数实现数据的初始化,2个普通成员函数分别能设置和获取圆的信息,1个普通成员函数计算圆的面积; 然后在主函数中定义2个Circle类对象并调用相应的函数进行测试。
时间: 2023-06-15 13:07:12 浏览: 134
cpp代码-类Point 私有和公有代码
以下是代码实现:
```
#include<iostream>
using namespace std;
class Point{
protected:
int x;
int y;
public:
Point(int x=0, int y=0):x(x),y(y){}; //构造函数
void setPoint(int x, int y){ //设置坐标
this->x = x;
this->y = y;
}
void showPoint(){ //显示坐标
cout<<"("<<x<<","<<y<<")"<<endl;
}
};
class Circle:public Point{
private:
int r;
public:
Circle(int x=0, int y=0, int r=0):Point(x,y),r(r){}; //构造函数
void setCircle(int x, int y, int r){ //设置圆的信息
setPoint(x,y);
this->r = r;
}
void getCircle(){ //获取圆的信息
cout<<"圆心坐标为:";
showPoint();
cout<<"半径为:"<<r<<endl;
}
double area(){ //计算圆的面积
return 3.14*r*r;
}
};
int main(){
Circle c1,c2;
c1.setCircle(1,2,3);
c2.setCircle(4,5,6);
c1.getCircle();
cout<<"c1的面积为:"<<c1.area()<<endl;
c2.getCircle();
cout<<"c2的面积为:"<<c2.area()<<endl;
return 0;
}
```
运行结果:
```
圆心坐标为:(1,2)
半径为:3
c1的面积为:28.26
圆心坐标为:(4,5)
半径为:6
c2的面积为:113.04
```
阅读全文