设计一个类,用来表示直角坐标系中的任意一条线段,成员函数包括输出线段两个端点的坐标和求该线段的长度,并在main函数中使用这个类。
时间: 2023-11-27 08:49:04 浏览: 65
以下是一个实现该类的示例代码:
```c++
#include <iostream>
#include <cmath>
using namespace std;
class LineSegment {
private:
double x1, y1, x2, y2;
public:
LineSegment(double x1_, double y1_, double x2_, double y2_) {
x1 = x1_;
y1 = y1_;
x2 = x2_;
y2 = y2_;
}
void printEndpoints() {
cout << "(" << x1 << ", " << y1 << ") and (" << x2 << ", " << y2 << ")" << endl;
}
double length() {
double dx = x2 - x1;
double dy = y2 - y1;
return sqrt(dx * dx + dy * dy);
}
};
int main() {
LineSegment segment(0, 0, 3, 4);
segment.printEndpoints();
cout << "Length: " << segment.length() << endl;
return 0;
}
```
在上面的代码中,我们定义了一个LineSegment类,它有四个私有成员变量:x1、y1、x2和y2,这些变量分别表示线段的两个端点的坐标。类的构造函数接受四个参数,用于初始化这些私有成员变量。类还有两个公有成员函数:printEndpoints() 和length()。printEndpoints() 用于输出线段的两个端点坐标,length() 用于计算线段长度并返回该值。
在main函数中,我们创建了一个LineSegment对象,并调用了printEndpoints() 和length()函数。程序的输出如下:
```
(0, 0) and (3, 4)
Length: 5
```
这表明,我们定义的LineSegment类已经能够正常工作了。
阅读全文