问题 单项选择题

下面程序的结果为#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。

单项选择题 A1/A2型题
多项选择题