указывают на функцию в памяти в зависимости от контекста - полиморфизм - PullRequest
0 голосов
/ 21 марта 2019

Я хотел бы вызвать функцию в зависимости от контекста, это идея полиморфизма, которую я просто не могу понять.

Является ли следующий пример вероятным решением? где вы создаете структуру и указываете на соответствующую функцию в зависимости от контекста:

Я знаю, что должен выделить память для Stuct, что я не делаю в этом псевдокоде

struct ContextMethods{
   void (*memberMethod)();
} ContextMethods;

void debugFunction(){ returns debug info};
void productionFunction( does usefull production stuff);
void run(ContextMethods local_context);

main(){

    struct ContextMethods local_struct;

    if(DEBUG){
        local_struct->memberMethod = &debugFunction;
    }
    if(PRODUCTION){
        local_struct->memberMethod = &productionFunction;
    }

    run(local_context);
}

run(local_context){
    local_context->memberMethod();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...