我有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中的一个非静态变量),这样我就可以在控制台上输出x的值。
我该怎么做?

最佳答案

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

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

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


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

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

关于c++ - 如何使用c++中另一个类的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54107816/

10-10 02:17