friend A& operator++(A& a)//前++ { a.data += 10; return a; }我想问的是,前面的friend A& 这个引用有什么意义吗?加和不加有什么区别吗?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/13 02:30:04
friend A& operator++(A& a)//前++ { a.data += 10; return a; }我想问的是,前面的friend A& 这个引用有什么意义吗?加和不加有什么区别吗?

friend A& operator++(A& a)//前++ { a.data += 10; return a; }我想问的是,前面的friend A& 这个引用有什么意义吗?加和不加有什么区别吗?
friend A& operator++(A& a)//前++ { a.data += 10; return a; }
我想问的是,前面的friend A& 这个引用有什么意义吗?加和不加有什么区别吗?

friend A& operator++(A& a)//前++ { a.data += 10; return a; }我想问的是,前面的friend A& 这个引用有什么意义吗?加和不加有什么区别吗?
因为参数是引用,修改会作用于原对象,所以这里是否返回引用A&是一样的,
friend A& operator++(A& a)和friend void operator++(A& a)效果一样.
friend是修饰自加重载符的,不是修饰A&的,如果A的成员data声明为private的话,这里friend是必须的.