定义一个Point类,用来描述平面上的一个点(坐标点的类型为整数类型)。 类的设计要求: 只允许定义带参的构造函数, 并采用初始化成员列表的形式完成数据成员的赋初始值 在主函数中定义三个点A,B,C,判断三个点是否在同一直线上
时间: 2024-03-26 08:42:03 浏览: 143
好的,下面是Point类的代码实现:
```c++
#include <iostream>
using namespace std;
class Point {
public:
Point(int x, int y): m_x(x), m_y(y) {}
int getX() const {
return m_x;
}
int getY() const {
return m_y;
}
private:
int m_x;
int m_y;
};
int main() {
Point A(1, 1);
Point B(2, 2);
Point C(3, 3);
// 判断三个点是否在同一直线上
if ((B.getX() - A.getX()) * (C.getY() - A.getY()) == (C.getX() - A.getX()) * (B.getY() - A.getY())) {
cout << "A, B, C are on the same line." << endl;
} else {
cout << "A, B, C are not on the same line." << endl;
}
return 0;
}
```
在这里,我们定义了一个Point类,它有两个私有成员变量m_x和m_y,表示坐标点的横、纵坐标。我们只允许使用带参构造函数来创建Point对象,并使用初始化列表的方式对成员变量进行初始化。
在主函数中,我们创建了三个点A、B、C,并判断它们是否在同一直线上。这里我们采用了向量叉积的方法来判断三个点是否在同一直线上。如果向量BA和向量CA的叉积等于0,则表示三个点在同一直线上。
阅读全文