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

为什么此处要用初始化列表

为什么此处要用初始化列表

正在回答

2 回答

查出来了,因为上面的Time类没有默认构造函数,使用初始化列表是使用拷贝构造函数进行初始化,即是将传入的引用拷贝来在创建Time对象的时候初始化。

若是想在函数中初始化,是先创建一个默认的Time对象后,再本类中进行构造函数中的初始化,因为没有Time没有默认构造函数,所以提前时创建不了Time的对象,所以报错,需要将上面的Time创建一个默认构造函数才可以

10 回复 有任何疑惑可以回复我~

以为初始化列表先于构造函数执行,如使用构造函数来赋值,则用Time的构造函数会将m_tTime初始化,出错,故使用初始化列表,此时外部对象初始化m_Time。

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之模板篇
  • 参与学习       91156    人
  • 解答问题       318    个

本C++教程力求即学即会,所有知识以实践方式讲解到操作层面

进入课程

为什么此处要用初始化列表

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信