无法在c ++中打印变量a

时间:2014-06-06 04:46:29

标签: c++ global-variables

#include<iostream.h>

int a;
class g{      
    cout<<a;
};

int main()
{
    cout<<a;
    return 0;
}

为什么我无法在班级内部打印全局变量a,但同时,我可以在a内打印main?有没有办法在课堂上使用cout

1 个答案:

答案 0 :(得分:3)

你不能在课堂上写一个这样的语句,它基本上就像在做

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;
}