问题
单项选择题
下列关于运算符重载的叙述中,正确的是
A.通过运算符重载,可以定义新的运算符
B.有的运算符只能作为成员函数重载
C.若重载运算符+,则相应的运算符函数名是+
D.重载一个二元运算符时,必须声明两个形参
答案
参考答案:B
解析: 本题考核运算符重载的概念。C++中,=、[]、( )、->以及所有的类型转换符只能作为成员函数重载。所以B选项的描述是正确的。运算符重载就是赋予已有的运算符多重含义,并不是定义新的运算符;C++把重载的运算符视为特殊的函数,称为运算符函数,函数名就是在运算符前加上保留字operator;"+"是一个二元运算符,但是作为成员函数重载时参数表中只有一个形参,对应第二个操作数,而第一个操作数就是对象本身。