如何使一个成员变量等于在main()中设置的另一个成员变量? 考虑以下C++程序代码:
当我运行此程序时,它会输出以下内容: **巧克力质量:41 巧克力密度:南** 我希望程序输出体积变量除以质量变量。它似乎这样做是正确的,但它将初始化的值除以对象类中的变量,而不是除以分配给main()函数中变量的值。我该如何解决这个问题如何使一个成员变量等于在main()中设置的另一个成员变量? 考虑以下C++程序代码:,c++,class,initialization,getter-setter,C++,Class,Initialization,Getter Setter,当我运行此程序时,它会输出以下内容: **巧克力质量:41 巧克力密度:南** 我希望程序输出体积变量除以质量变量。它似乎这样做是正确的,但它将初始化的值除以对象类中的变量,而不是除以分配给main()函数中变量的值。我该如何解决这个问题 非常感谢您的帮助 您告诉软件“更新”的输入,即重量、体积和质量,但您从未告诉软件更新其密度,因为新的体积和质量。密度的值在构造函数中计算一次,创建对象时只调用一次(更不用说当人们做0/0之类的事情时我会感到非常紧张)。需要一个单独的函数来更新密度并调用它。我希
非常感谢您的帮助 您告诉软件“更新”的输入,即
重量
、体积
和质量
,但您从未告诉软件更新其密度
,因为新的体积
和质量
。密度的值在构造函数中计算一次,创建对象时只调用一次(更不用说当人们做0/0
之类的事情时我会感到非常紧张)。需要一个单独的函数来更新密度并调用它。我希望以下提示能有所帮助:
类构造函数
s初始化类成员,这就是构造函数
存在的原因setMass
或setVolume
时,重新计算密度
0
的类型为int
,而0.0
的类型为double
好的,您的程序中有一个bug。。。 更改此行:
Double getDensity()const{return density;}
致:
并替换:
Double density = volume/mass;
致:
下次请粘贴代码。屏幕截图不起作用…包括问题中的代码,而不是通过链接。顺便说一句,密度是质量/体积,而不是体积/质量
Double density = volume/mass;
Double density;