小编Jea*_*ity的帖子

从一个类返回一个函数

我希望能够从类中返回一个函数,这样就不需要通过返回类型进行if-else操作。

我有一个返回多个字符串的类。相反,我想返回多个函数。

#include <iostream>

class Handler
{
private:

public:
    int handleMessage(int code)
    {
        return code+1;
    }

};

void func1();
void func2();
void func3();

int main (int argc, char *argv[])
{
    Handler handle;
    int code = handle.handleMessage(0);
    if(code == 1)
    {
        func1();
    }
    return 0;
}

void func1(){ std::cout << "1" << std::endl;}
void func2(){ std::cout << "2" << std::endl;}
void func3(){ std::cout << "3" << std::endl;}
Run Code Online (Sandbox Code Playgroud)

我想要的是:handleMessage类中的函数Handler返回某些内容,因此在我的主应用程序中,我不必使用if-else。

所以主要看起来像这样:

function = handle.handleMessage(0); 
Run Code Online (Sandbox Code Playgroud)

应用程序将选择它将运行的功能。例如:

function = handle.handleMessage(0);  //will …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

6
推荐指数
2
解决办法
276
查看次数

标签 统计

c++ ×1

c++11 ×1