2017-04-01 147 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; 

下次请粘贴代码。屏幕截图不起作用...

相关问题