1.编写程序定义类Point,有数据成员x,y为其定义友元函数实现重载“+”。
时间: 2024-02-20 12:01:39 浏览: 127
以下是Point类的定义和重载"+"运算符的实现:
```c++
#include <iostream>
using namespace std;
class Point {
private:
int x, y;
public:
Point(int _x = 0, int _y = 0) { x = _x; y = _y; }
friend Point operator+(const Point& p1, const Point& p2);
void print() { cout << "(" << x << "," << y << ")" << endl; }
};
Point operator+(const Point& p1, const Point& p2) {
Point res;
res.x = p1.x + p2.x;
res.y = p1.y + p2.y;
return res;
}
int main() {
Point p1(1, 2), p2(3, 4);
Point p3 = p1 + p2;
p3.print(); // 输出 (4,6)
return 0;
}
```
在上面的代码中,Point类有两个私有数据成员x和y,以及一个公有的构造函数和一个公有的打印函数。我们使用了友元函数来实现重载"+"运算符,友元函数可以访问Point类的私有成员。在main函数中,我们创建了两个Point对象p1和p2,并将它们相加得到p3,最后调用p3的打印函数输出结果。
阅读全文