下面程序的结果为 #include<iostream.h> int C; class A { private: int a; static int b; public:

admin2010-03-29  29

问题 下面程序的结果为    #include<iostream.h>    int C;    class A    {       private:           int a;           static int b;       public:           A()  {a=0;c=0;}           void seta(){a++;}           voidsetb(){b++;}           voidsetc(){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.seth();       a2.setc();       a2.display();    }

选项 A、1 2 1
B、1 2 2
C、1 1 2
D、2 2 2

答案2

解析 C++语言中全局变量是任何函数都可以改变的量,静态变量的有效范围在定义它的类中,而普通的变量的有效性只在使用它的函数中,在本题中c为全局变量,b为静态变量,a为普通变量,b和c在类A的对象a1和a2中都自加l。所以b,c为 2,a为1。
转载请注明原文地址:https://jikaoti.com/ti/LSW0FFFM
0

最新回复(0)