问题 单项选择题

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

选择题
单项选择题