问题 单项选择题

有如下程序: #include<iostream> Using namespace std; Class Amount{ int amount; public; Amount(int n=0):amount(n){} Int getAmount()const{return amount;} Amount &operator+=(Amount a){ amount+=a.amount; return______; } }; int main(){ Amount x(3),y(7); x+=y; cout<<x.getAmount()<<endl; return 0; } 已知程序的运行结果是10,则横线处缺失的表达式是( )。

A.*this

B.this

C.&amount

D.amount

答案

参考答案:D

解析: 此题考查的是“+”运算符重载和this指针。语句 amount+=a.amount;实现3和7的求和得到amount=10,要使程序的输出结果为10,需要把amount的值作为函数的返回值,所以横线处应填入amount。

单项选择题
单项选择题