繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM