的實例,我想實例化一個模板化的抽象類,像下面的一個:創建模板抽象類
template <class T>
class non_sense {
public:
void virtual nonsesnse_func() = 0;
};
,使這個類的一個整數,比如我試過如下:
void non_sense<int>::nonsesnse_func(){
}
,然後我把我的情況下在主:
non_sense<int> xx;
所以整個程序如下:
template <class T>
class non_sense {
public:
void virtual nonsesnse_func() = 0;
};
void non_sense<int>::nonsesnse_func(){
}
void main(){
non_sense<int> xx;
}
這對我來說完全有意義,儘管編譯器不接受它,說這個類是抽象的。我不想採用創建一個使用特定模板從這個類繼承的新類的路線,關於我試圖使這將是大量寫作的大型應用程序。有人可以向我解釋爲什麼編譯器拒絕這個,除了爲我想要的特定實例創建一個新類之外,還有什麼辦法可以解決這個問題。
爲什麼你有抽象類的問題?這是一個工具,可以讓所有的「non_sense」類型簽署一個「合約」,表明它們將符合由「non_sense」抽象類型提供的接口。 – tmaric