当前位置:首页 C++ > 正文

C++中回调函数及函数指针的实例详解

作者:野牛程序员:2024-01-22 17:56:23 C++阅读 2685

在C++中,回调函数和函数指针都是灵活利用函数的方式,以下是它们的实例详解:

1. 函数指针的实例:

#include <iostream>

// 函数指针的定义
typedef void (*FunctionPointer)(int);

// 示例函数1
void PrintNumber(int num) {
    std::cout << "Number: " << num << std::endl;
}

// 示例函数2
void SquareNumber(int num) {
    std::cout << "Square: " << num * num << std::endl;
}

int main() {
    // 使用函数指针调用示例函数1
    FunctionPointer funcPtr1 = PrintNumber;
    funcPtr1(5);

    // 使用函数指针调用示例函数2
    FunctionPointer funcPtr2 = SquareNumber;
    funcPtr2(3);

    return 0;
}

2. 回调函数的实例:

#include <iostream>

// 回调函数的定义
void PerformOperation(int num, void (*callback)(int)) {
    // 调用回调函数
    callback(num);
}

// 示例回调函数1
void PrintNumberCallback(int num) {
    std::cout << "Callback - Number: " << num << std::endl;
}

// 示例回调函数2
void SquareNumberCallback(int num) {
    std::cout << "Callback - Square: " << num * num << std::endl;
}

int main() {
    int value = 4;

    // 使用回调函数,执行示例回调函数1
    PerformOperation(value, PrintNumberCallback);

    // 使用回调函数,执行示例回调函数2
    PerformOperation(value, SquareNumberCallback);

    return 0;
}

在这两个例子中,函数指针被用于引用不同的函数,而回调函数则被用作在另一个函数中进行操作时的参数。这种方式使得代码更加灵活和可扩展。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击