问题
单项选择题
下面程序的结果为
#include<iostream.h>
int c;
class A
private:
int a;
static int b;
public:
A( ) a=0;c=0;
void seta( )a++;
void setb( )b++;
void setc( )c++;
void display( ) cout << a << " " << b << " " << C;
;
int A: :b=0;
void main( )
A a1,a2;
a1.seta( );
a1.setb( );
a1.setc( );
a2.seta( );
a2.setb( );
a2.setc( );
a2.display( );
A.1 2 1
B.1 2 2
C.1 1 2
D.2 2 2
答案
参考答案:B
解析: C++语言中全局变量是任何函数都可以改变的量,静态变量的有效范围在定义它的类中,而普通的变量的有效性只在使用它的函数中,在本题中c为全局变量,b为静态变量,a为普通变量,b和c在类A的对象a1和a2中都自加1。所以b,c为 2,a为1。