-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