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

How can I use a value from another class in c++?

本文关键字:另一个 c++      更新时间:2023-10-16

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

主.cpp

#include <iostream>
#include "main.hpp"
using namespace std;
int main()
{
    cout << MainInt::x << endl;
    return 0;
}

主.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 的解决方案,我做了以下操作

主.cpp

#include <iostream>
#include "main.hpp"
using namespace std;
int main()
{
    MainInt x;
    cout << x.x << endl;
    return 0;
}
相关文章: