我有template
,我有方法T get(int i)
和set(int i, T val)
。我必須做出不改變行爲的特質類別,但是具有set
和get
的爭論。具有特徵的模板方法的C++更改行爲
template<typename T,int Roz>
class Wektor{
public:
T tab[Roz];
T get(int i)
{
return tab[i];
}
void set(T val,int i)
{
tab[i]=val;
}
}
所以特質類必須改變get和set。如果T是int或double,我們得到的副本 INT
int get(int i);
void set(int val,int i);
雙
double get(int i);
void set(double val,int i);
parametr他人類型:
T* get(int i);
void set(T* val,int i);
,我們必須特質不是模板的專業化辦。
所以我寫tratis這樣的:
template<typename T,int Roz>
class traitsWektor
{
public:
T tab[Roz];
T get(int i)
{
return tab[i];
}
void set(T val,int i)
{
tab[i]=val;
}
}
所以我在這裏停留。我想我應該讓
template<typename T, int Roz>
class Wektor : public traitsWektor<T,Roz>
但我不知道是正確的,仍然是tratis。
問題是你還需要不同的實現GET'的'和'set'當返回類型是一個指針。 – jrok