Comment déclarer un pointer sur classe template ?

Comment déclarer un pointer sur classe template ? - C++ - Programmation

Marsh Posté le 20-11-2006 à 13:27:20    

J'ai une classe generique declaree ainsi :
template<typename T>
class gene : public toto
{
  gene(int i, char *s);
  [...]
}
 
et dans une autre classe, pas generique elle, je veux stocker un pointeur sur une telle classe, l'idee etant que la classe principale (non template) lit un fichier et, selon le type de donnee contenu dans le fichier, instancie la classe generique avec le bon type de base, soit :
 
class titi
{
  private:
    template<typename T> gene *p;   // c'est cette ligne que je n'arrive pas a ecrire !
}
 
et par exemple :
 
[...]
  if (choix == 1)
    this->p = new gene<int>(i, s);
  else
    this->p = new gene<float>(i, s);
[...]
 
Qui peut m'aider svp ?
 

Reply

Marsh Posté le 20-11-2006 à 13:27:20   

Reply

Marsh Posté le 20-11-2006 à 13:39:53    

vu que toutes tes classes templates dérivent de toto, tu peux écrire :
 
class titi
{
  public:
    toto *p;
};


---------------
TriScale innov
Reply

Marsh Posté le 20-11-2006 à 13:50:36    

t'as pas le choix toute façon. à moins de genre titi template elle même

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed