问题
单项选择题
下列运算符中全都可以被友元函数重载的是( )。
A.=,+,-,\
B.[],+,(),new
C.->,+,*,>>
D.<<,>>,+,*
答案
参考答案:D
解析:
运算符重载为成员函数的形式:函数类型operator运算符(形参表){函数体;};运算符重载为友元函数的形式:friend函数类型operator运算符(形参表){函数体;}。一般来讲,单目运算符最好重为成员函数,双目运算符最好重载为友元函数。=、[]、()、->以及所有的类型转换运算符只能作为成员函数重载。