2017-04-01 145 views
-2

考慮我的程序以下C++代碼:CODE如何讓一個成員變量等於在main()中設置的另一個成員變量?

當運行該程序時,其輸出如下:

**巧克力質量:41

巧克力密度:楠**

我希望程序輸出除以質量變量的體積變量。它似乎正確地做到了這一點,但它將初始化的值分割爲對象類中的變量,而不是將分配給main()函數中變量的值分開。我該如何解決?

所有幫助非常感謝!

+2

在問題中包含代碼,而不是通過鏈接。 – 1201ProgramAlarm

+0

btw,密度是質量/體積,而不是體積/質量 –

回答

1

你告訴該軟件的「更新」輸入即weightvolumemass,但你從來沒有告訴過該軟件來更新其density給出的volumemass新值。密度的值在構造函數中計算一次,當您創建對象時,只會調用一次(更不用說當人們執行諸如0/0之類的操作時,我感到非常緊張)。需要單獨的功能來更新密度和呼叫它。

0

我希望下面的提示將幫助:

  1. 初始化使用class constructor S中的類成員,這就是爲什麼constructors存在。

  2. 使用現有的設置器更新density。每次調用setMasssetVolume時,都要重新計算density

  3. 當你使用部門,確保你不爲0

  4. 初始化變量與適當類型的常量劃分。 0的默認類型爲int,而0.0的類型爲double

0

確定存在在你的程序中的錯誤... 改變這一行:

Double getDensity()const{return density;} 

要:

Double getDensity(){density=volume/mass;return density;} 

而更換:

Double density = volume/mass; 

要:

Double density; 

下次請粘貼代碼。屏幕截圖不起作用...

相關問題