因为初始化是在定义的同时赋值且只赋值一次,而构造函数体内是先定义后赋值。 🎧2初始化列表 2.1什么叫初始化列表? 🔎在C++中,构造函数的初始化列表是一种用于在创建对象时对成员变量进行初始化的特殊语法。它出现在构造函数的函数体之前,使用冒号:分隔构造函数的参数列表和初始化列表,初始话列表中的语句用逗号“...
public:// Dog(int weight,int height,int type) //error 构造函数 父类Animal无合适构造函数// {// }// 上面的子类和父类编译会出错:// 因为子类Dog初始化之前要进行父类Animal的初始化,但是根据Dog的构造函数,没有给父类传递参数,使用了父类Animal的无参数构造函数。而父类Animal提供了有参数的构造函数,...
构造函数列表初始化对象或者成员变量的方式 只调用了一次 copy construction 相比使用构造函数内部的opetaror = 这样的赋值方式 给成员变量或对象赋值 效率要高,因为这样的方法 多调用了一次 default construct函数
C++构造函数初始化列表与构造函数中的赋值的区别C++类中成员变量的初始化有两种⽅式:构造函数初始化列表和构造函数体内赋值。⼀、内部数据类型(char,int……指针等) class Animal { public: Animal(int weight,int height): //A初始化列表 m_weight(weight), m_height(height...