髋骨疼痛怎么治疗:帮忙做两道C++,结果不重要,重要的是过程

来源:百度文库 编辑:高校问答 时间:2024/04/29 04:42:59
#include<iostream.h>
class Sample
{
int x,y;
public:
Sample(){x=y=0;}
Sample(int a,int b){x=a;y=b;}
void disp()
{
cout<<"x="<<x<<",y="<<y<<endl;
}
};
void main()
{
Sample s1,s2(2,3);
s1.disp();
s2.disp();
}

#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"<<endl;
else
cout<<"x!=y"<<endl;
}
void disp()
{
cout<<"x="<<x<<",y="<<y<<endl;
}
};
void main()
{
Sample s1,s2(2,3);
s1.disp();
s2.disp();
}
要答案,更要解题过程

第一题:
main()里面定义s1和s2对象的时候,分别调用前面类定义里面的无参构造函数和2参构造函数进行初始化,因而输出结果分别为:
x=0,y=0
x=2,y=3

第二题:
构造函数是在定义对象的时候调用的,而析构函数是在对象撤销的时候调用的,其他的分析同上题,因此结果为:
x=0,y=0
x=2,y=3
x!=y
x=y

第一题:
main()里面定义s1和s2对象的时候,分别调用前面类定义里面的无参构造函数和2参构造函数(这叫做函数重载)进行初始化 即是s1调用Sample(){x=y=0;} s2调用Sample(int a,int b){x=a;y=b;} ,因而输出结果分别为:
x=0,y=0
x=2,y=3

第二题:
构造函数是在定义对象的时候调用的,而析构函数是在对象撤销的时候调用的,其他的分析同上题,因此结果为:
x=0,y=0
x=2,y=3
x!=y
x=y

第一题答案:
x=0,y=0
x=2,y=3
第二题答案:
x=y
x!=y
主要是一个类中拷贝构造函数的调用问题