【C++奇遇记】构造函数 | 初始化列表

2024-02-27 1346阅读

温馨提示:这篇文章已超过388天没有更新,请注意相关的内容是否还可用!

🎬 博客主页:博主链接

🎥 本文由 M malloc 原创,首发于 CSDN🙉

🎄 学习专栏推荐:LeetCode刷题集 数据库专栏 初阶数据结构

🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

📆 未来很长,值得我们全力奔赴更美好的生活✨

【C++奇遇记】构造函数 | 初始化列表

【C++奇遇记】构造函数 | 初始化列表

文章目录

  • 😇本章详情
  • 😇初始化列表的前情介绍
    • 😇尽量先使用初始化列表初始化
    • ✉初始化列表的顺序
    • 📃如何巩固学习
    • 📃本文小结

      😇本章详情

      🐤本篇文章将讲授C++的初始化列表相关的知识

      😇初始化列表的前情介绍

      😁以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在括号中的初始值或表达式。

      class Date
      {
      public:
      	Date(int year, int month, int day)
      		:_year(year)
      		,_month(month)
      		,_day(day)
      	{}
      private:
      	int _year;
      	int _month;
      	int _day;
      };
      

      【C++奇遇记】构造函数 | 初始化列表


      注意

      1、每个成员变量在初始化中只能出现一次(初始化只能初始化一次)

      2、类包含一下成员,必须放在初始化列表位置进行初始化:

      1. 引用成员变量
      2. const成员变量
      3. 自定义类型成员(且该类没有默认构造函数时)
      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 
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]