当前位置:网站首页>虫子 构造与析构
虫子 构造与析构
2022-06-26 02:47:00 【华为云】
类的6个默认成员函数
如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,==任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数==
构造函数
==构造函数==是一个==特殊的成员函数==,==名字与类名相同,创建类类型对象时由编译器自动调用==,保证每个数据成员都有 一个合适的初始值,并且==在对象的生命周期内只调用一次==。
虽然名字叫构造,但是不是完成对象的构造(名字起的有点不好,但是远古神佬起的名字我们小辈的用还得用哈哈),==构造函数是完成对象的初始化的,类似Init函数==
那么为啥要顶替Init函数
==有人会说构造函数就不会忘记吗,我明确说不会==
特性
==构造函数==是特殊的成员函数,需要注意的是,构造函数的虽然名称叫构造,但是需要注意的是构造函数的主要任务==并不是开空间创建对象,而是初始化对象==。
其特征如下:
- 函数名与类名相同。
- ==无返回值==。
- ==对象实例化时编译器自动调用对应的构造函数==。
- 构造函数可以==重载==。 (重载是为了让你可以有多种初始化方式)
- 如果类中==没有显式定义构造函数,则C++编译器会自动生成一个无参的默认构造函数,==一旦用户显式定
义编译器将不再生成。
6.无参的构造函数和全缺省的构造函数都称为默认构造函数,并且默认构造函数只能有一个。注意:无参
构造函数、全缺省构造函数、我们没写编译器默认生成的构造函数,都可以认为是默认成员函数。==默认构造函数,很多同学都会以为是我们不写,编译器默认生成的那一个,这个理解是不全面的==
==有3个是默认构造函数==
1.我们不写,编译器默认生成的
2.我们写的无参的
3.我们写的全缺省的
一般我们选择全缺省的,因为省事
析构函数
与构造函数功能相反,析构函数不是完成对象的销毁,局部对象销毁工作是由编译器完成的。而==对象在销毁时会自动调用析构函数,完成类的一些资源清理工作==
特性
析构函数是特殊的成员函数
==其特征如下==
- 析构函数名是在==类名前加上字符 ~==。
- 无参数无返回值。
- 一个类==有且只有一个析构函数==(也就是不能重载)。若未显式定义,系统会自动生成默认的析构函数。
- 对象生命周期结束时,C++编译系统系统自动调用析构函数
==先后析构顺序==
我们通过下面GIF也可以发现是st2比st要先析构
5.我们不写编译器会自动生成析构函数
==编译器默认生成的析构函数是什么都不做吗==
边栏推荐
- Can the main RF circuit be removed for projects that do not need the main RF?
- How Inkscape converts PNG pictures to SVG pictures without distortion
- Camtasia 2022全新版超清錄制電腦視頻
- MySQL根据查询的数据更新记录
- Review of the paper: unmixing based soft color segmentation for image manipulation
- 解析少儿编程的多元评价体系
- [solution] the blue screen restart problem of the virtual machine started by the VMware of Lenovo Savior
- Multi surveyor Gongshu Xiao sir_ The solution of using websocket error reporting under working directory
- NoSQL之Redis配置与优化
- [solution] cmake was unable to find a build program corresponding to "UNIX makefiles"
猜你喜欢
培育项目式Steam教育理念下的儿童创造力
[solution] cmake was unable to find a build program corresponding to "UNIX makefiles"
《你不可不知的人性》经典语录
解析社交机器人中的技术变革
How Inkscape converts PNG pictures to SVG pictures without distortion
UE5全局光照系統Lumen解析與優化
OpenAPI 3.0 specification - Food Guide
Components and routing
Additional: brief description of hikaricp connection pool; (I didn't go deep into it, but I had a basic understanding of hikaricp connection pool)
附加:HikariCP连接池简述;(并没有深究,只是对HikariCP连接池有个基本认识)
随机推荐
Network PXE starts winpe and supports UEFI and legacy boot
Use annotationdbi to convert gene names in R
解析少儿编程的多元评价体系
经典模型——NiN&GoogLeNet
Teach you to quickly record sounds on PC web pages as audio files
如何在 R 中的绘图中添加回归方程
Literature reading --- optimize RNA SEQ research to study herbicide resistance (review)
Multi surveyor Gongshu campus Xiao sir_ Page error in Jenkins
Little p weekly Vol.10
学习太极创客 — MQTT(四)服务端连接操作
OpenAPI 3.0 specification - Food Guide
【解决】CMake was unable to find a build program corresponding to “Unix Makefiles“.
Google recommends using kotlin flow in MVVM architecture
Can the main RF circuit be removed for projects that do not need the main RF?
应届毕业生谈毕业的故事
Authorization of database
Good news | congratulations on the addition of 5 new committers in Apache linkage (incubating) community
[QT] custom control - switch
Oracle connectivity issues and Solutions
MySQL根据查询的数据更新记录