我在C++中遇到了這個小問題:當我嘗試檢查字段的值時,爲什麼會得到一個奇怪的答案?
我在名爲angle.cpp的文件中創建了一個名爲Angle
的對象。 它有一個double
類型的字段叫degrees
。
這裏是我的構造吧:
Angle::Angle(double deg)
{
degrees = deg;
}
我有我的角度類的適當的聲明在一個單獨的頭文件作爲標準配置。 到目前爲止,一切都看起來很簡單。
但是在我的main.cpp我有這個在我的功能之一:
double value;
cin >> value;
Angle angle = Angle(value);
此時angle
對象的degrees
應該有我鍵入到cin
權的任何值?
我叫getDegrees()
在angle.cpp剛剛返回無論degrees
是另一種功能,因爲我做了degrees
私人頭文件
但是當我用cout << angle.getDegrees()
檢查,我得到這樣一個6.64651e-315
數怪異,這絕對不是我給value
到cin
。
Angle.h看起來像什麼,Angle.cpp的其餘部分是什麼樣的? – nhgrif
您發佈的代碼沒有任何內在的錯誤。如果您的「cin」輸入無法正確解析爲double(例如,文本字符串而不是數字),則會得到奇怪的結果。無論是你還是在你沒有顯示的代碼中犯了一些錯誤。 – vinaut
在將它發送給構造函數以驗證其輸入是否正確之前,您是否嘗試過'value'的'std :: cout'值? –