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