• C++继承


     继承概念:

           继承机制是面向对象程序设计是代码可以重复利用的重要手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能。这样产生的新类称为派生类(和基类是两个不用的作用域),继承呈现了面向对象程序设计的层次结构,体现了有简单到复杂的认知过程

    三种成员访问限定符:

                 public       (不解释)

                 protected (类内成员,想要被子类继承,但不想要在类外被访问)

                 private      (无法直接在类外访问或者子类中继承)

    继承关系:

                  public继承       class B:public A  //(书写方式B继承A) ;is->a原则

                  protected继承 (基类的非私有成员全都成为子类的保护成员)has-》a原则

                  private继承      (基类的非私有成员全都成为子类的私有成员)

    派生类的默认成员函数:

                  构造函数

                  拷贝构造函数

                  析构函数

                  赋值运算符重载

                  取地址操作符重载

                  const修饰的取地址操作符重载

    继承与转换——赋值兼容规则—public

                 1、子类对象可以赋值给父类对象(切割/切片)

                 2、父类对象不可以赋值给子类对象

                 3、父类的指针/引用可以指向子类对象

                 4、子类指针/引用不能直接指向父类对象(可以通过强制类型转换) //*(B*)&a

    单继承 & 多继承 & 菱形继承

    单继承:(class B:public A) (B只有一个直接父类A)

    多继承:  (class B:public A1,public A2)/(class B:public A1,public A2,public A3...) (B有两个或者两个以上的直接父类)

    菱形继承: (class B1:public A   class B2:public A   class C:public B1   class C:public B2) (存在二义性和数据冗余问题)

    虚继承:   (class B1:virtual public A   class B2:virtual public A) (解决了数据冗余和空间浪费问题,但访问虚继承成员开销会很大) **慎用

    安心下来做技术,笑是最大的福气
  • 相关阅读:
    mongodb3.6 (四)net 客户端如何连接、访问mongodb集群
    mongodb3.6 副本集(三)mongodb 如何做数据备灾
    winform中如何使用确认对话框
    Centos6.5在线配置安装Java环境与Tomcat环境
    IBatis.Net 下使用SqlBulkCopy 大批量导入数据 问题解决
    【easyui-combobox】下拉菜单自动补全功能,Ajax获取远程数据源
    IDEA创建springboot异常(Failed to load class "org.slf4j.impl.StaticLoggerBinder")
    Elasticsearch6.5安装&&常见问题与答案解释
    JS实现多Div模块拖拽功能
    IView入门练习~CDN模式全局加载JS
  • 原文地址:https://www.cnblogs.com/JN-PDD/p/5994152.html
Copyright © 2020-2023  润新知