zoukankan      html  css  js  c++  java
  • c++设计模式:访问者模式(visitor模式)

    1.c语言中回调基本都过函数指针来完成。c++中主要通过接口的方式完成回调。而visitor就是实现接口回调的一种方式。

    1.首先定义个一个接口visitor类,

    class classVisitor
    {
    public:
           virtual: void oncallBack(int a,char*b)=0;
     };

    2.要获得回调结果的(father)类需要继承这个visitor类,并实现oncallBack接口。

    void father::oncallBack(int a, char * b){
    m_a = a;
    m_b = b;
    }

    3.底层通过调用回调函数oncallBack函数,回调信息。底层需要实现一个setVisitor函数方便上层传递上层对象,并继承提供setVistitor的接口类

    int father::int()
    {
    son->setVisitor(this);
    }

    一共有三/四个类,1个上层类:获取回调信息,实现回调接口。

           1个底层类:实现设置访问者接口,上传信息。

           1个含有回调函数的接口类,供给上层继承。

           1.个含有设置访问接口的类,供给下层继承。(可单独设置一个类让底层类来继承,亦可以直接放在底层类中)

           3.4两个类可实现为类中类,也可单独实现,就是将两个抽象类联系到了一起。

  • 相关阅读:
    [NOIP2015] 子串 题解
    [NOIP2011] 聪明的质检员 题解
    二进制的一些概念
    [NOIP2012] 借教室 题解
    [POJ3764] The XOR Longest Path 题解
    关于本博客
    【SC-MY限定】让填写问卷星成为自动化!
    JZOJ5833 永恒
    九校联考-DL24凉心模拟Day2总结
    【简解】SP7556 Stock Charts
  • 原文地址:https://www.cnblogs.com/mcy0808/p/10832267.html
Copyright © 2011-2022 走看看