定义点类Point和线段类LineSegment。线段的两个终端为Point类对象。 (1)点类 ①私有成员变量包括x和y,双精度型,表示点的横坐标和纵坐标; ②公有成员函数包括: ·无参数构造函数(缺省构造函数),将点坐标设为(0,0); ·两个参数的构造函数,根据实际值赋予x和y实际坐标值; ·显示函数,用于显示x和y的值。 (2)线段类 ①私有成员变量包括两个点类对象,分别定义线段的左端点和右端点; ②公有成员函数要求实现的功能如下: ·构造函数,用于对两个点进行初始化 ·计算线段的长度 ·显示函数,用于显示线段的两个端点、线段的长度 (3)主函数里面定义2个点类的对象和1个线段类的对象,进行测试。
时间: 2024-03-19 21:44:11 浏览: 75
类和对象的内存分析-java的类与对象
好的,我来为您展示代码:
```C++
#include <iostream>
#include <cmath>
using namespace std;
class Point {
private:
double x;
double y;
public:
Point() {
x = 0;
y = 0;
}
Point(double a, double b) {
x = a;
y = b;
}
void display() {
cout << "(" << x << ", " << y << ")" << endl;
}
double getX() {
return x;
}
double getY() {
return y;
}
};
class LineSegment {
private:
Point p1;
Point p2;
public:
LineSegment(Point a, Point b) {
p1 = a;
p2 = b;
}
double length() {
double len = sqrt(pow(p1.getX() - p2.getX(), 2) + pow(p1.getY() - p2.getY(), 2));
return len;
}
void display() {
cout << "Endpoint 1: ";
p1.display();
cout << "Endpoint 2: ";
p2.display();
cout << "Length: " << length() << endl;
}
};
int main() {
Point p1(1.0, 2.0);
Point p2(3.0, 4.0);
LineSegment ls(p1, p2);
cout << "Point 1: ";
p1.display();
cout << "Point 2: ";
p2.display();
ls.display();
return 0;
}
```
这个程序定义了一个点类 `Point` 和一个线段类 `LineSegment`,并实现了它们的构造函数、显示函数和长度计算函数。在主函数中,创建了两个点对象和一个线段对象,并进行了测试。
阅读全文