默认构造函数

默认构造函数:就是没有参数的构造函数,当创建实例,并且没有参数时,编译器就会调用默认构造函数。
但是,如果用户没有给出默认构造时,会发生什么呢?以下情况,编译器会构造一个默认构造函数:

  • 类中有一个成员,这个成员有默认构造函数
  • 类继承自基类,基类存在默认构造函数
  • 类中存在虚函数
  • 类对另一个类进行了虚继承
    另外,编译器生成的默认构造,只完成编译器关心的工作。例如调用成员的默认构造,或者生成虚指针,指向虚函数表。int,char*等没有默认构造的变量,编译器不会初始化它们。

所以,为了所有变量都能初始化,老老实实写默认构造函数吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容