先创建一个点类(Point)。其数据成员(实型,保护成员)有两个:点的坐标x,y;其成员函数(公有成员)有:构造函数。 再在点类的基础上,派生出圆类(Circle)。要求:1)不改变基类成员的访问属性,2)增加圆半径r为数据成员(实型,保护成员),3)增加三个成员函数(均为公有成员):构造函数、圆面积计算函数area()、向外推送圆半径的函数getr()。 在主程序中,要求用3、4作为圆心坐标、5作为圆的半径创建对象。输出圆面积与圆半径。用c++编程
时间: 2024-03-06 11:46:13 浏览: 55
以下是 Point 类和 Circle 类的实现代码:
```c++
#include <iostream>
using namespace std;
class Point {
protected:
double x, y;
public:
Point(double x_ = 0, double y_ = 0) : x(x_), y(y_) {}
};
class Circle : public Point {
protected:
double r;
public:
Circle(double x_, double y_, double r_) : Point(x_, y_), r(r_) {}
double area() { return 3.14159 * r * r; }
double getr() { return r; }
};
int main() {
Circle c(3, 4, 5);
cout << "Circle area: " << c.area() << endl;
cout << "Circle radius: " << c.getr() << endl;
return 0;
}
```
在主函数中我们创建了一个 Circle 对象 c,其中 x 坐标为 3,y 坐标为 4,半径为 5。调用 c.area() 计算圆的面积,调用 c.getr() 获取圆的半径,并将结果输出。运行程序,输出如下:
```
Circle area: 78.5398
Circle radius: 5
```
阅读全文