来吧!让我给您们解释一下为什么《为什么只能友元,而[]只能成员重载;
简而言之:1.对于友元重载没有this指针指向当前对象的!这个可以从单目运算符重载时返回形参而不能返回this可知!所以必须为参数一+运算符+参数二出现的表达式才能用友元!2,。二元运算符的成员函数重载,或一元运算符成员函数重载,默认在符号前有个this指针,指向当前对象的!这也就为什么,二元重载还需有一参,一元重载不用参!好了~~~这就很好解释,若《采用成员函数重载,那么this指针指向的是cout!这是错误的~~~this无法实例;其次[]采用友元,那就没有第二参数了~~~
简而言之:1.对于友元重载没有this指针指向当前对象的!这个可以从单目运算符重载时返回形参而不能返回this可知!所以必须为参数一+运算符+参数二出现的表达式才能用友元!2,。二元运算符的成员函数重载,或一元运算符成员函数重载,默认在符号前有个this指针,指向当前对象的!这也就为什么,二元重载还需有一参,一元重载不用参!好了~~~这就很好解释,若《采用成员函数重载,那么this指针指向的是cout!这是错误的~~~this无法实例;其次[]采用友元,那就没有第二参数了~~~
2017-05-13