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