网上看了很多的回调函数,讲的也是非常清楚,我就不多赘述了,主要是在学习过程中想到了,既然Qt本身的信号和槽机制也是回调机制,那它的实现应该会类似于用模板来确定用户自身需要用什么函数名吧。
就此给出了下面这一个结合的代码,用户可以根据自己想要什么函数而去确定要调用什么函数。
#include <iostream>
using namespace std;
typedef int (*pFun)(int, int); //定义一个函数指针
int sub(int a, int b) {
return a - b;
}
int add(int a, int b) {
return a + b;
}
//回调函数
int callBack(int a, int b, pFun F) {
return F(a, b);
}
template <typename T1> //模板函数声明与定义
int test(int a, int b, T1 tmp) {
return callBack(a, b, tmp);
}
int main() {
cout << "函数调用sub:" << test(2, 3, sub) << endl;
cout << "函数调用add:" << test(2, 3, add) << endl;
return 0;
}
当然有兴趣的同志可以去看看我看过的几篇讲解回调和模板的文章哈哈哈!
c++模板函数
版权声明:本文为CSDN博主「摇花手当雨伞」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45738899/article/details/120687055
————————————————
版权声明:本文为CSDN博主「爱笑的七小沐」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39645539/article/details/125712494
————————————————
Qt中信号和槽
版权声明:本文为CSDN博主「遂..」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42981122/article/details/127640138