关于运算符重载
  • 板块学术版
  • 楼主朝田诗乃
  • 当前回复13
  • 已保存回复13
  • 发布时间2021/6/28 20:47
  • 上次更新2023/11/4 21:21:54
查看原帖
关于运算符重载
242913
朝田诗乃楼主2021/6/28 20:47

之前看关于类运算符重载的文章

本人指针基础有点差,所以想求教一下

我现在定义了一个类型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&类型

谢谢各位帮助

2021/6/28 20:47
加载中...