zoukankan      html  css  js  c++  java
  • 编译器生成默认构造函数的情况

      

    在类没有显示声明构造函数的情况下,编译器并不总是为我们自动生成默认构造函数,以下4种情况,编译器才会为我们自动生成默认构造函数:

      1.类中有一个类成员含有默认构造函数的,编译器会为该类自动生成默认构造函数,自动插入代码,调用该成员的构造函数;

      2.基类中含有默认构造函数,编译器会为该类自动生成默认构造函数,自动插入代码,调用基类的构造函数;

      3.类中含有虚函数时,由于编译器要为该类生成虚函数表vtable,并为该类的对象生成指向该vtable的vptr,所以需要为该类合成默认构造函数;

      4.虚继承时;

      除了这四种情况,编译器不会为我们自动生成默认构造函数,例如类中的整数、指针、数组等,因为这些成员的初始化对编译器来说都不是必要的,所有都不会自动被初始化,这些成员的初始化需要程序员自己显示编写代码实现;

  • 相关阅读:
    Markdown 简明语法手册
    linuxmint
    添加 Windows 8.1 无虚拟机启动项 解决极品飞车的不支持虚拟机报错
    工作室案例在线展示
    流风ASP.NET框架商业版-工作流1.0简介
    GNS3的使用2
    再见
    JSR303结合切面校验参数
    统一异常处理
    分布式会话
  • 原文地址:https://www.cnblogs.com/coderxiaocai/p/4996085.html
Copyright © 2011-2022 走看看