*** 对 "operator="调用的理解

 A & operator= (A & b) {}

A obj1;

A obj2(1,2);

obj1 = obj2; //这条赋值语句可理解如下:

obj1.=(obj2) , 相当于obj1调用了它自己的=(A &b) 函数, 而=就是函数名。

因此obj1=obj2这句函数调用本身是有返回值的,类型是A &, 这就是为什么可以实现链式赋值: obj3 = obj1 = obj2;

 

 

posted @ 2018-12-23 18:36  super行者  阅读(262)  评论(0编辑  收藏  举报