C++定义折线类(polyline),成员变量为point指针数组(长度5),定义构造函数,输入各点的x,y坐标数据,new动态创建point对象,增加成员函数,计算折线的长度(各线段长度之和),定义析构函数,delete各点;
时间: 2023-11-27 16:03:26 浏览: 38
好的,我来帮您解答这个问题。
以下是您所需的折线类的定义:
```cpp
class Polyline {
private:
Point* point[5];
public:
Polyline(double x[], double y[]);
~Polyline();
double length();
};
```
其中,`Point` 类表示点,您需要先定义好。
在构造函数中,我们需要使用 `new` 关键字动态创建 `Point` 对象,并将其存储在 `point` 数组中:
```cpp
Polyline::Polyline(double x[], double y[]) {
for (int i=0; i<5; i++) {
point[i] = new Point(x[i], y[i]);
}
}
```
在计算折线长度时,我们需要计算各线段长度之和。可以通过循环遍历 `point` 数组来实现:
```cpp
double Polyline::length() {
double len = 0;
for (int i=0; i<4; i++) {
len += point[i]->distanceTo(*point[i+1]);
}
return len;
}
```
在析构函数中,我们需要使用 `delete` 关键字释放 `new` 出来的内存:
```cpp
Polyline::~Polyline() {
for (int i=0; i<5; i++) {
delete point[i];
}
}
```
这样,您就完成了折线类的定义。
阅读全文