若有以下程序: #include <iostream> using namespace std; class myClass { private: int var; public: myClass

admin2010-03-29  28

问题 若有以下程序:    #include <iostream>    using namespace std;    class myClass    {    private:       int var;    public:       myClass(int i)       {          var=i;       }       void add()       {          s+=var;       }       static int s;       void display()       {          cout<<s<<end1;       }    };    int myClass::s=0;    int main ( )    {       myClass a(1),b(2),c(3);       a.add();       b.add();       c.dislay();       return O;    }    程序执行后的输出结果是(   )。

选项 A、1
B、4
C、3
D、7

答案4

解析 本题考核静态数据成员的应用。解本题的关键是知道静态数据成员类中所有对象共享的成员。每个对象对静态数据成员的操作具有叠加效果。本题在类 myClass中定义了一个静态数据成员s,其初始值为0。定义了3个对象a、b和c,并分别初始化各自的私有成员n为1、2和3。执行“a.add();”语句后,静态数据成员s=1。再执行语句“b.add();”后,s的值变为3。最后执行输出语句“c.display();”,即输出s的值7。
转载请注明原文地址:https://jikaoti.com/ti/QNW0FFFM
0

最新回复(0)