关于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 }
posted @ 2015-01-09 15:12  BlackWalnut  阅读(278)  评论(0编辑  收藏  举报