在main()中定义线段的两个端点,并输出线段的长度。
时间: 2024-03-10 17:43:52 浏览: 198
在上面的代码中已经定义了线段的两个端点 p1 和 p2,然后创建了一个 Line 对象 l,表示由 p1 和 p2 构成的线段。要输出线段的长度,可以使用 l.getLen() 函数,如下所示:
```c++
int main() {
Point p1(1, 1);
Point p2(4, 5);
Line l(p1, p2);
cout << "Length of line: " << l.getLen() << endl;
return 0;
}
```
上面的代码中,创建了两个点对象 p1 和 p2,分别代表坐标为 (1, 1) 和 (4, 5) 的点。然后创建了一个线段对象 l,代表由 p1 和 p2 构成的线段。最后使用 l.getLen() 函数获取线段的长度,并输出到控制台。
相关问题
设计一个类,用来表示直角坐标系中的任意一条线段,成员函数包括输出线段两个端点的坐标和求该线段的长度,并在main函数中使用这个类。
以下是一个实现该类的示例代码:
```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类已经能够正常工作了。
1.使用对象成员构成新类。 要求先定义一个Point类,用来产生平面上的点对象。两点决定一条线段,即线段由点构成。此, Line类使用Point类的对象作为数据成员,然后在Line类的构造函数中求出线段的长度。在main()中定义线段的两个端点,并输出线段的长度。
下面是一个实现上述要求的示例代码:
```
#include <iostream>
#include <cmath>
using namespace std;
class Point {
public:
Point(double x, double y) : x(x), y(y) {}
double getX() const { return x; }
double getY() const { return y; }
private:
double x, y;
};
class Line {
public:
Line(Point p1, Point p2) : p1(p1), p2(p2) {
length = sqrt(pow(p1.getX() - p2.getX(), 2) + pow(p1.getY() - p2.getY(), 2));
}
double getLength() const { return length; }
private:
Point p1, p2;
double length;
};
int main() {
Point p1(1.0, 2.0);
Point p2(3.0, 4.0);
Line line(p1, p2);
cout << "The length of the line segment is: " << line.getLength() << endl;
return 0;
}
```
在上面的代码中,我们首先定义了一个`Point`类,它有两个私有数据成员`x`和`y`分别表示点的横坐标和纵坐标。我们使用构造函数来初始化`Point`对象的坐标,并提供了两个公有成员函数`getX()`和`getY()`分别用于获取点的横坐标和纵坐标。
然后我们定义了一个`Line`类,它包含两个`Point`对象作为数据成员,分别表示线段的两个端点,并在构造函数中计算了线段的长度。我们使用`sqrt()`和`pow()`函数来计算线段长度,它们分别表示求平方根和求幂运算。
最后在`main()`函数中,我们定义了两个`Point`对象作为线段的两个端点,然后使用这两个点对象创建了一个`Line`对象。最后调用`getLength()`函数来获取线段的长度,并输出到屏幕上。
阅读全文