C 从功能数组中调用函数

C++ calling functions from an array of functions

本文关键字:调用 函数 数组 功能      更新时间:2023-10-16

对不起,我是本学期刚刚开始的C 的新手。但我有个问题。我知道JavaScript有些很好,我喜欢它作为一种编程语言的松散。(这既是一件好事又是坏事。)但是,在JavaScript中您可以做一件事,我不确定您是否可以在C 中做。

我想从一系列函数中调用一些函数,这是在JavaScript中完成的链接。JavaScript函数数组。我的想法是写一个for循环,该循环将按照我想要的顺序进行函数。(从第一到最后。)如果有替代方案,我将对此感到满意。我什至可以用它们在它们之后的数字命名函数,例如函数1例如,如果这可能会有所帮助。我不确定这是否可能,但是任何帮助或其他任何东西都会很棒。

您是否谈论"功能指针"?

void f1() { .. }
void f2() { .. }
void f3() { .. }
typedef void (*pf)();
pf arf[3] = { f1, f2, f3 };
arf[0]();

如果您不想使用函数指针

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.