用c++编写圆类circle继承点类point。圆类circle的数据成员包括圆心坐标x、圆心坐标y和半径r,成员函数包括构造函数(带默认参数x=0,y=0,r=1),返回半径r的函数getr0和计算圆周长的函数getpe()
时间: 2023-12-06 20:44:48 浏览: 45
以下是实现:
```c++
#include <iostream>
#include <cmath>
using namespace std;
class Point {
protected:
double x, y;
public:
Point(double a = 0, double b = 0) {
x = a;
y = b;
}
double getx() {
return x;
}
double gety() {
return y;
}
};
class Circle : public Point {
private:
double r;
public:
Circle(double a = 0, double b = 0, double c = 1) : Point(a, b) {
r = c;
}
double getr() {
return r;
}
double getpe() {
return 2 * M_PI * r;
}
};
int main() {
Circle c(1.0, 2.0, 3.0);
cout << "The radius of the circle is " << c.getr() << endl;
cout << "The circumference of the circle is " << c.getpe() << endl;
return 0;
}
```
解释:
1. 我们首先定义了一个基类 `Point`,包含了点的坐标信息,使用了保护类型的成员变量,以便在派生类中能够访问到。
2. 接下来,我们定义了一个派生类 `Circle`,继承了 `Point` 类,并添加了圆的半径信息。构造函数中使用了基类的构造函数进行初始化,其中使用了默认参数。成员函数 `getr` 返回圆的半径,成员函数 `getpe` 计算圆的周长。
3. 在 `main` 函数中,我们定义了一个圆对象 `c`,并输出了它的半径和周长。
注意:在计算圆周长时,我们使用了 `cmath` 库中的 `M_PI` 常量,它代表了圆周率 $\pi$ 的值。