为什么这个程序运行结果错了
#include <iostream>
using namespace std;
class Salary
{ public:
Salary(double b,double s,double r,double w,double e);
void setWage(double b){ Wage=b; }
double getWage(){ return Wage; }
void setSubsidy(double s){Subsidy=s; }
double getSubsidy(){ return Subsidy; }
void setRent(double r){Rent=r; }
double getRent(){ return Rent; }
void setWaterFee(double w){WaterFee=w; }
double getWaterFee(){ return WaterFee; }
void setElecFee(double e){ ElecFee=e; }
double getElecFee(){ return ElecFee; }
double RealSalary(){ return Wage+Subsidy-Rent-WaterFee-ElecFee;}
private:
double Wage;
double Subsidy;
double Rent;
double WaterFee;
double ElecFee;
};
Salary::Salary(double b=0.0,double s=0.0,double r=0.0,double w=0.0,double e=0.0)
{
Wage=b;
Subsidy=s;
Rent=r;
WaterFee=w;
ElecFee=e;
}
int main()
{
Salary A(4000,500,1000,300,200);
A.getWage();
cout<<"Wage="<<A.getWage<<endl;
A.RealSalary();
cout<<"实发工资= "<<A.RealSalary<<endl;
return 0;
}
[解决办法]
Salary A(4000,500,1000,300,200);
A.getWage();
cout<<"Wage="<<A.getWage()<<endl;
A.RealSalary();
cout<<"实发工资= "<<A.RealSalary()<<endl;
return 0;
注意两个函数要加上括号(),你那两个直接是A.getWage和A.RealSalary错的
[解决办法]
还有一点,你没析构