单选题
下列程序的执行结果是______。
#include
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"<<endl;
else
cout<<"x!=y"<<endl;
}
void disp()
{
cout<<"x="<<x<<",y="<<y<<endl;
}
};
void main()
{
Sample s1(2,3);
s1.disp();
}
A B C D
C
[解析] 本题考查类的构造函数和析构函数。首先,Samples1(2,3);会调用含有两个参数的构造函数Sample(int a,int b){x=a;y=b;},disp()函数输出成员变量x和y的值x=2,y=3;然后结束时调用析构函数,因为x和y值不等,故输出x!=y。
A、
x=2,y=2
B、
x=3,y=3
C、
x=2,y=3
D、
x=3,y=2
【正确答案】
C
【答案解析】
[解析] 本题考查类的构造函数和析构函数。首先,Samples1(2,3);会调用含有两个参数的构造函数Sample(int a,int b){x=a;y=b;},disp()函数输出成员变量x和y的值x=2,y=3;然后结束时调用析构函数,因为x和y值不等,故输出x!=y。
提交答案
关闭