之前看关于类运算符重载的文章
本人指针基础有点差,所以想求教一下
我现在定义了一个类型A,重载 A 的 += 符号
A & operator += (const A& x);
与
A operator += (const A& x) {
这两种代码之间有什么区别,这个&
有什么用
比如 m += n
,这个&
引用了哪个变量
#include <bits/stdc++.h>
using namespace std;
class A {
public:
int a, b;
A(int _a = 0, int _b = 0) {
a = _a; b = _b;
}
A operator += (const A& x) {
a += x.a;
b += x.b;
return (*this);
}
};
int main() {
A m(1, 2), n(3, 4);
m += n;
cout << m.a << " " << m.b << endl;
return 0;
}
比如这里第 10 行。
为什么必须使用istream&
类型
谢谢各位帮助