问题 单项选择题

下面程序的结果为( )。  #include<iostream.h>  intC;  classA  {    private:      inta;      staticintb;    public:      A( ){a=0;c=0;}      voidseta( ){a++;}      voidsetb( ){b++;}      voidsetc( ){c++;}      voiddisplay( ){cout<<a<<""<<b<<""<<c;}  };  intA::b=0;  voidmain( )  {    Aa1,a2;    a1.seta( );    a1.setb( );    a1.setc( );    a2.seta( );    a2,setb( );    a2.setc( );    a2.display( );  }

A.121

B.122

C.112

D.222

答案

参考答案:B

解析:C++语言中全局变量是任何函数都可以改变的量,静态变量的有效范围在定义它的类中,而普通的变量的有效性只在使用它的函数中,在本题中c为全局变量,b为静态变量,a为普通变量,b和c在类A的对象a1和a2中都自加1。所以b,c为2,a为1。

解答题
单项选择题