设计一个点的类,私有数据成员为点的横坐标和纵坐标,成员函数有:构造函数初始化点的横坐标和纵坐标,拷贝构造函数
时间: 2023-06-27 07:01:00 浏览: 133
以下是一个简单的点类的实现,包含了横坐标和纵坐标的私有数据成员,构造函数和拷贝构造函数:
```cpp
class Point {
private:
double x; // 横坐标
double y; // 纵坐标
public:
Point(double x = 0, double y = 0) : x(x), y(y) {}
// 拷贝构造函数
Point(const Point& other) : x(other.x), y(other.y) {}
// 获取横坐标
double getX() const { return x; }
// 获取纵坐标
double getY() const { return y; }
// 设置横坐标
void setX(double x) { this->x = x; }
// 设置纵坐标
void setY(double y) { this->y = y; }
};
```
在这个类中,我们使用了一个构造函数来初始化点的横坐标和纵坐标,同时也提供了默认参数,方便创建点对象时可以不传入参数。拷贝构造函数用于在需要复制点对象时进行拷贝操作。getX 和 getY 函数用于获取横纵坐标,setX 和 setY 函数用于设置横纵坐标。
相关问题
定义点类Point和线段类LineSegment。线段的两个终端为Point类对象。 (1)点类 ①私有成员变量包括x和y,双精度型,表示点的横坐标和纵坐标; ②公有成员函数包括: ·无参数构造函数(缺省构造函数),将点坐标设为(0,0); ·两个参数的构造函数,根据实际值赋予x和y实际坐标值; ·显示函数,用于显示x和y的值。 (2)线段类 ①私有成员变量包括两个点类对象,分别定义线段的左端点和右端点; ②公有成员函数要求实现的功能如下: ·构造函数,用于对两个点进行初始化 ·计算线段的长度 ·显示函数,用于显示线段的两个端点、线段的长度 (3)主函数里面定义2个点类的对象和1个线段类的对象,进行测试。
好的,我来为您展示代码:
```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`,并实现了它们的构造函数、显示函数和长度计算函数。在主函数中,创建了两个点对象和一个线段对象,并进行了测试。
请设计直角坐标 COORD 类。它包含两个私有数据成员:x (横坐标) 和 y (纵坐标)。
好的,我来设计一个直角坐标 COORD 类。具体如下:
```cpp
class COORD {
private:
double x; // 横坐标
double y; // 纵坐标
public:
COORD(double x = 0, double y = 0) {
this->x = x;
this->y = y;
}
double getX() const {
return x;
}
double getY() const {
return y;
}
void setX(double x) {
this->x = x;
}
void setY(double y) {
this->y = y;
}
};
```
在这个类中,我们定义了两个私有数据成员 `x` 和 `y`,分别表示直角坐标的横坐标和纵坐标。接着,我们在构造函数中为这两个成员变量初始化。同时,我们还定义了 `getX()` 和 `getY()` 两个公有成员函数,用于获取横坐标和纵坐标;并定义了 `setX()` 和 `setY()` 两个公有成员函数,用于设置横坐标和纵坐标。这样,我们就可以通过 COORD 类来表示一个直角坐标了。
阅读全文