若有如下程序: #include <iostream> using namespaces std; int s=0; class sample { static iht n; pu

admin2009-02-15  30

问题 若有如下程序:      #include <iostream>      using namespaces std;      int s=0;      class sample     {          static iht 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<<endl;          return 0;     }     程序运行后的输出结果是

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

答案2

解析 本题考核静态数据成员和静态成员函数的应用。程序中定义一个类sample,它包括一个静态数据成员n和一个静态成员函数add,并在类的构造函数中给类私有静态数据成员n赋值。在主函数main中,定义对象a(2)时,通过构造函数使静态数据成员n的值变为2,在定义对象b(5)时,通过构造函数使静态数据成员n=5(覆盖了前面的n=2),再执行sample::add()使全局变量s=5。
转载请注明原文地址:https://jikaoti.com/ti/reW0FFFM
0

随机试题
最新回复(0)