C++定义折线类(polyline),成员变量为point指针数组(长度5),定义构造函数,输入各点的x,y坐标数据,new动态创建point对象,增加成员函数,计算折线的长度(各线段长度之和),定义析构函数,delete各点;
时间: 2023-11-17 22:06:05 浏览: 134
好的,我可以为您提供 C++ 代码,实现您所描述的折线类:
```cpp
#include <cmath>
class Point {
public:
Point() : x(0), y(0) {}
Point(int _x, int _y) : x(_x), y(_y) {}
int x, y;
};
class Polyline {
public:
Polyline(int _size) : size(_size) {
points = new Point[size];
}
~Polyline() {
delete[] points;
}
void addPoint(int index, int x, int y) {
if (index < size) {
points[index] = Point(x, y);
}
}
double getLength() {
double length = 0;
for (int i = 0; i < size - 1; i++) {
length += sqrt((points[i+1].x - points[i].x) * (points[i+1].x - points[i].x)
+ (points[i+1].y - points[i].y) * (points[i+1].y - points[i].y));
}
return length;
}
private:
int size;
Point* points;
};
```
在这个实现中,我们定义了两个类:Point 和 Polyline。Point 表示平面上的点,包含了 x 和 y 的坐标;Polyline 表示折线,包含了一个 Point 指针数组和一个长度属性 size。在构造函数中,我们通过 new 动态分配了一块长度为 size 的 Point 数组,而在析构函数中,我们通过 delete[] 释放了这块内存。addPoint 函数用于添加指定位置的点,而 getLength 函数用于计算折线的长度,即各线段长度之和。
希望这段代码能够帮助到您!
阅读全文