如何让一个成员变量等于在main()中设置的另一个成员变量?
问题描述:
考虑我的程序以下C++代码:CODE如何让一个成员变量等于在main()中设置的另一个成员变量?
当运行该程序时,其输出如下:
**巧克力质量:41
巧克力密度:楠**
我希望程序输出除以质量变量的体积变量。它似乎正确地做到了这一点,但它将初始化的值分割为对象类中的变量,而不是将分配给main()函数中变量的值分开。我该如何解决?
所有帮助非常感谢!
答
你告诉该软件的“更新”输入即weight
,volume
和mass
,但你从来没有告诉过该软件来更新其density
给出的volume
和mass
新值。密度的值在构造函数中计算一次,当您创建对象时,只会调用一次(更不用说当人们执行诸如0/0
之类的操作时,我感到非常紧张)。需要单独的功能来更新密度和呼叫它。
答
我希望下面的提示将帮助:
初始化使用
class constructor
S中的类成员,这就是为什么constructors
存在。使用现有的设置器更新
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;
下次请粘贴代码。屏幕截图不起作用...
在问题中包含代码,而不是通过链接。 – 1201ProgramAlarm
btw,密度是质量/体积,而不是体积/质量 –