问题 填空题

如下程序的输出结果是______。
#include<iostream>
using namespace std;
class Wages //“工资”类
double base; //基本工资
double bonus; //奖金
double tax; //税金
public:
Wages(double CBase,double CBonus,doable CTax):
base(CBase),bonus(CBonus),tax(CTax)
double getPay( )const; //返回应付工资额
Wages operator+(Wages w)cons[; //重载加法

double Wages::getPay( )cons[return base+bonus-tax;
Wages Wages::operator+(Wages w)constreturn Wages(base+w.base,bonus+w.bonus,tax+w.tax);
int main( )
Wages wl(2000,500,100),w2(5000,1000,300);
eout<<(wl+w2).getPay( )<<endl;
return 0;

答案

参考答案:8100

解析: 首先Wages类成员函数重载了+运算符,得到的是两个Wages对象的base、bouns、tax各自之和。在主函数中,首先生成w1、w2两个对象,然后调用重载后的加法运算符得到base、bouns、tax各自之和,然后调用常成员函数getPay( ),打印求和后的base+bonus-tax,所以答案为8100。

选择题
单项选择题 A1/A2型题