[英]How can I use a value from another class in c++?
我有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;
使用Matthieu Brucher的解决方案,我做了以下工作
main.cpp
#include <iostream>
#include "main.hpp"
using namespace std;
int main()
{
MainInt x;
cout << x.x << endl;
return 0;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.