我无法解释为什么我得到这个逻辑错误!请看:我的功能的顺序是否重要?
这是在头 -
class PayRoller
{
public:
void initialize();
double getNum();
void setNum(double);
double getGrossPay();
void setGrossPay(double);
double getWage();
void setWage(double);
double getAddTotal();
void setAddTotal(double);
}
这里是对象之后调用的第一个函数作出─
void PayRoller::initialize();
{
setGrossPay(0.0);
setWage(0.0);
setAddTotal(0.0);
cout << (getGrossPay() + getAddTotal());
start();
}
最后这里的getter和setter-
void PayRoller::setGrossPay(double temp)
{
grossPay = temp;
}
double PayRoller::getWage()
{
return wage;
}
void PayRoller::setWage(double temp)
{
wage = temp;
}
double PayRoller::getAddTotal()
{
return addTotal;
}
void PayRoller::setAddTotal(double temp)
{
wage = temp;
}
当我启动代码(没有调试)我从cout得到的值 in initialize()is -9.25596e + 061
我在做什么错在这里?我似乎无法弄清楚。提前致谢!
“grossPay”甚至定义在哪里? – nneonneo 2013-03-01 06:16:47
getGrossPay()在哪里?为什么你使用initialize()而不是构造函数? – Slava 2013-03-01 06:19:10
是否在构造函数中初始化了'addTotal'? C++在默认情况下不会初始化成员,因此可能由于未初始化的内存,此成员或其他成员正在返回垃圾信息。 – 2013-03-01 06:19:14