定义一个点类CPoint,定义一个线段类CLine,计算线段长度。使用类的组合(对象成员)实现
时间: 2024-02-20 21:57:51 浏览: 96
好的,根据您的要求,我来给您展示一下CPoint和CLine的定义和实现代码:
#include <cmath>
// 定义点类
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, m_y;
};
// 定义线段类
class CLine {
public:
CLine(const CPoint& start = CPoint(), const CPoint& end = CPoint())
: 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 std::sqrt(dx * dx + dy * dy);
}
private:
CPoint m_start, m_end;
};
在上述代码中,我们首先定义了一个点类CPoint,该类中包含了两个私有的成员变量m_x和m_y,分别代表点的x坐标和y坐标。接着我们定义了一个线段类CLine,该类中包含了两个CPoint类型的对象成员m_start和m_end,分别代表线段的起点和终点。CLine类中还包含了一个getLength()函数,用来计算线段的长度。
需要注意的是,我们在CLine类中使用了CPoint类作为其成员变量,这就是类的组合(对象成员)实现。这种实现方式可以让代码更加模块化和易于维护。
阅读全文
相关推荐
















