用c++编写一个带有拷贝构造函数的点类。使用成员函数输出数据成员的值。 x和y的值为:x=20,y=30 x和y的值为:x=20,y=30 x和y的值为:x=20,y=30
时间: 2023-11-28 22:04:42 浏览: 111
拷贝构造函数-C++类的描述
好的,我可以为您编写一个带有拷贝构造函数的点类,并使用成员函数输出数据成员的值:
```cpp
#include <iostream>
class Point {
public:
// 构造函数
Point(int x = 0, int y = 0) {
this->x = x;
this->y = y;
}
// 拷贝构造函数
Point(const Point& other) {
this->x = other.x;
this->y = other.y;
}
// 成员函数,输出数据成员的值
void print() {
std::cout << "x = " << x << ", y = " << y << std::endl;
}
private:
int x; // x坐标
int y; // y坐标
};
int main() {
Point p1(20, 30); // 创建一个点对象p1,x=20,y=30
Point p2(p1); // 创建一个新的点对象p2,并将p1复制给它
Point p3 = p1; // 创建一个新的点对象p3,并将p1复制给它
Point p4; // 创建一个默认的点对象p4
p1.print(); // 输出 p1 的 x 和 y 值
p2.print(); // 输出 p2 的 x 和 y 值
p3.print(); // 输出 p3 的 x 和 y 值
p4.print(); // 输出 p4 的 x 和 y 值
return 0;
}
```
输出结果为:
```
x = 20, y = 30
x = 20, y = 30
x = 20, y = 30
x = 0, y = 0
```
在这个例子中,我们首先创建了一个点对象p1,它的x和y值分别为20和30。然后,我们创建了一个新的点对象p2,并将p1复制给它,这是通过调用拷贝构造函数来实现的。同样地,我们也可以使用赋值操作符“=”来创建一个新的点对象p3,并将p1复制给它。最后,我们创建了一个默认的点对象p4,它的x和y值默认为0。最后,我们分别调用了每个点对象的print()函数来输出它们的x和y值。
阅读全文