-----构造函数体赋值 ----初始化 --前奏 各位好友, 下面函数体 对类 对象 赋初始值 行为, 是不可以称为 初始化成员对象 ! 因 初始化行为有且只能有一次, 而函数体类 --内部赋值 可
          ----->构造函数体赋值
---->初始化 -->前奏
各位好友, 下面函数体 对类 对象 赋初始值 行为, 是不可以称为 初始化成员对象 !
因 初始化行为有且只能有一次, 而函数体类 -->内部赋值 可以多次进行 !

---->初始化 -->开启
#include <iostream>
using std::cout;
using std::endl;
// 初探 函数体赋值 --->初始化列表
class Date
{
public:
  Date(int year = 2018, int month = 05, int day = 07)
    :_year(year)
    ,_month(month)
    ,_day(day)		// 要注意格式书写
  {}
  void Print()
  {
  	cout << _year << " - " << _month << " - " << _day << endl << endl;
  }
private:
  int _year;
  int _month;
  int _day;
};
int main()
{
  Date d1;
  d1.Print();
	return 0;
}为了好友们, 有更好地观感体验, 与更好地理解 ! 现 附上有彩色的代码图样 :>

----->解析 初始化列表 :>
---->初始化列表 :以一个冒号开始, 接着 以一个逗号进行分割 --->数据成员列表, 每一个 “成员变量” 后面跟着一个放在括号中的初始化值或者表达式 !
下面,进行 最为重要的特性 分析 :>
1. 每一个成员变量在初始化列表中只能出现一次(初始化有且只能初始化一次)
2. 类中成员, 必须放在初始化列表位置进行初始化:>
A. 引用成员变量;
B. const 成员变量;
C. 自定义类型成员(且该类中没有默认构造函数)
----->验证 初始化列表特性 :>

----->优化版本 :>

---->调试环节 :>


各位好友,此处的 自定义类型对象, 博主无法打印出来 !但还是, 能经过调试直观反映出来 !
----->此处 自定义类型对象, 没有默认构造函数, 需要进行赋值操作;有默认构造函数的前提下, 会去调用它自己的默认构造函数 !
------>初始化列表优先级高于缺省值
---->验证 :>


各位好友, 上述代码模块, 请注意 --->标注区域 !
---->有关于 “ ret ” 随机值 ! 好友们 !可以这么想 -->既然 指针都有野指针, 那么引用也可以有 “ 野引用 ”
其实, 这只是为了方便理解, 特别起了这么一个 “ 叫法 ”
