假定有如下程序: #include <iostream> using namespace std; int s =0; class example{ static int n; public:

admin2009-01-15  29

问题 假定有如下程序:    #include <iostream>    using namespace std;    int s =0;    class example{         static int n;    public:         example(int i){             n=i;         }         static void add( ){               s+=n;         }    };    int example::n=0;    int main( ){         example a(2),b(5);          example::add();         cout<<s<<endl;         return 0;    }程序运行后输出结果为(    )。

选项 A、2
B、3
C、7
D、5

答案8

解析 程序中定义一个类example,它包括一个静态数据成员n和一个静态成员函数 add(),并在类的构造函数中给类的私有静态数据成员n赋值。在主函数main()中,定义对象a (2)时,通过构造函数使静态数据成员n的值变为2;在定义对象b(5)时,通过构造函数使静态数据成员n=5,再执行example::add()使全局变量s=5。
转载请注明原文地址:https://kaotiyun.com/show/ZZkp777K
0

最新回复(0)