不能在c++中打印变量a

not able to print variable a in c++

本文关键字:变量 打印 c++ 不能      更新时间:2023-10-16
#include<iostream.h>
int a;
class g{      
    cout<<a;
};
int main()
{
    cout<<a;
    return 0;
}

为什么我不能在类中打印全局变量a,但同时,我能够在main中打印a ?有没有办法在一个类中使用cout ?

你不能在类中间写这样的语句,这本质上就像在

struct g
{
  cout << a;
};

没有意义,而是在g中定义一个方法,在这种情况下,静态方法就可以了,因为你的变量无论如何是全局的。

int a;
class g
{
public:
  static void printA()
  {
    cout<<a;
  }
};
// now you can print a
int main()
{
 cout<<a;
 g::printA();
 return 0;
}