C ++ вызывая функции из массива функций

0

Извините, что я совершенно новичок в C++, только что начал этот семестр. У меня есть вопрос. Я знаю javascript, что-то хорошее, и мне нравится, как он свободен как язык программирования. (Это и хорошо, и плохо.) Но есть одна вещь, которую вы можете сделать в javascript, я не уверен, что вы можете сделать в C++.

Я хочу вызвать некоторые функции из массива функций здесь, это ссылка того, что сделано в javascript. Массив функций Javascript. Моя идея - написать цикл for, который будет выполнять функции в том порядке, в котором я хочу. (от первого до последнего.) Если есть альтернатива этому, я буду в порядке с этим. Я мог бы даже назвать функции с числом после них, как функция1, например, если это может помочь. Я не уверен, что это возможно, но любая помощь или что-то было бы огромной благодарностью.

  • 2
    Да! Это возможно с указателем функции
  • 0
    @awesomeyi Сладкое спасибо за быстрый комментарий.
Теги:
arrays
function

2 ответа

3
Лучший ответ

Вы говорите о "указателе функции"?

void f1() { .. }
void f2() { .. }
void f3() { .. }

typedef void (*pf)();

pf arf[3] = { f1, f2, f3 };

arf[0]();
  • 0
    Эй, спасибо большое, это будет работать отлично. :)
2

Если вы не хотите использовать указатель функции

struct parent
{
   virtual void f();
}

struct child1 : parent
{
  void f(){};
}

struct child2 : parent
{
  void f(){};
}

struct child3 : parent
{
  void f(){};
}

.
.
.

struct childn : parent
{
  void f(){};
}


parent array = {child1,child2,child3,.....,childn};

array[n].f();

each child classes will contain different implementations of f(), so you can 

create an array of child structs and invoke the methods through the for loop. 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню