A-A+

假定有如下程序: #include <iostream> using namespace s

2022-08-06 06:26:57 问答库 阅读 176 次

问题详情

假定有如下程序: #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。

考点:假定,程序