问题
单项选择题
下列程序的执行结果是( )。#include<iostream.h> class Sample {int x,y;public: Sample() {x=y=0;}Sample(int a,int b) {x=a;y=b;}~Sample(){ if(x==y) cout<<"x=y"<<end1; else cout<<"x!=y"<<end1; } void disp() { cout<<"x="<<x<<",y="<<y<<end1; } }; void main() { Sample s1(2,3); s1.disp(); }
A.x=2,y=2
B.x=3,y:3
C.x=2,y=3
D.x=3,y=2
答案
参考答案:C
解析: 此题考查的是类的构造函数和析构函数。首先,Sample s1(2,3)会调用含有两个参数的构造函数Sample(int a,int b){x=a;y=b;},disp()函数输出成员变量x和y的值:x=2,y=3;然后结束时调用析构函数,因为x和y值不等,故输出x!=y。