我已經在類絆倒多次這樣定義模板類
class PureVirtualClass
{
virtual int foo() = 0;
virtual bool bar() = 0;
}
template <class T> class ImplClass : public virtual PureVirtualClass
{
virtual ~ImplClass(){};
int foo() { return 42;}
bool bar() { return true;}
//several other method having nothing to do with T
}
這種「設計」出現這樣的時候我要想想當初開發商知道他被定義ImplClass
因爲這樣做模板類,但沒有任何參考到模板參數T
隨時隨地。我自己的C++模板知識有限。
這是否有益處,還是隻是一個困惑的程序員?
也許他懶得把類分成.h和.cpp文件? – Philipp
@Philipp他仍然可以提供標題中的所有定義,而不需要將類作爲模板。 –
CRTP可能的基類? – user657267