1 利用构造函数进行类型转换
#include <iostream>
class CSample{
int x, y;
public:
CSample(int a, int b)
{
x = a;
y = b;
cout <<"x=" << x <<'\t' << "y = " << y << '\t' << "调用构造函数!\n";
}
};
void main(void)
{
CSample x1(12,105);
x1=CSample(45,78);
}
CSample(45,78) 通过类构造函数将数据(45,78)转换为CSample类型的临时对象然后将该临时对象通过赋值语句
赋给x1,完成后,立即撤销该对象
2 复制构造函数
1)系统自动产生,当用户没有定义复制构造函数时,系统会产生一个复制构造函数
class CPoint
{
int x, y;
public:
CPoint(){x = 0, y = 0;};
CPoint(int vx, int vy)
{x = vx; y = vy;}
void Print()
{
cout << x << '\t' << y << '\n';
}
};
void main()
{
CPoint pt1(100,200);
CPoint pt2(pt1);
pt1.Print();
pt2.Print();
system("pause");
}
2)用户自定义复制构造函数
作用:可以再自定义的复制构造函数中执行一些操作,如分配内存空间。