A-A+

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

2022-08-06 05:09:24 问答库 阅读 176 次

问题详情

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

考点:结果,程序