欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据

C++中构造函数何时才会构建

当用户未定义一个默认的构造函数,编译器并不是在任何时候都给自动给我们定义一个默认的构造函数,它只会在编译器需要的时候才会生成,并且只有class类型的变量会被初始化,其他的诸如内置类型变量或者指针都不会被初始化,这些变量的初始化工作是程序员的责任。

同样,一个类的默认复制构造函数也不是什么时候都会由编译器自动生成,它需要满足以下几种情况:

  1. 当class内含有一个member object,而这个member object的class声明有一个copy construct时(不论是合成的,还是自己写的);
  2. 当class继承自一个base class,而这个base class存在一个copy construt的时候;
  3. 当class声明了一个或多个虚函数(virtual function)的时候;
  4. 当class派生自一个继承串链,其中有一个或者多个虚基类(virtual base class)的时候。
本博客文章除特别声明,全部都是原创!
原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【C++中构造函数何时才会构建】(https://www.iteblog.com/archives/202.html)
喜欢 (1)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!