2
我不知道我編碼的方式是否正確。我可以創建一個從模板類繼承的模板claas嗎?如果可以,是下面的代碼正確:C++模板繼承方案
template<typename Type>
class A{
public:
A(){};
method_A(){//do whatever}
protected:
int a;
}
第二類是:
template<typename Type>
class B:public<Type> A {
public:
B(){};
method_B(){this->a=0; this->method_A();}
protected:
int b;
}
,我的最後一課是:
class C:public<double> B{
public:
C(){};
method_C(){ b = 0; method_B();}
protected:
int c;
}
爲什麼在類的強制性this->
B但不在C班?一般來說,我應該總是將this->
添加到屬於同一類的引用參數或方法嗎?
您的意思是'A'和'B '? –
jrok
它實際上被稱爲*類模板*,而不是*模板類*。這是一個暗示,一旦你實例化一個類模板,它不再是一個模板,而只是一個類。 – dyp
請注意,您無法訪問派生類中基類中定義的'private'成員。將其設置爲「受保護」或使用getter/setter函數。 – dyp