美文网首页
勿在浮沙筑高台--P12 虚函数和多态

勿在浮沙筑高台--P12 虚函数和多态

作者: Catherin_gao | 来源:发表于2021-07-21 22:31 被阅读0次

总:虚函数

  • 非虚函数:不希望子类重新定义
  • 虚函数:子类重新定义
  • 纯虚函数:希望子类一定要重新定义,没有默认定义
类的继承是继承的调用权

一. 使用虚函数进行继承

  • 读文件的操作不能提前确认 (Serialize())
  • 通过子类CmyDoc的对象调用父类CDocument的函数
    设计模式:Template Method
main(){
  CMyDoc myDoc;
   ...
   myDoc.OnFileOpen();
}

二. 委托 Delegation + 继承 Inheritance

设计模式:Observer

  • 应用场景:使用4个窗口查看同一个文件
class Observer{
  public:
    virtual void update(Subject* sub, int value)=0;
};

class Subject{
   int m_value;
   vector<Observer*> m_viewers;
public:
  void attach(Observer* obs){
     m_views.push_back(obs);
  }
  void set_value(int value)
  {
     m_value = value;
     notify();
  }
  void notify(){
       for(int i=0;i<m_views.size();++i)
          m_views[i]->update(this, m_value);
  }
};

设计模式:Composite 混合

相关文章

  • 勿在浮沙筑高台

    勿在浮沙筑高台。 读一本关于js的基础书时,蓦然想起这句话,身上冷汗直冒。第一次见到这句话,应该是四年前读《深入浅...

  • 最小生成树(概念)

    转自:勿在浮沙筑高台[http://blog.csdn.net/luoshixian099/article/det...

  • Boolan——C++面向对象高级编程(下)第一周

    勿在浮沙筑高台!!!!!!!!!!! C++(下)主要谈及对象模型;即泛型编程 effective modern ...

  • 根基

    切勿浮沙筑高台

  • C++面向对象高级编程(下)-第一周-博览网

    第四周 勿在浮沙筑高台 C++11 类的合理转换函数,将类转为相应类型不用写返回值 pointer-like cl...

  • 北大张志华推荐经典机器学习书

    勿在浮沙筑高台请仔细研读下列书籍 初阶课程 概率与统计 [1] Larry Wasserman. All of S...

  • 浮沙筑高台

    很快,我读到了第三句, I am convinced that ... ... ... 这句很长,为了避免需要肺活...

  • Docker基础学习笔记

    都是自己看视频学习资料总结的,欢迎大家浏览指正勿在浮沙筑高台 仓库 镜像 容器 面试造飞机,工作拧螺丝高手是练出来...

  • GeekBand C++ week3

    一、导论 1.I和II的区别 I:C++面向对象程序设计II: C++程序设计兼谈对象模型 勿在浮沙筑高台 2.C...

  • GeekBand C++ 第四周

    1.导读 勿在浮沙筑高台   本课程既有面向对象,也有泛型编程。是上门课程的续集,主要讲上门课程没有提到的东西。 ...

网友评论

      本文标题:勿在浮沙筑高台--P12 虚函数和多态

      本文链接:https://www.haomeiwen.com/subject/sggktltx.html