【发布时间】:2011-08-15 07:37:41
【问题描述】:
我有很多(可能数百个)不同的 c++ 文件。每个都包含 10 个函数,它们都接受一个 int 和一个 double 并返回一个 int。
因此,在这些文件之一中指向这些函数之一的指针将如下所示:
int (*foo)(int, double);
然后我有一个类,其中包含 10 个这样的函数指针。
是否可以让此类的构造函数获取这些 c++ 文件之一的文件名,将该文件的函数放入其指针中,以便以后能够使用这些函数?
最好它可以工作,这样即使来自不同文件的两个函数具有相同的名称,它仍然可以工作(这个想法是多个程序员可以将不同的文件提交到列表中,并且他们可以为他们的 10 个函数使用相同的名称),但如果这不可能,我可以想办法避免这种情况。
根据我的搜索,我似乎找不到任何可以让您在选择函数时区分文件的东西,即使我要将函数连接到一个文件中,仍然存在尝试指定哪个文件的问题10 个可供选择的函数(因为它们都有相同的参数)。
有没有办法做到这一点?有没有更好的解决方案我只是没有想到?
【问题讨论】:
-
来自不同文件的函数可以放在文件的命名空间之一中。然后使用模板,您可以使用指定的命名空间创建多个对象。如果您添加示例,我会尝试更详细地解释它。
标签: c++ function-pointers