定义一个点类CPoint,定义一个线段类CLine,计算线段长度。使用类的组合(对象成员)实现
时间: 2024-02-23 21:57:53 浏览: 58
以下是C++语言的实现示例:
```c++
#include <iostream>
#include <cmath>
using namespace std;
class CPoint {
private:
double x;
double y;
public:
CPoint(double xval, double yval) {
x = xval;
y = yval;
}
double getX() {
return x;
}
double getY() {
return y;
}
};
class CLine {
private:
CPoint start;
CPoint end;
public:
CLine(CPoint s, CPoint e) : start(s), end(e) {}
double getLength() {
double dx = end.getX() - start.getX();
double dy = end.getY() - start.getY();
return sqrt(dx * dx + dy * dy);
}
};
int main() {
CPoint p1(0, 0);
CPoint p2(3, 4);
CLine line(p1, p2);
cout << "Line length: " << line.getLength() << endl;
return 0;
}
```
上述代码中,CPoint类表示一个点,有两个私有数据成员:x和y坐标。CLine类表示一条线段,有两个CPoint对象成员:start表示起点,end表示终点。在CLine的构造函数中,通过参数传入起点和终点坐标,分别创建了两个CPoint对象。在CLine中定义了一个getLength()函数,用于计算线段长度,根据勾股定理计算。在main()函数中,分别创建了两个CPoint对象和一个CLine对象,计算线段长度并输出。
阅读全文