• c++学习之 继承的方式


    在这里插入图片描述
    在C++中,继承方式(或继承访问权限)有三种:public、protected 和 private,它们决定了派生类(子类)对基类(父类)成员的访问权限,它们之间的区别如下:

    public 继承:

    当使用 public 继承时,基类的公有成员在派生类中仍然保持为公有成员,基类的保护成员在派生类中变为保护成员,基类的私有成员在派生类中不可访问。
    派生类的对象可以访问基类的公有成员,但不能访问基类的私有成员。
    public 继承用于表示派生类是一个基类的特化,派生类的对象可以被当作基类的对象来使用。
    protected 继承:

    当使用 protected 继承时,基类的公有和保护成员在派生类中都变为保护成员,基类的私有成员在派生类中不可访问。
    派生类的对象可以访问基类的保护成员,但不能访问基类的公有成员或私有成员。
    protected 继承用于表示派生类是一个基类的实现细节,并不希望外部使用者直接访问基类的接口。
    private 继承:

    当使用 private 继承时,基类的公有和保护成员在派生类中都变为私有成员,基类的私有成员在派生类中不可访问。
    派生类的对象不能访问基类的公有、保护或私有成员。
    private 继承用于表示派生类是一个基类的实现细节,但不希望派生类公开任何基类的接口,通常用于实现细节的隐藏。
    下面是一个示例来说明这些概念:

    class Base {
    public:
        int publicMember;
    protected:
        int protectedMember;
    private:
        int privateMember;
    };
    
    class PublicDerived : public Base {
        // publicMember 在这里是公有的
        // protectedMember 在这里是保护的
        // privateMember 在这里不可访问
    };
    
    class ProtectedDerived : protected Base {
        // publicMember 在这里是保护的
        // protectedMember 在这里是保护的
        // privateMember 在这里不可访问
    };
    
    class PrivateDerived : private Base {
        // publicMember 在这里是私有的
        // protectedMember 在这里是私有的
        // privateMember 在这里不可访问
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    总之,不同的继承方式决定了派生类如何继承基类的成员以及外部代码对这些成员的可见性。选择合适的继承方式取决于你的设计需求和目标。

  • 相关阅读:
    【ansible问题处理】远程执行用户环境变量加载问题
    抖音矩阵系统,抖音矩阵系统源码。
    .net 6开发linq与lambda写法对照
    java计算机毕业设计可视化工器具信息管理系统源码+mysql数据库+系统+lw文档+部署
    工控机性能常见影响因素——持续更新
    一致性hash算法的应用与go语言实现
    PlugLink:让数据分析与工作流无缝连接(附源码)
    2024rk(案例三)
    黄金票据与白银票据
    算法leetcode|剑指 Offer 27. 二叉树的镜像|226. 翻转二叉树(rust很强)
  • 原文地址:https://blog.csdn.net/wniuniu_/article/details/133617346