重庆到泉州飞机票查询:关于c++调用顺序的问题

来源:百度文库 编辑:高校问答 时间:2024/05/05 06:30:33
#include<iostream.h>
class Sample 1
{ int x,y ; 2
public;
Sample(){x=y=0} 3
Sample(inta,intb){x=a;y=b;} 4
Sample() 5
{
if(x==y) cout<<"x/=y"<<end; 6
}
void disp() 7
{cout<<"x="<<X<<".y="<<y<<endl;} 8
}

void main() 9
{Sample s1,s2(2,3)}; 10
s1.disp(); 11
s2.disp(); 12
}

答案:x=0,y=0
x=2,y=3
x!=y
x=y
问提是执行程序时顺序是怎样的?
s1::Disp() //输出的是 x=0, y=0
s2::Disp() //输出的是 x=2, y=3
那x!=y
x=y
是执行哪部分出来的?

line 5: 应该是 ~Sample() 吧
顺序是:
s1::Sample()
s2::Sample(int a, int b)
s1::Disp()
s2::Disp()
s2::~Sample()
s1::~Sample()