为了账号安全,请及时绑定邮箱和手机立即绑定

为什么农民工的构造函数初始化列表不能直接给父类数据成员赋值而是要通过传参给父类的构造函数呢?


MigrantWorker::MigrantWorker(string name,string code):m_strName(name),m_strCode(code)

{

cout<<"MigrantWorker()"<<endl;

}

编译结果:error C2614: “MigrantWorker”: 非法的成员初始化:“m_strName”不是基或成员

正在回答

1 回答

m_strName是父类的保护成员,类外部能访问,直接赋值是会报错的

0 回复 有任何疑惑可以回复我~
#1

慕的地8223948 提问者

我的意思是通过初始化列表直接初始化父类数据成员
2017-12-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之继承篇
  • 参与学习       75188    人
  • 解答问题       251    个

继承,C++面向对象三大特征之一,通过编码实践方式讲解到操作层面

进入课程

为什么农民工的构造函数初始化列表不能直接给父类数据成员赋值而是要通过传参给父类的构造函数呢?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号