单选题如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为( )。Ax.operator++(0).operator*(y)Boperator*(x.operator++(0),y)Cy.operator*(operator++(x,0))Doperator*(operator++(x,0),y)
单选题
如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为( )。
A
x.operator++(0).operator*(y)
B
operator*(x.operator++(0),y)
C
y.operator*(operator++(x,0))
D
operator*(operator++(x,0),y)
参考解析
解析:
运算符函数作为成员函数重载时,第一操作数就是对象本身,并不显式地出现在形参表中;运算符函数作为非成员函数重载时,由于没有隐含的this指针,因此所有的操作数均出现在形参表中。
运算符函数作为成员函数重载时,第一操作数就是对象本身,并不显式地出现在形参表中;运算符函数作为非成员函数重载时,由于没有隐含的this指针,因此所有的操作数均出现在形参表中。
相关考题:
单选题下面关于构造函数和析构函数的描述中,错误的是( )。A析构函数可以声明为虚函数B对虚析构函数的调用可以采用动态联编C一个类的虚函数仅对派生类中重定义的函数起作用,对其他函数没有影响D构造函数可以声明为虚函数
单选题下述关于开关语句的描述中,正确的是( )。A开关语句中default子句可以没有,也可以有一个B开关语句中每个语句序列中必须有break语句C开关语句中default子句只能放在最后D开关语句中case子句后面的表达式可以是整型表达式
单选题下列关于C++预定义流对象的叙述中,正确的是( )。Acin是C++预定义的标准输入流对象Bcin是C++预定义的标准输入流类Ccout是C++预定义的标准输入流对象Dcout是C++预定义的标准输入流类
单选题下列叙述中错误的是( )。A算法的时间复杂度与算法所处理数据的存储结构有直接关系B算法的空间复杂度与算法所处理数据的存储结构有直接关系C算法的时间复杂度与空间复杂度有直接关系D算法的时间复杂度与算法程序执行的具体时间是不一致的
问答题使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为: Max is 7 提示:max()函数实现找出两个数中的最大值,并作为函数值返回。 注意:错误的语句在∥******error******的下面,修改该语句即可。
单选题下列函数原型声明中,错误的是( )。Aint function(int m,int n);Bint function(int,int);Cint function(int m=3,int n);Dhat function(intm,intn);
单选题运算符函数调用格式的表达式“y/x抖”与表达式“y.operator/(operator++(x,o))”的含义相同,由此可看出( )A“/”和“++”都是作为成员函数重载的B“/”和“++”都是作为非成员函数重载的C“/”是作为成员函数重载的,“++”是作为非成员函数重载的D“/”是作为非成员函数重载的,“++”都是作为成员函数重载的
单选题下列关于虚函数的描述中,正确的是( )。A虚函数是一个static类型的成员函数B虚函数是一个非成员函数C基类中采用virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加virtual说明D派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型
单选题若要对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是()。Aoperator long()const;Boperator long(bigNumber);Clong operator long()const;Dlong operator long(BigNumber);
单选题已知数组arr的定义如下:int arr[5]=1,2,3,4,5;下列语句中输出结果不是2的是( )。Acout*arr+1endl;Bcout*(arr+1)endl;Ccoutarr[1]endl;Dcout*arrendl;
单选题软件生命周期可分为定义阶段、开发阶段和维护阶段。详细设计属于( )。A定义阶段B开发阶段C维护阶段D上述三个阶段