4-35 首先定义一个类Point,然后定义类 Point 的派生类 CLine。两个类都有表示坐标 的数据成员,要求有对应的设置和获取数据 成员的成员函数。
时间: 2024-02-18 22:05:42 浏览: 97
好的,下面是代码实现:
class Point {
public:
Point() {}
Point(int x, int y) : m_x(x), m_y(y) {}
void setX(int x) { m_x = x; }
void setY(int y) { m_y = y; }
int getX() const { return m_x; }
int getY() const { return m_y; }
private:
int m_x = 0;
int m_y = 0;
};
class CLine : public Point {
public:
CLine() {}
CLine(int x1, int y1, int x2, int y2) : m_ptStart(x1, y1), m_ptEnd(x2, y2) {}
void setStart(int x, int y) { m_ptStart.setX(x); m_ptStart.setY(y); }
void setEnd(int x, int y) { m_ptEnd.setX(x); m_ptEnd.setY(y); }
Point getStart() const { return m_ptStart; }
Point getEnd() const { return m_ptEnd; }
private:
Point m_ptStart;
Point m_ptEnd;
};
在这里,我们定义了一个 Point 类,它有两个数据成员 m_x 和 m_y 表示坐标。然后我们定义了一个 CLine 类,它继承自 Point 类,表示一条直线。CLine 类中有两个数据成员 m_ptStart 和 m_ptEnd,分别表示起始点和终点,它们都是 Point 类型的对象。
CLine 类中还定义了一些成员函数,用于设置和获取起始点和终点的坐标。可以看到,通过继承自 Point 类,CLine 类可以直接使用 Point 类中的成员函数来设置和获取坐标。
阅读全文
相关推荐














