MST

星途 面试题库

面试题:C++中回调函数的基本实现

请用C++实现一个简单的回调函数示例,要求定义一个回调函数指针类型,在某个函数中通过传入回调函数指针来调用不同的回调函数,并输出相应的信息。
21.2万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
#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函数,它接受一个回调函数指针和一个消息,并在回调函数指针不为空时调用该回调函数。接着定义了两个具体的回调函数callbackFunction1callbackFunction2,最后在main函数中分别使用这两个回调函数调用executeCallback函数并输出相应信息。