定义一个点类CPoint,定义一个线段类Cline,计算线段长度。使用类的组合(对象成员)实现
时间: 2024-02-21 12:56:47 浏览: 75
声明一个类Point,然后利用它声明一个组合类Line,实现由用户输入两点确定直线的长度和斜率,编写程序实现测试
5星 · 资源好评率100%
下面是一个简单的实现:
```
#include <cmath>
#include <iostream>
// 定义点类
class CPoint {
public:
double x;
double y;
CPoint(double x, double y) : x(x), y(y) {}
// 计算两个点之间的距离
double distance(CPoint other) {
double dx = x - other.x;
double dy = y - other.y;
return sqrt(dx * dx + dy * dy);
}
};
// 定义线段类
class CLine {
public:
CPoint start;
CPoint end;
CLine(CPoint start, CPoint end) : start(start), end(end) {}
// 计算线段长度
double length() {
return start.distance(end);
}
};
int main() {
CPoint p1(0, 0);
CPoint p2(3, 4);
CLine line(p1, p2);
std::cout << "线段长度为:" << line.length() << std::endl;
return 0;
}
```
在这个实现中,点类 CPoint 定义了一个 distance() 方法,用于计算两个点之间的距离。线段类 CLine 定义了一个 length() 方法,用于计算线段的长度。在 main() 函数中,我们首先创建了两个点对象 p1 和 p2,然后用它们来创建一个线段对象 line。最后,我们调用了 line.length() 方法来输出线段的长度。这里使用了类的组合(对象成员)的方式,即线段类中包含了两个点对象。
阅读全文