zoukankan      html  css  js  c++  java
  • c++ 抽象类 多继承 构造析构顺序简介

    抽象类

    纯虚函数,虚函数后面加 = 0

    含有至少一个纯虚函数的类称之为抽象类

    抽象类不能实例化对象

    纯虚函数声明不能含有函数体,函数体可以放在类外

    纯虚析构函数必须有函数体

    如果子类没有重写父类的纯虚函数,子类仍然是个抽象类

    应用  规范化派生类的接口,和某些不适合生成对象的父类

    Overridefinal

    Override

    如果子类重写了父类的虚函数,可以使用override来说明

    Override不能用于一般的成员函数和子类自己的虚函数

    Final

    不允许子类重写父类函数

    多重继承

    语法

    子类会继承所以父类的数据和成员函数

    内存

    先父类后子类

    父类的内存排序顺序受继承顺序的影响

    指针转换

    当子类对象赋给父类指针的时候,会自动转换为父类位于子类内存中的首地址

    This指针也会发生类似的转换

    菱形继承

    子类有两份基类的数据

    虚继承解决菱形继承的问题

    虚继承中,虚基类的数据只有一份放在对象的末尾

    构造析构的顺序

    先构造父类后构造子类

    构造顺序受继承顺序影响

    析构的顺序与构造相反

    构造析构的顺序

    先构造虚基类,在构造中间父类,最后构造子类

    跟构造的顺序相反

    学如逆水行舟,不进则退。 博客园技术交流群 群 号:1073255314 (本群没人,刚刚建立 -_-!!! )
  • 相关阅读:
    php 修改、增加xml结点属性的实现代码
    mysql rand随机查询记录效率
    分享:mysql 随机查询数据
    分享:perl 文件操作总结
    分享:Perl打开与读取文件的方法
    js日期相关函数总结分享
    php后台如何避免用户直接进入方法实例
    python 函数的进阶
    python 初识函数
    python 冒泡排序
  • 原文地址:https://www.cnblogs.com/Mj-NaijAm/p/13612656.html
Copyright © 2011-2022 走看看