赞
踩
创作内容不易,学习的朋友麻烦关注下博主,后面学习不迷路。有不会的问题也可以论坛咨询博主,博主也会及时回复~~
将已有的对象赋给另一个对象时,将使用重载的赋值运算符
而复制构造函数和赋值运算符的区别在于
复制构造函数用于将一个对象复制到新创建的同类对象中
这里我们来看一个例子

这里再第一个创建String对象y的时候,会打印字符串加1。而在次把x赋值给x的时候就会打印字符串加2.
这里我们重载赋值运算符的参数是String类对象的引用。如果去掉了,我们来看下效果

可以看到这里我们只有三个类对象,但是却触发了4次的析构函数,那个多出的一次就是重载赋值运算符的参数String tmp。上面说过复制构造函数用于将一个对象复制到新创建的同类对象中。当执行z = x的时候,其实x会赋值给一个Sring tmp这个新的类对象,当离开函数的后结束。触发析构函数。
我们今天的内容到这就结束了,今天的内容到这里就结束了,如果有啥不会的朋友记得论坛里面提问哈~
如果朋友你感觉文章的内容对你有帮助,可以点赞,关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。