C++ std::map de modèle de valeurs de classe

Je suis d'essayer de déclarer un Row et un Column classe, avec les Row avoir un std::map avec des valeurs pointant vers basé sur un modèle Column. Quelque chose comme ceci:

template <typename T>
class DataType {
  private:
    T type;
};
template <typename T>
class Field {
  private:
    T value;
    DataType<T> value;
};
class Row {
  private:
    std::map<unsigned long,Field*> column;
}; 

Bien, je suppose, en principe, la Row classe ne devriez pas avoir de savoir quel type de Field (ou Column) nous aimerions utiliser, c'est à dire si c'est un Field<int> dans la colonne 1 ou qu'un Field<double> dans la colonne 2. Mais je ne sais pas quel est la syntaxe correcte pour la Row::column déclaration, ou si le std::map est limitée en ce sens, et je devrais être en utilisant quelque chose d'autre.

Je appretiate vous des suggestions et vous remercions à l'avance.

Alors, quelle est la question?
vous n'avez pas à transformer votre code en html. il suffit de le mettre comme il est, avec les 4 caractères de l'indentation.
<i>à Dave:</i> Ma question est: Puisque le Champ est basé sur un modèle, comment puis-je "raconte" la std::map que les valeurs sont "tout Terrain"? <i>à litb:</i> Merci pour la suggestion! 🙂

OriginalL'auteur jbatista | 2009-02-20