RDV+DIAL chat illimit� dans ta r�g!
no save
Assistance
Achat
News

Forum | programmation
[C++] Classe générique - Template
CQFD, le dim. 14 juin 2009 à 15:44:56
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.


CQFD
14 juin
Suivant
REPONSES
CQFD
14 juin
CQFD
14 juin
Version Web
Réalisé par RedShift
no save