【C++奇遇记】构造函数 | 初始化列表
温馨提示:这篇文章已超过388天没有更新,请注意相关的内容是否还可用!
🎬 博客主页:博主链接
🎥 本文由 M malloc 原创,首发于 CSDN🙉
🎄 学习专栏推荐:LeetCode刷题集 数据库专栏 初阶数据结构
🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📆 未来很长,值得我们全力奔赴更美好的生活✨
文章目录
- 😇本章详情
- 😇初始化列表的前情介绍
- 😇尽量先使用初始化列表初始化
- ✉初始化列表的顺序
- 📃如何巩固学习
- 📃本文小结
😇本章详情
🐤本篇文章将讲授C++的初始化列表相关的知识
😇初始化列表的前情介绍
😁以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在括号中的初始值或表达式。
class Date { public: Date(int year, int month, int day) :_year(year) ,_month(month) ,_day(day) {} private: int _year; int _month; int _day; };注意
1、每个成员变量在初始化中只能出现一次(初始化只能初始化一次)
2、类包含一下成员,必须放在初始化列表位置进行初始化:
- 引用成员变量
- const成员变量
- 自定义类型成员(且该类没有默认构造函数时)
class AA { public: AA(int a) :_a(a) {} private: int _a; }; class B { public: B(int a, int ref) :_aobj(a) , _ref(ref) , _n(10) {} private: AA _aobj; // 没有默认构造函数 int& _ref; // 引用 const int _n; // const };😇尽量先使用初始化列表初始化
前言
📝尽量使用初始化列表初始化,因为不管你是否使用初始化列表,对于自定义类型成员变量,一定会先使用初始化列表初始化。
class Time { public: Time(int hour = 0) :_hour(hour) { cout
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!



