定义一个点类CPoint,定义一个线段类CLine,计算线段长度。使用类的组合(对象成员)实现
时间: 2024-02-21 21:59:05 浏览: 80
好的,下面是点类CPoint和线段类CLine的定义,以及如何计算线段长度的方法:
```c++
class CPoint {
public:
CPoint(double x = 0, double y = 0) : m_x(x), m_y(y) {}
double getX() const { return m_x; }
double getY() const { return m_y; }
private:
double m_x;
double m_y;
};
class CLine {
public:
CLine(const CPoint& start, const CPoint& end) : m_start(start), m_end(end) {}
double getLength() const {
double dx = m_start.getX() - m_end.getX();
double dy = m_start.getY() - m_end.getY();
return sqrt(dx * dx + dy * dy);
}
private:
CPoint m_start;
CPoint m_end;
};
```
在这个实现中,线段类CLine包含两个点CPoint作为成员变量,这种关系被称为对象组合。CLine类的getLength()方法计算线段的长度,使用了两个点的坐标差值和勾股定理。
通过这种方式,我们可以将不同的类组合在一起,实现更复杂的功能,这也是面向对象编程的一个重要特点。