私には がtemplate
あり、 メソッドT get(int i)
とがありset(int i, T val)
ます。私は振る舞いではなく議論を変える特性クラスを作らなければなりませset
んget
。
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 の場合、copy int によってパラメーターを取得します
int get(int i);
void set(int val,int i);
ダブル
double get(int i);
void set(double val,int i);
他のタイプの場合:
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>
しかし、私はそれが正しいかどうか確信が持てず、まだトラティスです.