我正在學習有關課程,我在練習時偶然發現了這個問題。我很困惑,爲什麼我會得到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