1.使用对象成员构成新类。 要求先定义一个Point类,用来产生平面上的点对象。两点决定一条线段,即线段由点构成。此, Line类使用Point类的对象作为数据成员,然后在Line类的构造函数中求出线段的长度。在main()中定义线段的两个端点,并输出线段的长度。
时间: 2024-05-07 07:21:12 浏览: 188
通过point类生成line类,使用类模板
下面是一个实现上述要求的示例代码:
```
#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()`函数来获取线段的长度,并输出到屏幕上。
阅读全文