C++ : Déclarer un vecteur qui contiennent plusieurs type ?!?!?

C++ : Déclarer un vecteur qui contiennent plusieurs type ?!?!? - C++ - Programmation

Marsh Posté le 17-04-2002 à 14:36:03    

J'ai une classe de base :
 
class TCase
{
        protected:
 
                TPoint coord;
                AnsiString nom_case;
 
        public:
                ...
};
 
**********************************************
 
J'ai 5 autres classes qui se ressemblent légèrement et qui hérite de TCase... en voici une.
 
class TGuichets:public TCase
{
  protected:
   
    int couleur;
    int prix;
    bool est_achete;
    bool terrain_est_complet;
    AnsiString nom_proprietaire;
 
  public:
    ...
};
 
*****************************************
 
Comment je fais pour me déclarer un vecteur contenant les 5 types à la fois ? Je veux dire... la seule méthode que je verrais serait de faire un vecteur de type TCase... mais comment faire pour mettre un objet de type TGuichets !?!? Aidez-moi... :heink:

Reply

Marsh Posté le 17-04-2002 à 14:36:03   

Reply

Marsh Posté le 17-04-2002 à 15:06:20    

TCase * vecteur[10];
 
vecteur[0] = (TCase *) new TGuichet;
 
 
((TGuichet *)vecteur[0])->couleur = ...
 
Je crois que c'est un truc dans ce genre :/
 
J'ai fait trop de Pascal, j'oublie le C++, faudrait que j'en refasse...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 17-04-2002 à 15:13:16    

Merci .. je viens de trouver.
 
vector<TCase*> vect_guichets(0);
 
TCase *ptr;
 
ptr = new TCase(blablabla);
 
vect_guichets.push_back(ptr);

Reply

Marsh Posté le 17-04-2002 à 15:16:51    

Ha avec la STL et le template vector, ouais, j'avais vu "vecteur" comme un bête tableau :)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

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