为什么~
哪位牛人可以帮我看看下面的程序有什么不完整的地方,程序是可以执行的,我预定的结果是RealSalary 是等于RealSalary=Wage+Subsidy-Rent-WaterFee-ElecFee;即5000+200-400-100-100=4600的。但是结果出来那个RealSalary值却是1,百思不得其解啊
程序:
#include <iostream>
using namespace std;
class Salary
{ public:
Salary(double a, double b, double c,double d,double e);
void get_salary()
{cout<<"Wage is"<<Wage<<","<<"Subsidy is"<<Subsidy<<","<<"Rent is"<<Rent<<","<<"WaterFee is"<<WaterFee<<","<<"ElecFee is"<<ElecFee<<endl;}
double Real_Salary();
private :
double Wage;
double Subsidy;
double Rent;
double WaterFee;
double ElecFee;
double RealSalary;
};
Salary::Salary(double a, double b, double c,double d,double e):Wage(a),Subsidy(b),Rent(c),WaterFee(d),ElecFee(e){}
double Salary::Real_Salary()
{ RealSalary=0;
RealSalary=Wage+Subsidy-Rent-WaterFee-ElecFee;
return (RealSalary);
}
int main()
{
Salary salary(5000,200,400,100,100);
salary.get_salary();
salary.Real_Salary();
cout<<"The RealSalary is:"<<salary.Real_Salary<<endl;
return 0;
}
[解决办法]
你确定你这个能运行,没报错。
cout<<"The RealSalary is:"<<salary.Real_Salary<<endl;
少点什么吧。。。
改了后,我这边结果是对的,没什么逻辑错误