我有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/