您的位置:首页 > 编程语言 > C语言/C++

C++拷贝构造函数

2015-08-29 22:27 155 查看
拷贝,顾名思义,就是复制啦。在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
参考很多资料,如有侵权,敬请告知,立马删除。谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: