什么运算符一定要重载友元函数,什么时候一定要重载为成员函数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么运算符一定要重载友元函数,什么时候一定要重载为成员函数?相关的知识,希望对你有一定的参考价值。

一定重载为友元的(一定是多元运算符):当该运算符的第一个运算数为其他类的时候,比如
cout<<a;<<符号的第一个运算数为iostream类
原因是,多元运算符重载为成员函数的时候,是调用的第一个运算数的成员函数
一定重载为成员函数的:一元运算符必须重载为成员函数,其他的任意。
参考技术A 一定重载为友元的(一定是多元运算符):当该运算符的第一个运算数为其他类的时候,比如
cout<<a;
<<符号的第一个运算数为iostream类
原因是,多元运算符重载为成员函数的时候,是调用的第一个运算数的成员函数
一定重载为成员函数的:一元运算符必须重载为成员函数,其他的任意
参考技术B 一定重载为
友元
的(一定是多元运算符):当该运算符的第一个运算数为其他类的时候,比如
cout<<a;
<<符号的第一个运算数为iostream类
原因是,多元
运算符重载

成员函数
的时候,是调用的第一个运算数的成员函数
一定重载为成员函数的:一元运算符必须重载为成员函数,其他的任意

以上是关于什么运算符一定要重载友元函数,什么时候一定要重载为成员函数?的主要内容,如果未能解决你的问题,请参考以下文章

cpp►运算符重载与友元friend

5.友元运算符重载

C++入门不能重载为友元函数的4个运算符(=, ->, [ ], ( ))

C++运算符重载中 重载为类的成员函数和重载为类的友元函数 的区别是啥?

关于C++函数重载问题

C++运算符重载函数作为友元函数