php中拷贝构造函数、赋值运算符重载

 更新时间:2012年07月25日 15:29:34   作者:  
php中拷贝构造函数、赋值运算符重载方法, 需要的朋友可以参考下
对象的赋值与复制: 赋值:通过“ = ”运算符重载
User a(10),b;
b = a;
复制:调用复制构造函数
User b;
User a(b);
或者
User a = b;//相当于User a(b);
与赋值的区别,赋值是对一个已经存在的对象进行赋值(已经实现定义了被赋值的对象),而复制是从无到有建立一个新的对象,并使它与已有的对象相同。
浅复制与深复制: 若对象中有指针成员,在复制时,只会将该指针成员的地址复制给新建立的对象,因此,两个对象中的指针成员都指向了同一块内存区域,在释放时会出现重复释放的问题。 需要手动定义复制构造函数,在构造函数中将为指针变量分配新的内存,是不同对象的指针成员指向不同的内存区域。
用到拷贝构造函数的三种情况: 1、需要建立一个新对象,并用另一个同类对象对其进行初始化 2、函数的参数为类的对象时,在调用函数时需要建立一个实参的拷贝,按实参复制一个形参,系统是通过调用拷贝构造函数实现的 3、函数的返回值是类的对象:函数调用结束时,需要将函数中的对象复制一个临时对象,并传给该函数的调用处。
复制代码 代码如下:

User getUser()

User temp; 
return temp;
}
int main()

User user = getUser();//调用getUser();
}

getUser()函数调用结束时,getUser中建立的对象temp的生命周期结束(即将销毁),所以不是将temp带回main,而是在执行return语句时,调用User类的拷贝构造函数,按temp拷贝一个新的、对象,然后将它赋值给user.

相关文章

  • 老版本PHP转义Json里的特殊字符的函数

    老版本PHP转义Json里的特殊字符的函数

    本文给大家分享的是一则在老版本的php里使用的PHP转义Json里的特殊字符的函数,虽然不是很实用了,但还是记录一下,有需要的小伙伴可以参考下。
    2015-06-06
  • php实现与python进行socket通信的方法示例

    php实现与python进行socket通信的方法示例

    这篇文章主要介绍了php实现与python进行socket通信的方法,结合实例形式分析了php使用自定义类发送socket请求数据及Python接收socket数据并处理请求等相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • PHP安全配置

    PHP安全配置

    PHP其实不过是Web服务器的一个模块功能,所以首先要保证Web服务器的安全。当然Web服务器要安全又必须是先保证系统安全,这样就扯远了,无穷无尽
    2006-12-12
  • PHP中substr()与explode()函数用法分析

    PHP中substr()与explode()函数用法分析

    这篇文章主要介绍了PHP中substr()与explode()函数用法分析,以实例的形式较为详细的讲述了substr()与explode()函数处理字符串的技巧,是字符串操作中使用频率比较高的函数,具有一定的实用价值,需要的朋友可以参考下
    2014-11-11
  • 刚才在简化php的库,结果发现很多东西

    刚才在简化php的库,结果发现很多东西

    刚才在简化php的库,结果发现很多东西...
    2006-12-12
  • PHP静态新闻列表自动生成代码

    PHP静态新闻列表自动生成代码

    PHP静态新闻列表自动生成代码...
    2007-06-06
  • PHP如何实现HTTP验证

    PHP如何实现HTTP验证

    这篇文章主要介绍了PHP如何实现HTTP验证,帮助大家更好的理解和学习使用PHP,感兴趣的朋友可以了解下
    2021-04-04
  • PHP缓存集成库phpFastCache用法

    PHP缓存集成库phpFastCache用法

    这篇文章主要介绍了PHP缓存集成库phpFastCache用法,包括基本用法的分析与操作实例,在PHP项目开发中非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • 实例讲解通过​PHP创建数据库

    实例讲解通过​PHP创建数据库

    在本篇文章里小编给大家分享了关于如何通过​PHP创建数据库的知识点内容,有需要的朋友们学习下。
    2019-01-01
  • PHP中常用的转义函数

    PHP中常用的转义函数

    这篇文章主要介绍了PHP中常用的转义函数、安全函数,使用这些函数可以过滤大部份常见的攻击手段,如SQL注入,需要的朋友可以参考下
    2014-02-02

最新评论