【C++】菱形继承

本文探讨了C++中的菱形继承,解释了继承与多态的重要性。介绍了继承的基本概念,包括public、private和protected继承的区别。强调了菱形继承可能导致的数据冗余和二义性问题,并详细阐述了虚继承如何解决这些问题,尽管虚继承带来了内存管理和效率的挑战。
摘要由CSDN通过智能技术生成

菱形继承:

继承与多态是C++中重要的概念

继承的基本概念:

派生类(子类)是 具有基类(父类)性质的特殊群体,比如人是父类,学生/老师各是一个子类。
- 继承是面向对象复用的重要手段
- 三种限定修饰符:public private protected
- 基类的私有成员是不能在派生类中被访问的,如果一些成员对象不想再基类中被直接访问,但可以在派生类中被访问,可以被定义为保护成员。保护成员限定符是因为基础而出现的。
- public是一个接口继承,保持is-a原则。每个父类的成员对子类都可用,每个子类的对象也是父类的对象。
- protected/private是实现继承,保持has-a原则,基类的部分成员并未成为子类的一部分。
- class默认继承方式是private,struct默认是public。

class A
{
    void f()
    {
        cout << "A::f()" << endl;
    }
public:
    int _a;
};
class B : 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值