vc++软件框架设计之函数指针

8 篇文章 0 订阅

一定义

指向函数的指针。

二作用

实现回调。调用者通过被调用者的函数地址来调用被调用者的函数,调用者除了关注被调用者的函数地址外不需要关注被调用者的任何信息。

三应用场景代码

 #include <stdio.h>

 

class CHardWare

{

public:

         CHardWare();

         ~CHardWare();

         void (*NotifyUiLayer)(char* pMsg);

         void ReadUsbData();

};

 

CHardWare::CHardWare()

{

 

}

 

CHardWare::~CHardWare()

{

 

}

 

void CHardWare::ReadUsbData()

{

         int nTimes = 10;

         for ( int i = 0; i < nTimes; i++ )

         {

                   char szTemp[100];

                   sprintf(szTemp, "%s %d", "从usb设备读到数据",i);

                   NotifyUiLayer(szTemp);

         }

}

 

class CUi

{

public:

         CUi();

         ~CUi();

         static void UiRecvMsg(char* pMsg);

};

 

CUi::CUi()

{

 

}

 

CUi::~CUi()

{

 

}

 

void CUi::UiRecvMsg(char* pMsg)

{

         char szTemp[100];

         sprintf(szTemp, "%s%s\n", "UI层收到底层消息:",pMsg);

         printf(szTemp);

}

 

void main()

{

         CHardWare mCHardWare;

         mCHardWare.NotifyUiLayer = CUi::UiRecvMsg;

         mCHardWare.ReadUsbData();

         getchar();

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值