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