问题 单项选择题

有如下程序: #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。

单项选择题
单项选择题