拷贝,顾名思义,就是复制啦。在C/C++语言中,赋值岂不是很简单吗?然而,在类中呢,包含了很多不同类型的成员变量。也可以回想一下结构体是怎么复制拷贝的呢?拷贝在我们眼中算是基本操作啦,所以,在类中,就算你不定义,系统也会自己生成一个拷贝构造函数来帮你完成复制的使命。
那就是拷贝构造函数啦:
class A
{
int a;
int b;
A(int x = 0, int y = 1):a(x), b(y){}
A(const A& B)//拷贝构造函数
{
a = B.a;
b = B.b;
}
};
一般会有三个地方用到拷贝构造函数:
1)建立新对象,并用同类对象初始化时;
2)函数的参数为类的对象时;
3)函数的返回值为类的参数时。
如果类中包含动态分配,那就牵扯到浅拷贝和深拷贝的问题了。
有一篇博文总结的非常棒,推荐给大家咯:
http://blog.csdn.net/lwbeyond/article/details/6202256
参考很多资料,如有侵权,敬请告知,立马删除。谢谢