课程
/后端开发
/C++
/C++远征之继承篇
ChildLabourer(string name, int age):Worker(name),Children(age)
就是:后面的初始化列表为什么初始化的是类的名字而不是变量的名字啊
2018-07-09
源自:C++远征之继承篇 6-4
正在回答
Worker(name),是类Worker的构造函数,传入参数是name
没有为什么吧,应该是语法如此。
如果写的是父类的构造去调用父类的构造,如果是本类中的字段(属性),就初始化本类的字段(属性)。
初始化基类构造函数的变量 把基类构造函数数据传入派生类构造函数
当然了 如果直接是派生类中的变量就可以直接用变量进行初始化了
在继承的情况下直接用基类中变量名写在初始化列表会提示此类中没有此变量,在派生类的列表初始化时 只能调用基类 以此使基类调用自己的构造函数来完成相应变量的初始化 派生类的下一层是基类 再下一层才是基类中的具体变量
上面回答的是
据我的理解,初始化列表是调用构造函数
构造函数与类同名
举报
继承,C++面向对象三大特征之一,通过编码实践方式讲解到操作层面