Bonjour a tous, je débute en C++ (pas dans le langage mais dans la facon de penser objet) et j'aimerai savoir quelle est la meilleure solution (et pourquoi) de ce probleme :

Une classe abstraite (vehicule par exemple) contient une variable nom et deux classes filles de vehicule (voiture et moto par exemple) doivent avoir leur bon nom, le probleme est qu'il y a beaucoup de facons de l'implementer mais j'aimerai connaitre la meilleure.

Soit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
class CVehicule
{
public :
 
 CVehicule();
 virtual ~CVehicule();
 
 const std::string &getName (void) const { return this->name; };
 
protected :
 
 void setName (std::string name) { this->name = name; };
 
private :
 std::string name;
};
 
// Avec les classes filles qui utilisent setName pour mettre leur noms
ou bien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
class CVehicule
{
public :
 
 CVehicule();
 virtual ~CVehicule();
 
 virtual const std::string &getName (void) const = 0;
};
 
// Avec les classes filles qui overloadent la fonction getName pour retourner leur noms
Ou bien si il y a encore une meilleure facon de faire ?!

Merci beaucoup