//para_callback.h
#pragma once
typedef void (*callback_t)(void *);
extern void repeat_three_times(callback_t, void *);
//para_callback.cpp
#include "StdAfx.h"
#include "para_callback.h"
void repeat_three_times(callback_t f, void *para)
{
f(para);
f(para);
f(para);
}
//Main.cpp
#include "stdafx.h"
#include "para_callback.h"
#include <Windows.h>
void say_hello(void *str)
{
printf("Hello %s/n", (const char *)str);
}
void count_numbers(void *num)
{
int i;
for(i=1; i<=(int)num; i++)
printf("%d ", i);
putchar('/n');
}
int _tmain(int argc, _TCHAR* argv[])
{
repeat_three_times(say_hello, "Guys");
repeat_three_times(count_numbers, (void *)4);
system("pause");
return 0;
}
本文介绍了一个使用C++实现的简单回调函数示例。通过定义一个通用的回调函数类型和一个重复调用三次该回调的函数,展示了如何传递不同功能的函数作为参数并执行这些功能。具体包括打印问候语和计数两个示例。
1097

被折叠的 条评论
为什么被折叠?



