C++编程定义一个Polygon类,包含属性:点坐标数组、点数等,和三个函数分别为:赋值、求多边形周长函数、求多边形面积函数
时间: 2023-04-05 16:05:03 浏览: 163
Polygonal Area_C++_多边形面积计算_测绘程序_
5星 · 资源好评率100%
好的,这是一个关于编程的问题,我可以回答。Polygon类可以定义如下:
```c++
class Polygon {
private:
int numPoints; // 点数
vector<pair<double, double>> points; // 点坐标数组
public:
// 赋值函数
void setPoints(vector<pair<double, double>> p) {
numPoints = p.size();
points = p;
}
// 求多边形周长函数
double perimeter() {
double p = 0;
for (int i = 0; i < numPoints; i++) {
int j = (i + 1) % numPoints;
double dx = points[i].first - points[j].first;
double dy = points[i].second - points[j].second;
p += sqrt(dx * dx + dy * dy);
}
return p;
}
// 求多边形面积函数
double area() {
double a = 0;
for (int i = 0; i < numPoints; i++) {
int j = (i + 1) % numPoints;
a += points[i].first * points[j].second - points[j].first * points[i].second;
}
return abs(a) / 2;
}
};
```
以上是一个简单的Polygon类的定义,其中包含了点坐标数组、点数等属性,以及赋值、求多边形周长函数、求多边形面积函数三个函数。
阅读全文