有以下程序:#include <iostream>using namespace std;class sample{private: int x; static int y;public: sample(int a) ; static vo

admin2010-12-16  40

问题 有以下程序:#include <iostream>using namespace std;class sample{private:   int x;   static int y;public:   sample(int a) ;   static void print(sample s);};sample:: sample(int a) {   x=a;   y+=x;}void sample::print(sample s){   cout<< "x="<<s. x<<", y="<< y<<end1;}int sampte::y=0;int main(){   sample s1(10);   sample s2(20);   sample::print(s2);   return 0;}程序运行后的输出结果是

选项 A、x=10,y=20
B、x=20,y=30
C、x=30,y=20
D、x=30,y=30

答案B

解析 本题考核静态数据成员和静态成员函数的应用。类sample中定义两个私有成员x和y,其中y为静态数据成员。并定义函数 print()为静态成员函数。在主函数中,定义对象s1(10)时,通过构造函数使对象s1的私有成员x=10,静态数据成员y=10。定义s2(20)时,通过构造函数使对象s2的私有成员x=20,静态数据成员y=10+20=30。程序最后调用静态成员函数print输出对象s2的私有成员x的值20,对象s1、s2共享的静态数据成员y的值30。
转载请注明原文地址:https://kaotiyun.com/show/8Ojp777K
0

最新回复(0)