假定有如下程序:
#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
参考答案:D
解析: 程序中定义一个类example,它包括一个静态数据成员n和一个静态成员函数 add(),并在类的构造函数中给类的私有静态数据成员n赋值。在主函数main()中,定义对象a (2)时,通过构造函数使静态数据成员n的值变为2;在定义对象b(5)时,通过构造函数使静态数据成员n=5,再执行example::add()使全局变量s=5。