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