问题
单项选择题
有如下程序: #include<iostream> using namespace std; class A{ public: static int a; void init( ){a=l;} A(int a=2){init( );a++;} }; int A::a=0; A obj; int main( ){ cout<<obj.a; return 0; } 程序的输出结果是
A.0
B.1
C.2
D.3
答案
参考答案:B
解析: 构造函数A中的形参a对静态成员a形成了屏蔽,故只有在成员函数init( )中才将静态成员a的值修改为1,而在其他成员函数中没发生变换,故obj.a=1。