注册 登录
编程论坛 C++教室

涉及类于对象的小程序,不知道错哪,求解

飘羽 发布于 2011-03-22 15:46, 432 次点击
#include <iostream>
using namespace std;
class Salary{
    private:
      double Wage,Subsidy,Rent,WaterFee,ElecFee;
    public:
      Salary(double a,double b,double c,double d,double e){Wage=a;Subsidy=b;Rent=c;WaterFee=d;ElecFee=e;}
      Salary(){Wage=0;Subsidy=0;Rent=0;WaterFee=0;ElecFee=0;}
      void setWage(double a){Wage=a;}
      void setSubsidy(double b){Subsidy=b;}
      void setRent(double c){Rent=c;}
      void setWaterFee(double d){WaterFee=d;}
      void setElecFee(double e){ElecFee=e;}
      double getWage(){return Wage;}
      double getSubsidy(){return Subsidy;}
      double getRent(){return Rent;}
      double getWaterFee{return WaterFee;}
      double getElecFee(){return ElecFee;}
      double RealSalary(Salary s);
};

double RealSalary(Salary s)
{
    double x;
    x=s.getWage()+s.getSubsidy()-s.getRent()-s.getWaterFee-s.getElecFee();
    return x;
}

void main()
{
    Salary s;
    Salary s1(10,124,10,45,4);
    cout<<"RealSalary(s)"<<endl;
}
         
3 回复
#2
bccn2502011-03-22 16:06
告诉你一件非常悲哀的事情:是语法错误

#include <iostream>
using namespace std;
class Salary{
    private:
      double Wage,Subsidy,Rent,WaterFee,ElecFee;
    public:
      Salary(double a,double b,double c,double d,double e){Wage=a;Subsidy=b;Rent=c;WaterFee=d;ElecFee=e;}
      Salary(){Wage=0;Subsidy=0;Rent=0;WaterFee=0;ElecFee=0;}
      void setWage(double a){Wage=a;}
      void setSubsidy(double b){Subsidy=b;}
      void setRent(double c){Rent=c;}
      void setWaterFee(double d){WaterFee=d;}
      void setElecFee(double e){ElecFee=e;}
      double getWage(){return Wage;}
      double getSubsidy(){return Subsidy;}
      double getRent(){return Rent;}
      double getWaterFee{return WaterFee;}    //这个函数没加括号
      double getElecFee(){return ElecFee;}
      double RealSalary(Salary s);
};

double RealSalary(Salary s)    //这里没写 Salary::
{
    double x;
    x=s.getWage()+s.getSubsidy()-s.getRent()-s.getWaterFee-s.getElecFee();    //这里调用s.setWaterFee函数的时候也没加括号
    return x;
}

void main()
{
    Salary s;
    Salary s1(10,124,10,45,4);
    cout<<"RealSalary(s)"<<endl;
}
#3
lintaoyn2011-03-22 16:06
以下是引用飘羽在2011-3-22 15:46:08的发言:

#include
using namespace std;
class Salary{
    private:
      double Wage,Subsidy,Rent,WaterFee,ElecFee;
    public:
      Salary(double a,double b,double c,double d,double e){Wage=a;Subsidy=b;Rent=c;WaterFee=d;ElecFee=e;}
      Salary(){Wage=0;Subsidy=0;Rent=0;WaterFee=0;ElecFee=0;}
      void setWage(double a){Wage=a;}
      void setSubsidy(double b){Subsidy=b;}
      void setRent(double c){Rent=c;}
      void setWaterFee(double d){WaterFee=d;}
      void setElecFee(double e){ElecFee=e;}
      double getWage(){return Wage;}
      double getSubsidy(){return Subsidy;}
      double getRent(){return Rent;}
      double getWaterFee(){return WaterFee;}
      double getElecFee(){return ElecFee;}
      double RealSalary(Salary s);
};

double RealSalary(Salary s)
{
    double x;
    x=s.getWage()+s.getSubsidy()-s.getRent()-s.getWaterFee()-s.getElecFee();
    return x;
}
int main()
{
    Salary s;
    Salary s1(10,124,10,45,4);
    cout<<"RealSalary(s)"<
编译器会指哪行错了
#4
飘羽2011-03-22 17:26
谢谢高手们
1