面试题答案
一键面试#include <iostream>
// 定义回调函数指针类型
typedef void (*CallbackFunction)(const char*);
// 定义一个函数,它接受回调函数指针并调用回调函数
void executeCallback(CallbackFunction callback, const char* message) {
if (callback) {
callback(message);
}
}
// 具体的回调函数1
void callbackFunction1(const char* message) {
std::cout << "Callback 1: " << message << std::endl;
}
// 具体的回调函数2
void callbackFunction2(const char* message) {
std::cout << "Callback 2: " << message << std::endl;
}
int main() {
// 使用不同的回调函数调用executeCallback
executeCallback(callbackFunction1, "This is a message for Callback 1");
executeCallback(callbackFunction2, "This is a message for Callback 2");
return 0;
}
上述代码首先定义了一个回调函数指针类型CallbackFunction
,它指向返回void
且接受一个const char*
参数的函数。然后定义了executeCallback
函数,它接受一个回调函数指针和一个消息,并在回调函数指针不为空时调用该回调函数。接着定义了两个具体的回调函数callbackFunction1
和callbackFunction2
,最后在main
函数中分别使用这两个回调函数调用executeCallback
函数并输出相应信息。