拷贝构造函数

编译器对于从现有的对象产生新的对象这一事件的处理不近如人意

一般的拷贝,如函数参数为对象时,编译器会把这个对象完整的拷贝一份,这样的拷贝被称为"位拷贝",但是这样拷贝可能带来问题,如在构造函数中我们有对这个对象的一些初始化,比如记录这个对象创造的时间,然后把这个时间存在对象中,如果使用"位拷贝",那么拷贝得到的对象的时间值和原对象是相同的,不仅函数参数为对象时会出现这样的问题,函数返回值为对象时也会出现这样的问题

解决这个问题的方法就是写一个拷贝构造函数,X(X& x)是类X的拷贝构造函数,如果有这个构造函数,编译器在进行对象拷贝时就会先调用这个拷贝构造函数

posted on 2012-06-01 09:59  york_hust  阅读(189)  评论(0编辑  收藏  举报