c++下接口在不同类下面调用框架设计

来源:互联网 发布:python 去除水印 编辑:程序博客网 时间:2024/06/06 16:47

比如:class AudioDef这个是功能实现类,

AudioDef.h里面:

class CAdoFrameHandler {
public:
    virtual void AdoFrameData(BYTE* pBuffer, long lBufferSize) = 0 ; //这就是接口,需要被继承并实现
};

class AudioDef
{
public:
    BOOL        m_bRecording ;  //recording now ? also used by event recv thread
protected:
  CAdoFrameHandler*     m_frame_handler ;


接口实现类【class AudioSample2】里面,继承上面设定的接口,并声明实现类的一个对象

#pragma once
#include "audiodef.h"
class AudioSample2 :
    public CAdoFrameHandler
{
public:
    AudioSample2(void);
    ~AudioSample2(void);

    void AdoFrameData(BYTE* pBuffer, long lBufferSize) ;  // 这个类重载一下,就可以采集了

protected:
    AudioDef   m_cap_ado ; // 这个对象就是用来采集音频数据的

那么这样的话就可以在接口实现类里面初始化功能类,功能类获取到数据之后就可以把数据处理放到接口实现类的函数里面,这个函数就可以调用外部的类等等一些实现,避免在功能类里面耦合太多。