• default constructor


    何时会生成default constructor?

     1、带有"Default Constructor"的Member Class Object。

      对于Class Object成员,编译器默认会调用此成员的默认构造函数。那么在哪调呢?答案是本对象的默认构造函数。所以编译器会生成Default Constructor。

     2、带有"Default Constructor"的Base Class。

      对于继承的情况,编译器默认会调用此类父类的默认构造函数。同上,在本对象的默认构造函数里调,所以需要生成Default Constructor。

     3、带有"Virtual Function"的Class。

      对于带virtual function的类,编译器会设置相应的v_ptr。同上,在本对象的默认构造函数里调,所以需要生成Default Constructor。

     4、 带有"Virtual Base Class"的Class。

      此情况同3类似。

    default constructor会做什么?

     1.调用这个对象的构造函数(只会调用默认构造函数,如果找不到,则会编译错误)
     2.调用基类的构造函数
       3.设置正确的虚函数表指针
       4.设置指向虚基类对象的指针

  • 相关阅读:
    二叉树遍历
    nginx反向代理signalr
    SignalR入坑笔记
    CSS一些特殊图形
    Powershell下git中文乱码
    使用VisualStudio直接运行简单的C#语句
    wpf实现一个windows定时关机的工具
    Asp.NetCoreWebApi
    MySql权限丢失问题解决
    Systemd 入门教程:命令篇
  • 原文地址:https://www.cnblogs.com/tekkaman/p/3107035.html
Copyright © 2020-2023  润新知