最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c++回調(diào)之利用函數(shù)指針示例

 更新時間:2014年04月01日 15:39:21   作者:  
這篇文章主要介紹了c++利用函數(shù)指針示例,需要的朋友可以參考下

c++回調(diào)之利用函數(shù)指針示例

復制代碼 代碼如下:

#include <iostream>
using namespace std;


/************************************************************************/
/*                下層實現(xiàn): CALLBACK                                        */
/************************************************************************/

typedef void (*CALLBACKFUN)(int a,int b);

class base
{
private:
    int m;
    int n;
    static CALLBACKFUN pfunc;
public:
    base():m(0), n(0){};
    void registercallback(CALLBACKFUN fun,int k,int j);
    void callcallback();
};

CALLBACKFUN base::pfunc=NULL;    /* static初始化 */

// 注冊回調(diào)函數(shù)
void base::registercallback(CALLBACKFUN fun,int k,int j)
{
    pfunc=fun;
    m=k;
    n=j;
}

void base::callcallback()
{
    base::pfunc(m,n);
}

下層定義回調(diào)函數(shù)的時候,需要提供以下幾個接口:

1. 實現(xiàn)注冊接口:提供一個接口給上層,通過該接口,上層注冊回調(diào)實現(xiàn)接口,下層將該實現(xiàn)接口地址傳遞給定義的回調(diào)指針(CALLBACKFUN),該初始化動作是必須的,否則無法實現(xiàn)回調(diào);

2. 觸發(fā)接口:該接口提供觸發(fā)行為,當調(diào)用該接口時,就會觸發(fā)一次函數(shù)回調(diào);

復制代碼 代碼如下:

// cbByfunction.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "cbByfunction.h"

/************************************************************************/
/*                    上層回調(diào)注冊                                        */
/************************************************************************/
void seiya(int a,int b)
{
    cout << "..." << a << "..." << b << endl;
    cout << "this is seiya callback function" <<endl;
}

void zilong(int a,int b)
{
    cout<<a<<endl<<b<<endl;
    cout<<"this is zilong callback function"<<endl;
}

int main(int argc, char* argv[])
{
    // 注冊下層回調(diào)函數(shù)
    base c_base;
    c_base.registercallback(seiya, 5, 6);
    c_base.callcallback();
    c_base.registercallback(zilong, 7, 8);
    c_base.callcallback();
    return 0;
}

相關(guān)文章

  • C語言中棧的兩種實現(xiàn)方法詳解

    C語言中棧的兩種實現(xiàn)方法詳解

    棧只允許在一端進行插入或刪除操作的線性表。首先棧是一種線性表,但是限定這種線性表只能在某一端進行插入和刪除操作,這篇文章主要介紹了C語言對棧的實現(xiàn)基本操作
    2021-08-08
  • C++入門淺談之類和對象

    C++入門淺談之類和對象

    C++ 是一門面向?qū)ο蟮木幊陶Z言,理解 C++,首先要理解類(Class)和對象(Object)這兩個概念。下面和小編一起來學習吧
    2021-10-10
  • 使用C++實現(xiàn)監(jiān)控文件是否被修改

    使用C++實現(xiàn)監(jiān)控文件是否被修改

    軟件開發(fā)過程中經(jīng)常會用到配置文件,某些應用場景要求在軟件運行時動態(tài)修改配置文件,此時就需要監(jiān)控配置文件是否被修改,下面我們就來看看如何使用C++實現(xiàn)這一功能吧
    2024-02-02
  • 詳解C語言中Char型指針數(shù)組與字符數(shù)組的區(qū)別

    詳解C語言中Char型指針數(shù)組與字符數(shù)組的區(qū)別

    這篇文章主要介紹了詳解C語言中Char型指針數(shù)組與字符數(shù)組的區(qū)別的相關(guān)資料,希望通過本文能幫助到大家掌握理解這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • 詳解C++編程中的重載流插入運算符和流提取運算符

    詳解C++編程中的重載流插入運算符和流提取運算符

    這篇文章主要介紹了詳解C++編程中的重載流插入運算符和流提取運算符,是C語言入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • OpenCV 視頻中火焰檢測識別實踐

    OpenCV 視頻中火焰檢測識別實踐

    本文主要介紹了OpenCV 視頻中火焰檢測識別,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 淺析C++ 仿函數(shù)

    淺析C++ 仿函數(shù)

    這篇文章主要介紹了C++ 仿函數(shù)的相關(guān)資料,幫助大家更好的理解和學習c++,感興趣的朋友可以了解下
    2020-08-08
  • Protocol Buffer技術(shù)深入理解(C++實例)

    Protocol Buffer技術(shù)深入理解(C++實例)

    C++實例Protocol Buffer技術(shù)詳解,感興趣的朋友可以了解下
    2013-01-01
  • C++移動語義詳細介紹使用

    C++移動語義詳細介紹使用

    首先,移動語義和完美轉(zhuǎn)發(fā)這兩個概念是在C++的模板編程的基礎上,新增的特性,主要是配合模板來使用。本篇會從C++的值類型,到移動拷貝與移動賦值來理解移動語義與完美轉(zhuǎn)發(fā)
    2023-01-01
  • C++中的boost::function庫簡介

    C++中的boost::function庫簡介

    這篇文章介紹了C++中的boost::function庫,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06

最新評論

泰州市| 长白| 卢龙县| 敦煌市| 江达县| 谷城县| 怀来县| 高唐县| 滕州市| 喜德县| 枣强县| 南岸区| 神木县| 迁安市| 志丹县| 九龙县| 定襄县| 买车| 万盛区| 南皮县| 开远市| 桦南县| 东丰县| 高州市| 卫辉市| 鄂尔多斯市| 乐陵市| 石狮市| 栖霞市| 衡阳市| 连平县| 石城县| 太湖县| 湖州市| 无锡市| 苏尼特左旗| 互助| SHOW| 镇原县| 高安市| 九台市|