单选题
运算符函数调用格式的表达式“y/x++”与表达式“y.operator/(operator++(x,0))”的含义相同,由此可看出( )。
A、
/和"++"都是作为成员函数重载的
B、
/和"++"都是作为非成员函数重载的
C、
/是作为成员函数重载的,"++"是作为非成员函数重载的
D、
/是作为非成员函数重载的,"++"都是作为成员函数重载的
【正确答案】
C
【答案解析】
解析:运算符函数有两种调用形式,第一种是像一般函数那样用函数名调用,即y.operator*(z)或者operator*(y,z);另一种是通过运算符构成表达式,即y*z。因为“++”运算符既可以作为前缀运算符,又可以作为后缀运算符,所以重载这个运算符时,重载后缀“++”时必须多一个虚拟参数:int。
提交答案
关闭