问题
单项选择题
下列程序段的执行结果为( )。 #include<iostream> using namespace std; class example{int n; public:example(int i){n=i;}void add(){s+=n;}static int s;void pr(){ cout<<s<<endl;} }; int example::s=0; int fuc(char *x); int main(){example x(2),y(3),z(4);x. add();y. add();z.pr();return 0; }
A.2
B.3
C.5
D.6
答案
参考答案:C
解析: s为静态数据成员,其初始值为0。a,b,c为定义的3个对象,其各自的私有成员n为2,3,4。执行 x.add();语句后,s=2;再执行y.add();后,s=5;最后执行输出语句 z.pr(),即输出s的值5。