1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| template <typename T>
class TValueHolder
{
public:
typedef T type;
typedef T const & constref;
constref value() const{return v_;}
void set(constref v){v_=v;}
protected:
/* cette interface doit, d'office, être héritée ... */
TValueHolder(constref v):v_(v){}
~TValueHolder(){};
private:
type v_;
};
class ValueInt : public TValueHolder<int>
{
/*autres fonctions et méhtodes adaptées */
};
class ValueDouble : public TValueHolder<double>
{
/*autres fonctions et méhtodes adaptées */
};
/*...*/ |
Partager