下列运算符中,只能作为类成员函数重载的是( )。

admin2021-07-02  34

问题 下列运算符中,只能作为类成员函数重载的是(    )。

选项 A、::
B、=
C、-
D、>>

答案B

解析 C++中不能重载的操作符有:“::”,“.*”,“.”,“?:”,所以选项A错误;一般的,将算术操作符定义为非成员函数,如“一”,选项C错误;不能将输入输出操作符定义为类的成员函数,因为如果那样做,左操作数就只能是该类类型的对象,这样的用法与正常使用的方式正好相反,所以输入输出操作符左操作数必须为流对象类型,这样就意味着如果该操作符是类的成员,则它必须是istream/ostream类的成员,又因为istream/oslream是标准库的一部分,不能为其增加类成员,所以不能将输入输出操作符定义为类的成员,选项D错误;C++中必须作为类成员函数重载的运算符有:=、()、[]、->,将这些操作符定义为非成员函数将在编译时标记为错误,答案选B选项。
转载请注明原文地址:https://jikaoti.com/ti/Uuh0FFFM
0

最新回复(0)