A-A+

下面程序的结果为 #include<iostream.h> int c; class A {

2022-08-06 01:22:45 问答库 阅读 174 次

问题详情

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

考点:结果,程序