Bonjour,
je viens de terminer un exercice sur les Templates, et j'aurais besoin d'une vérification de mon code.
Après avoir lu le tutorial sur le site
http://www.derepas.com/csml/cours_systemc.html#SECTION00336000000000000000
je me suis lancé un nouvel exercice, reprenant à peu de choses près les données de l'exercice.
Je possède deux classes, l'une nommée Michelin, l'autre nommée Brigdestone.
Voici leurs définitions.
class Michelin
{
private :
double PressionDuPneu;
static const double BASSE_PRESSION = 2.0;
static const double MOYENNE_PRESSION = 2.5;
static const double HAUTE_PRESSION = 3.0;
public :
Michelin( ): PressionDuPneu(0) { }
void gonfler_BP( ) { PressionDuPneu = BASSE_PRESSION; }
void gonfler_MP( ) { PressionDuPneu = MOYENNE_PRESSION; }
void gonfler_HP( ) { PressionDuPneu = HAUTE_PRESSION; }
};
class Bridgestone
{
private :
double PressionDuPneu;
static const double BASSE_PRESSION = 2.0;
static const double MOYENNE_PRESSION = 2.5;
static const double HAUTE_PRESSION = 3.0;
public :
Bridgestone( ): PressionDuPneu(0) { }
void gonfler_BP( ) { PressionDuPneu = BASSE_PRESSION; }
void gonfler_MP( ) { PressionDuPneu = MOYENNE_PRESSION; }
void gonfler_HP( ) { PressionDuPneu = HAUTE_PRESSION; }
};
J'ai conçu une classe générique Voiture afin de monter une voiture avec n'importe quel type de pneu.
Y'a-t-il des erreurs dans le code ci-dessous ?
template <class Pneu> class Voiture
{
public:
Voiture( ) { }
void gonfler_BP_Pneu(int i) { mesPneus[i].gonfler_BP( ); }
void gonfler_MP_Pneu(int i) { mesPneus[i].gonfler_MP( ); }
void gonfler_MP_Pneu(int i) { mesPneus[i].gonfler_HP( ); }
private:
Pneu mesPneus[4]; // conserver les 4 pneus dans un tableau
};
Et pour l'instanciation des voitures dans le main( ), voici ce que j'obtiens :
int main( )
{
// créer une voiture avec des pneus Michelin Haute Pression
Voiture<Michelin> maVoiture( );
maVoiture.gonfler_MP_Pneu(3);
// créer une voiture avec des pneus Bridgestone Basse Pression
Voiture<Brigestone> monAutreVoiture( );
monAutreVoiture.gonfler_BP_Pneu(3);
return 0;
}
Est-ce que tout ceci est correct ? Merci d'avance.