栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

第五十三课 多重继承(上)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第五十三课 多重继承(上)

第五十三课 多重继承(上)

文章目录
  • 第五十三课 多重继承(上)
    • 一、多重继承
    • 二、多重继承缺点
    • 三、小结

一、多重继承
  • C++ 支持编写多重继承的代码

  • 一个子类可以拥有多个父类

  • 子类拥有所有父类的成员变量

  • 子类继承所有父类的成员函数

  • 子类对象可以当作任意父类对象使用

    示例
    class test1{
    
    };
    class test2{};
    class test3 : test1,test 2
    {};
    
二、多重继承缺点
  • 通过多重继承得到的对象可能拥有不同的地址

  • 多重继承可能产生冗余成员

    可以用虚继承的方法解决

    class C1 : virtual public C2;
    继承时添加virtual进行虚继承
    虚继承能够解决数据冗余的问题,但是中间层父类不再关心顶层父类的初始化,最终子类必须调用顶层父类的构造函数
    当嫁狗设计需要继承时,无法确定使用直接继承还是虚继承
    
三、小结
  • C++ 支持多重继承的编程方式

  • 多重继承容易带来问题

    可能出现“同一个对象的地址不同”的情况

    虚继承可以解决数据冗余的问题

    虚继承使得架构设计可能出现问题

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/879711.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号