CallBack类的使用方法

来源:互联网 发布:排序算法复杂度比较 编辑:程序博客网 时间:2024/05/22 11:45

假设有两个类 分别为解码类A 、编码类B。

A类的decode方法 需要将解码后的数据 传送给类B相对应的方法encodeAudio和encodeVideo。


考虑类的封装性 可移植性 

比较好的做法 如下:


在Decode.h中


#include ….

//定义一个callback类


class CallBack{

publibc:

virtual 返回值 方法1 (参数1、参数2......) = 0;

virtual 返回值 方法2 (参数1、参数2......) = 0;

}


class A

{

public:

decode(CallBack *pCB)

{

……

pCB->方法1(参数1、参数2…...);

…..

pCB->方法2(参数1、参数2…...);




}

//其他方法

…….

private:

CallBack *pCB;

 …….

}

class A

{

…….

//A类里的内容

}


新建个头文件,创建接口类C

#include “B.h"

class C :public CallBack

{

public:

返回值 方法1 (参数1、参数2......) 

{

pb-> encodeAudio(参数1,参数2 …...);

}

  返回值 方法2 (参数1、参数2) 

{

pb-> encodeVideo(参数1,参数2 ……);

}

private:

B *pb;

}


完毕!



0 0
原创粉丝点击