初学c++发现了下面这个问题,其中duck是一个已知的类,并以多种方式指定对象的值:
问题在于,上述d1、d2、d3、d4是如何创建的呢?分别调用的哪个函数呢?
c+飞舞吧+中,赋值和初始化是两个不同的概念:
初始化是指对象创建之时指定其初值,分为直接初始化和复制初始化两种(一句);赋值是指对象创建以后指定其值(两句);对于上述d1、d2、d3、d4的创建来说,分别对应下述情况:
直接初始化时,参数为对象所需的值,此时调用构造函数;复制初始化时,参数是一个已存在的类对象,此时调用复制构造函数;赋值时,对象是已经定义好的,调用“重载的等号赋值操作”,使用另一个对象的值计算出此对象的值。
需要特别注意的是下面两种方式都是初始化,而且都是调用的复制构造函数,容易误以为第二种方式是赋值:
对于上述duck
类的初始化以及赋值方式,为了正确的测定每种情况分别调用了什么函数,下面的类中包含了构造函数、复制构造函数、重载等号赋值运算符函数:
使用ction 1
和ction 2
中的各种方式指定对象的值时,可以方便的确定出各个函数的调用情况。
到此这篇关于c++构造函数+复制构造函数过生日作文+重载等号运算符广东大专学校调用的文章就介绍到这了,更多相关c++函数调用西安最好的大学内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后重庆电大在线学习多多支持www.887551.com!
本文发布于:2023-04-06 02:26:56,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/efbc5ddcc64c0217f9fd5979789d4dbc.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:C++构造函数+复制构造函数+重载等号运算符调用.doc
本文 PDF 下载地址:C++构造函数+复制构造函数+重载等号运算符调用.pdf
留言与评论(共有 0 条评论) |