如何使一个成员变量等于在main()中设置的另一个成员变量? 考虑以下C++程序代码:

如何使一个成员变量等于在main()中设置的另一个成员变量? 考虑以下C++程序代码:,c++,class,initialization,getter-setter,C++,Class,Initialization,Getter Setter,当我运行此程序时,它会输出以下内容: **巧克力质量:41 巧克力密度:南** 我希望程序输出体积变量除以质量变量。它似乎这样做是正确的,但它将初始化的值除以对象类中的变量,而不是除以分配给main()函数中变量的值。我该如何解决这个问题 非常感谢您的帮助 您告诉软件“更新”的输入,即重量、体积和质量,但您从未告诉软件更新其密度,因为新的体积和质量。密度的值在构造函数中计算一次,创建对象时只调用一次(更不用说当人们做0/0之类的事情时我会感到非常紧张)。需要一个单独的函数来更新密度并调用它。我希

当我运行此程序时,它会输出以下内容:

**巧克力质量:41

巧克力密度:南**

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


非常感谢您的帮助

您告诉软件“更新”的输入,即
重量
体积
质量
,但您从未告诉软件更新其
密度
,因为新的
体积
质量
。密度的值在构造函数中计算一次,创建对象时只调用一次(更不用说当人们做
0/0
之类的事情时我会感到非常紧张)。需要一个单独的函数来更新密度并调用它。

我希望以下提示能有所帮助:

  • 使用
    类构造函数
    s初始化类成员,这就是
    构造函数
    存在的原因

  • 使用现有设置器更新密度。每次调用
    setMass
    setVolume
    时,重新计算
    密度

  • 无论何时使用除法,请确保不被0除

  • 使用正确类型的常量初始化变量<默认情况下,
    0
    的类型为
    int
    ,而
    0.0
    的类型为
    double


  • 好的,您的程序中有一个bug。。。 更改此行:

    Double getDensity()const{return density;}
    
    致:

    并替换:

    Double density = volume/mass;
    
    致:


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

    包括问题中的代码,而不是通过链接。顺便说一句,密度是质量/体积,而不是体积/质量
    Double density = volume/mass;
    
    Double density;