我正在学习有关课程,我在练习时偶然发现了这个问题。我很困惑,为什么我会得到amount
的垃圾输出,并且为什么事先显示amount
的正确值。正在显示的垃圾值
我哪里错了?
我粘贴了输出。
#include<iostream>
using namespace std;
class Resort{
float charges ;
int days ;
float amount ;
float compute() ;
public:
void getdata();
void disp();
};
void Resort::getdata(){
cout<<"\nCharges : ";
cin>>charges ;
cout<<"\nNo of days : ";
cin>>days ;
}
void Resort::disp(){
cout<<"\nCharges : "<<charges
<<"\nDays : "<<days
<<"\nAmount : "<<compute()<<endl ;
}
float Resort::compute(){
amount = (days*charges) ;
cout<<amount;
}
int main(){
Resort obj ;
obj.getdata();
cout<<"\n\n";
obj.disp();
}
打开/关闭编译器的警告级别。 – chris 2014-09-12 12:46:47
请编译所有警告和调试信息(例如'g +++ -Wall -g')并学习如何使用调试器** – 2014-09-12 12:47:32
我启用了-Wall编译器设置。那是你在说@BasileStarynkevitch的那个人吗? – 2014-09-12 13:09:10