如何使一个成员变量等于在 main() 中设置的另一个成员变量?

How do I to make a member variable equal another member variable which is set in main()?

为我的程序考虑以下 C++ 代码:CODE

当我运行这个程序时,它输出如下:

**巧克力块:41

巧克力密度:nan**

我希望程序输出体积变量除以质量变量。它似乎这样做是正确的,但它是将初始化为对象 class 中的变量的值除以,而不是将分配给 main() 函数中的变量的值除以。我该如何解决这个问题?

非常感谢所有帮助!

您告诉软件 "updated" 输入,即 weightvolumemass,但您从未告诉软件更新其 density volumemass 的新值。 density 的值在构造函数中计算一次,当你创建对象时只调用一次 once (更不用说当人们做 0/0 这样的事情时我感到很紧张).需要一个单独的函数来更新密度并调用它。

希望以下提示对您有所帮助:

  1. 使用class constructor初始化class成员,这就是constructors存在的原因。

  2. 使用现有的 setter 更新 density。每次调用 setMasssetVolume 时,重新计算 density.

  3. 无论何时使用除法,请确保不要除以 0。

  4. 用正确类型的常量初始化变量。 0 默认是 int 类型,而 0.0 默认是 double.

  5. 类型

好的,您的程序中有一个错误... 更改此行:

Double getDensity()const{return density;}

收件人:

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

并替换:

Double density = volume/mass;

收件人:

Double density;

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