Réponse acceptée !
Salut !
Je pense qu'il te serais utile d'utiliser l'héritage de classe : tu définis une classe de base, en l'occurence
ParcVehicule,
qui contient toutes les fonctions nécessaires communes aux deux types
de véhicules (en l'occurence les listes chaînées, dans lesquelles tu
utilises uniquement des pointeurs
ParcVehicule*) :
class ParcVehicule
{
//déclarations des membres de la classes.
}
puis, tu définis les classes dérivées selon le schema
class nom_classe_dérivée : class nom_classe_base
{
//fonctions membres
}
ie dans ton cas
class Moto : class ParcVehicule
{
//fonctions membres
}
class Voiture : class ParcVehicule
{
//fonctions membres
}
L'avantage avec les classes dérivées, c'est qu'un pointeurs de la
classe de base peut recevoir un pointeur vers n'importe laquelle de ses
classes dérivées, en l'occurence,
ParcVehicule* pvehicule;
peut recevoir aussi bien un pointeur de classe Moto que de classe
Voiture. Tu peux ainsi utiliser une seule et même liste chaînée pour
stoquer tes Motos ou tes Voitures. Pour pouvoir distinguer les motos
des voitures, il te suffit de d'ajouter un membre à la classe de base
se référant au type, par exemple une entier, qui sera initialisé avec
la bonne valeur dans chacun des constructeurs des classes dérivées.
Je pourrais encore en dire tès long sur l'héritage de classes, tant les
possibilités qu'il offre sont nombreuses (en vrac, surdéfinition de
fonctions ou d'opérateurs, polymorphisme, ou dans ton cas, ajout de
nouveaux types de véhicule en limitant la quantité de réécriture du
code, etc.)
Je te conseille vivement de lire des docs sur l'héritage de classe (malheureusement, je n'en ai pas à te proposer

)
bonne nuit

-- Virtual Dust --