静态和非静态成员之间发生混淆

时间:2015-03-12 04:40:00

标签: class static

    class equation
 {

  int xc, yc, zc, c;
  static float x,y,z;
  public:
    void getValues()
    {
         cout<<"Enter the coefficeint of x";
         cin>>xc;
         cout<<"Enter the coefficeint of y";
         cin>>yc;
         cout<<"Enter the coefficeint of z";
         cin>>zc;
         cout<<"Enter the value of c";
         cin>>c;
    }
    void update()
    {
        x = -(y*yc + z*zc + c)/xc;
        y = -(x*xc + z*zc + c)/yc;
        z = -(y*yc + x*xc + c)/zc;
    }
    void putValues()
    {
        cout<<"The value of x is : "<<x;
        cout<<"The value of y is : "<<y;
        cout<<"The value of z is : "<<z;
       }
   };
    float equation::x = 0.0;
   float equation::y = 0.0;
    float equation::z = 0.0;

我正在使用代码来实现使用类的高斯seidel方法而不是获得正确的输出。我认为访问静态成员有一些问题,请帮帮我

2 个答案:

答案 0 :(得分:0)

我怀疑你遇到了麻烦,因为你在没有转换到浮点的情况下除以int而不是静态vs动态。你能提供一些不正确的输入和输出吗?或者你可以将你的整体定义为浮动?更好的是使用双倍。

答案 1 :(得分:0)

您输入的是哪些值得出的答案不正确?如果我要进一步提供帮助,我想至少知道你的测试数据是什么。