(1) 函数名和类名相同
(2) 没有返回值
(3) 如果不写构造函数,任何类中都存在一个默认的构造函数
i 默认的构造函数是无参的
ii 当我们自己写八大工学院了构造函数,默认的构造函数就不存在
(4) 构造函数在构造对象的时候调用
(5) delete可以用来删掉默认的函数
(6) 指定使用默认的无参构造函数,用default说明
(7) 允许构造函数调用另一个构造函数,只是要用初始化参数列表的写法
(8) 初始化参数列表 : 只有构造函数有
i 构造函数名(参数1,参数2,…):成员1(参数1),成员2(参数2),…{}
ii 避免形参名和数据成员名相同的导致问题
(1) 构造函数用来构造对象
(2) 构造函数更多是用来初始化数据成员
(1)为什么不写构造函数可以构造对象? 是因为存在一个默认的无参构造函数,所以可以构造无参对象
(2) 构造函数重载为了什么? 为了构造不同长相的对象。
(1) 无返回值
(2) 无参数
(3) 函数名: ~类名
(4) 不写的话会存在默认的析构函数
(5) 析构函数不需要自己 调用,对象死亡的之前会调用析构函数
(1) 当类中的数据成员是指针,并且动态申请内存就需要手写析构
外墙清洗方案(2) 析构函数用来释放数据成员申请动态内存
-> 拷贝构造函数也是构造函数,长相和构造函数一样的,只是参数是固定 .拷贝构造函数唯一的参数是对对象引用
-> 不写拷贝构造函数,也存在一个默认的拷贝构造函数
-> 拷贝构造函数作用: 通过一个对象去初始化另一个对象
i 什么时候调用拷贝构造?
答:当通过一个对象去创建出来另一个新的对象时候需要调用拷贝
ii 拷贝构造什么时候需要加const修饰参数?
答:当存在匿台州学院怎么样名对象赋值操作的时候,必须要const修饰
(1)普通对象,构造顺序和析构顺序是相反
(2)new出来的对象,delete会直接调用析构函数
(3)static对象,当程序关闭的时候,生命周期才结束,所以是最后释放
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注www.887551.com的更多内容!
本文发布于:2023-04-06 02:46:55,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/0fd687e202f8d24cb88d5a102007acd6.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:一起来学习C++的构造和析构.doc
本文 PDF 下载地址:一起来学习C++的构造和析构.pdf
留言与评论(共有 0 条评论) |