2012-10-03 52 views

回答

3

你不能。模板不是「類」。他們是「類的模板」(在這裏閱讀模板不是C++術語,而是英語術語)。它們是構建實際類的骨架。所以,當你說:

template <typename T> 
class A : public BaseInterface { } 

您實際上並不聲明一個類,你提供爲將要建立一些類的規則。此外,當你專注模板

template <> 
class A<int> { } //somehow still inherit from the interface "BaseInterface" 

明確說你希望它表現爲不同的這種專業化。

+0

對,這麼想......謝謝 –

2

你不能約束明確專業。但它們可能源自BaseInterface:

template <> class A<int>: public BaseInterface {...}