关于C++中不同类之间的赋值问题——存疑
operator=不能重载为全局函数。理由如下
void operator=(int i , A& a) { a.a = i } ; 那么将会出现 99 = a 这种代码,但是99不是左值,和怪异的代码。所以,如果=重载为全局函数,那么将出现 operator=不能为静态函数 这样的报错。
不过,如果 operator=不能作为全局函数,那么如何实现 A = B ;这样的代码?希望高手解答。
1 class A 2 { 3 A& operator=(B& b) 4 { 5 //使用B对A赋值 6 return *this ; 7 } 8 }; 9 10 class B 11 { 12 ????? 13 }