【C++】初始化列表及对象组合

初始化列表

实现

实现方式:在构造函数()后跟:,然后给出变量的初始值,如下:
【C++】初始化列表及对象组合
完整的实现如下:

  • 头文件
    【C++】初始化列表及对象组合
  • 源文件
    【C++】初始化列表及对象组合
  • main函数
    【C++】初始化列表及对象组合
  • 结果
    【C++】初始化列表及对象组合

初始化列表与正常在构造函数{}初始化区别

  • 初始化列表可以初始任何类型数据
  • 初始化列表中的变量在构造函数之前完成,而构造函数{}中是在调用构造函数时完成声明与赋值
  • 关键区别在于如果需要对类对象进行申明,如何在{}中申明则需要单独写一个空的构造函数,而使用初始化列表就不会出现这种问题

对象组合

即类定义中使用其他类作为成员变量,如下:
【C++】初始化列表及对象组合
【C++】初始化列表及对象组合