C++给类成员真·初始化的唯一方式就是成员初始化列表,也即构造函数后面跟冒号的形式。
还有一个假·初始化:直接创建类成员(调用类成员的默认构造函数),在类的构造函数里进行赋值操作。
Warrior::Warrior(int id, int hp, int atk, CampEnum camp,Time& time, vector<Place*>&places)
:_timeTickle(time), _places(places)
区别:
类的构造函数后面跟冒号:系统创建类成员变量并初始化(本例中调用复制构造函数)。
类的构造函数里面等号赋值的方式:系统创建成员变量(调用默认构造函数),再进行赋值。