-2
假设我有两个方法,一个简单的界面:定义大量接口实现
class iface {
public:
virtual void foo() = 0;
virtual void bar() = 0;
};
现在我要定义大量接口的实现的,但在类声明的唯一的区别是名字。所以,这意味着没有额外的方法,变量或其他protected
表达式。
例如:
class bar1 : public iface {
public:
void foo();
void bar();
};
class bar2 : public iface {
public:
void foo();
void bar();
};
等等,一直谷仓,其中N可以是约50-60类。
很明显,实现将会有所不同,但仍然存在标题中出现大量样板定义的问题。我希望能够以某种方式避免在可能的情况下反复定义这些类。我在想,也许我可以使用宏或模板来自动生成代码,所以我只需要将列表bar3
中的下一个类型键入一个函数,该函数将生成可以编译和链接的代码。然而,我正在阅读,我想不建议宏调用类的定义进行调试。直觉上模板感觉像是一种可能的解决方案,但我仍然需要在某处定义模板。
用您的脚本语言编写一个小脚本,可能会出现格式正确的头文件? –
_ @ Brian_你大概简化了你的例子。实际上应该是什么模板参数?一个类型或非类型参数? –
boost预处理器库可能可以做到这一点。 – melpomene