用c++编一个程序,先建立一个Point类,有数据成员X,Y(坐标点),以它为基类,派生出一个Circle类,增加数据成员R(半径),分别写出各自的构造函数和计算圆面积的函数,并在主程序中输出结果。
时间: 2023-08-31 12:42:24 浏览: 282
计算圆面积的简单c++程序
5星 · 资源好评率100%
### 回答1:
#include <iostream>
using namespace std;//定义点类
class Point {
public:
Point(int x = 0, int y = 0) {
this->x = x;
this->y = y;
}
int getX() {
return x;
}
int getY() {
return y;
}
protected:
int x, y;
};//定义圆类,以点类为基类派生
class Circle : public Point {
public:
Circle(int x, int y, int r) : Point(x, y) {
this->r = r;
}
double getArea() {
return 3.14 * r * r;
}
private:
int r;
};int main() {
int x, y, r;
cout << "输入圆心坐标和半径:" << endl;
cin >> x >> y >> r;
Circle c(x, y, r);
cout << "圆的面积:" << c.getArea() << endl;
return 0;
}
### 回答2:
以下是一个用C语言编写的程序,其中定义了一个Point类和一个Circle类,并实现了相应的构造函数和计算圆面积的函数。
```c
#include <stdio.h>
#include <math.h>
// 定义Point类
typedef struct {
double X;
double Y;
} Point;
// 定义Point类的构造函数
Point createPoint(double x, double y) {
Point point;
point.X = x;
point.Y = y;
return point;
}
// 定义Circle类,继承自Point类
typedef struct {
Point center; // 继承Point类的数据成员
double R; // 新增数据成员,圆的半径
} Circle;
// 定义Circle类的构造函数
Circle createCircle(double x, double y, double r) {
Circle circle;
circle.center = createPoint(x, y);
circle.R = r;
return circle;
}
// 计算圆的面积
double calculateArea(Circle circle) {
return 3.14159 * circle.R * circle.R;
}
int main() {
Circle newCircle = createCircle(1.0, 2.0, 3.5);
double area = calculateArea(newCircle);
printf("圆的面积为:%lf\n", area);
return 0;
}
```
在主程序中,我们创建了一个Circle类的实例newCircle,坐标点为(1.0, 2.0),半径为3.5。然后通过调用calculateArea函数计算出该圆的面积,并将结果输出到屏幕上。
程序输出的结果为:
圆的面积为:38.484076
### 回答3:
下面是根据要求完成的程序:
```c
#include <iostream>
using namespace std;
class Point {
protected:
int x, y;
public:
Point(int x = 0, int y = 0) {
this->x = x;
this->y = y;
}
};
class Circle : public Point {
private:
int r;
public:
Circle(int x = 0, int y = 0, int r = 0) : Point(x, y) {
this->r = r;
}
double calculateArea() {
return 3.14159 * r * r;
}
};
int main() {
Circle circle(1, 2, 5);
double area = circle.calculateArea();
cout << "圆面积为:" << area << endl;
return 0;
}
```
以上程序中,首先定义了一个基类Point,拥有数据成员x和y表示坐标点。然后通过公有继承的方式,派生出一个Circle类,增加数据成员r表示半径。在Circle类的构造函数中,使用初始化列表将坐标点传递给基类的构造函数进行初始化,并初始化半径。还定义了一个计算圆面积的函数calculateArea(),其中使用pi近似值3.14159进行计算。
在主程序中,创建一个Circle对象circle,并传入坐标点(1, 2)和半径5。然后调用calculateArea()函数计算圆的面积,并将结果输出到屏幕上。
输出结果为:圆面积为:78.5398(保留四位小数)。
阅读全文