下面程序的结果为 #include int c; class A { private: int a; static int b; publi

12 查阅

下面程序的结果为

#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( ) ;

al .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和s2中都自加1。所以b、c为 2,a为1。

计算机二级