如何使一个成员变量等于在 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" 输入,即 weight
、volume
和 mass
,但您从未告诉软件更新其 density
volume
和 mass
的新值。 density 的值在构造函数中计算一次,当你创建对象时只调用一次 once (更不用说当人们做 0/0
这样的事情时我感到很紧张).需要一个单独的函数来更新密度并调用它。
希望以下提示对您有所帮助:
使用class constructor
初始化class成员,这就是constructors
存在的原因。
使用现有的 setter 更新 density
。每次调用 setMass
或 setVolume
时,重新计算 density
.
无论何时使用除法,请确保不要除以 0。
用正确类型的常量初始化变量。 0
默认是 int
类型,而 0.0
默认是 double
.
类型
好的,您的程序中有一个错误...
更改此行:
Double getDensity()const{return density;}
收件人:
Double getDensity(){density=volume/mass;return density;}
并替换:
Double density = volume/mass;
收件人:
Double density;
下次请粘贴代码。屏幕截图将不起作用...
为我的程序考虑以下 C++ 代码:CODE
当我运行这个程序时,它输出如下:
**巧克力块:41
巧克力密度:nan**
我希望程序输出体积变量除以质量变量。它似乎这样做是正确的,但它是将初始化为对象 class 中的变量的值除以,而不是将分配给 main() 函数中的变量的值除以。我该如何解决这个问题?
非常感谢所有帮助!
您告诉软件 "updated" 输入,即 weight
、volume
和 mass
,但您从未告诉软件更新其 density
volume
和 mass
的新值。 density 的值在构造函数中计算一次,当你创建对象时只调用一次 once (更不用说当人们做 0/0
这样的事情时我感到很紧张).需要一个单独的函数来更新密度并调用它。
希望以下提示对您有所帮助:
使用
class constructor
初始化class成员,这就是constructors
存在的原因。使用现有的 setter 更新
density
。每次调用setMass
或setVolume
时,重新计算density
.无论何时使用除法,请确保不要除以 0。
用正确类型的常量初始化变量。
0
默认是int
类型,而0.0
默认是double
. 类型
好的,您的程序中有一个错误... 更改此行:
Double getDensity()const{return density;}
收件人:
Double getDensity(){density=volume/mass;return density;}
并替换:
Double density = volume/mass;
收件人:
Double density;
下次请粘贴代码。屏幕截图将不起作用...