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

admin2009-02-15  25

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

答案2

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

最新回复(0)