如何使用c ++中另一个类的值?

时间:2019-01-09 10:19:00

标签: c++ class variables

我有main函数和一个类,我正在尝试使用main另一个类中的int。

  

main.cpp

#include <iostream>
#include "main.hpp"

using namespace std;

int main()
{
    cout << MainInt::x << endl;
    return 0;
}
  

main.hpp

class MainInt
{
public:
    MainInt();
    int x;
};

MainInt::MainInt()
{
    x = 1;
}

我目前的操作方式不正确。我觉得cout << MainInt::x << endl;只是在调用变量x。

  

当前我得到error: invalid use of non-static data member 'x'

我需要调用 x ,这是 MainInt 中的非静态变量,这样我就可以在控制台。 我该怎么做?

2 个答案:

答案 0 :(得分:1)

x都是静态变量(也称为全局变量),在这种情况下,应为:

class MainInt
{
public:
    MainInt();
    static int x;
};

// in cpp:
int MainInt::x = 1;

或它是一个传统变量,就像在构造函数中那样。在这种情况下,您需要实例化一个对象:

MainInt variable;
cout << variable.x << endl;

答案 1 :(得分:1)

使用Matthieu Brucher's解决方案,我执行了以下操作

  

main.cpp

#include <iostream>
#include "main.hpp"

using namespace std;

int main()
{
    MainInt x;
    cout << x.x << endl;
    return 0;
}