gpt4 book ai didi

c++ - 如何从另一个函数执行一个函数?

转载 作者:搜寻专家 更新时间:2023-10-31 00:42:39 25 4
gpt4 key购买 nike

我有这个代码:

#ifndef FUNCSTARTER_H
#define FUNCSTARTER_H

#endif // FUNCSTARTER_H

#include <QObject>

class FunctionStarter : public QObject
{
Q_OBJECT
public:
FunctionStarter() {}
virtual ~FunctionStarter() {}

public slots:
void FuncStart(start) {
Start the function
}
};

在 FuncStart 函数中,您可以将函数作为参数放入,然后它将执行参数(也称为函数)。我该怎么做?

最佳答案

要么传递一个函数指针,要么定义一个仿函数类。仿函数类是重载 operator() 的类。这样,类实例就可以作为函数调用。

#include <iostream>

using namespace std;

class Functor {
public:
void operator()(void) {
cout << "functor called" << endl;
}
};


class Executor {
public:
void execute(Functor functor) {
functor();
};
};


int main() {
Functor f;
Executor e;

e.execute(f);
}

关于c++ - 如何从另一个函数执行一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11726169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com