设有类A的对象Aobject,若用成员函数重载前置自增运算符,则++Aobject被编译器解释为( )
A、
Aobject.operator++()
B、
operator++(Aobject)
C、
++(Aobject)
D、
Aobject::operator++()
【正确答案】:A
【题目解析】:
自增运算符“++”和自减运算符“--”都可以被重载,但是它们有前置和后置之分。
运算符重载相当于定义了一个以运算符为名字的函数。以自增运算符为例,这个函数可以表示为:
CDemo & CDemo::operator++()
{
…
return *this;
}
这样的函数不能区分前置及后置情况,因为不论是“obj++”还是“++obj”,都等价于“obj.operator++()”。
本题中,obj是对象Aobject,故本题选A。
发表评论 取消回复