C++拷贝构造函数

来源:互联网 发布:网络代理兼职 编辑:程序博客网 时间:2024/05/17 07:36

        拷贝,顾名思义,就是复制啦。在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

       

        参考很多资料,如有侵权,敬请告知,立马删除。谢谢

0 0
原创粉丝点击