A-A+
若有如下程序: #include <iostream> using namespace st
问题详情
若有如下程序: #include <iostream> using namespace std; int s=0; class sample { static int n; public: sample (int i) { n=i; } static void add() { s+=n; } }; int sample: :s=0; int main () { sample a(2),b(5); sample:: add (); cout<<s<<end1; return 0; } 程序运行后的输出结果是()。
A.2
B.5
C.7
D.3请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:B
解析:本题考核静态数据成员和静态成员函数的应用。程序中定义一个类sample,它包括一个静态数据成员n和一个静态成员函数add(),并在类的构造函数中给类私有静态数据成员n赋值。在主函数中,定义对象a(2)时,通过构造函数使静态数据成员n的值变为2,在定义对象b(5)时,通过构造函数使静态数据成员n=5(覆盖了前面的n=2),再执行“sample::add()”使全局变量s=5。