• 代理类


    问题提出:由于C++具备继承的特性,若想使用一个容器(如数组)存储一系列的父类、子类对象,应该如何操作?

    实现难点:

      1.  基类数组:不能实现

      2.  基类指针数组(间接层):对管理内存不友好

    实在的解决方案:代理类

      1.  代理是对对象的拷贝,具备对象的一切操作,并且可以实现容器中装入父类、子类各种对象的功能。

      2.  实现实例

      

     Vehicle是被代理的类

      3.  代理类还要实现作用类似0指针的空代理(当没有代理的对象时,Vehile取NULL)

      4.  使用代码

      

    1 VehicelSurrogate vel[10] = {a, b, c}; // a是vehicle对象,b和c是vehicle的子类对象,vel[1] 拷贝了 b 并且可以实现 b 的功能,a和c同理

       5.  示例图:

      

  • 相关阅读:
    HTTP——学习笔记(3)
    HTTP——状态码
    HTTP——学习笔记(2)
    HTTP——学习笔记(1)
    Sqlserver 存储过程
    Sqlserver 函数(例子)
    Sqlserver 函数
    sqlserver字段类型
    redis入门笔记(2)
    redis入门笔记(1)
  • 原文地址:https://www.cnblogs.com/suui90/p/15224785.html
Copyright © 2020-2023  润新知