zoukankan      html  css  js  c++  java
  • C++基础 (7) 第七天 多态的原理 纯虚函数和抽象类 依赖倒置原则

    1 昨日回顾

    2 多态的原理

    1 要有继承

    2 要有子类重写父类的虚函数

    3 父类指针(或者引用)指向子类对象

    (动态联编

    虚函数表

    3 证明vptr指针的存在

    4 vptr指针在构造父类的时候是分步初始化的

    Child c;

    1. 先调用Parent的构造函数

    2. 调用的时候vptr指针会先指向父类的虚函数表

    5 vptr指针分步的安全性

    根据上一节课所讲内容 应该可以得出结论:

    6 父类指针和子类指针的步长

    这样虽然能运行,但是要注意,如果子类的private中多了一个int b 那么子类的步长就变长了,步长和父类不一样,运行的时候就会报错。

    7 多态的总结

     

    8 纯虚函数和抽象类

    9 纯虚函数和抽象类2

    10 中午回顾

    11 多态案例的复习

    多态三个条件:

    1. 要有继承
    2. 要有虚函数重写
    3. 父类指针指向子类对象

    12 多继承与纯虚函数

    13 动物园多态案例

    source.cpp:

    Animal.h:

    Animal.cpp:

     

    Dog.h:

    Dog.cpp:

     

    注意: 没有执行dog的析构函数

    如果想执行dog的析构函数 需要在animal类中给析构函数加virtual关键字

    animal.h:

     => 

    增加架构函数:

    调用:

     

    14 电脑组装案例

    定义CPU 显卡 内存 抽象类

    定义电脑抽象类

    实现层

    高层业务逻辑层:

    依赖反转原则:

    在这里案例中的依赖倒置原则:

    面向电脑类编程(依赖倒置原则)

  • 相关阅读:
    Kubernetes之Replica Set
    Kubernetes之Replication Controller
    Kubernetes之Deployment
    golang channel select
    golang slice
    epoll的由来
    ceph crush 之 crush_do_rule
    libevent
    P2P资料
    混沌理论学习笔记
  • 原文地址:https://www.cnblogs.com/eret9616/p/10513463.html
Copyright © 2011-2022 走看看