eupeup
Messages postés57Date d'inscriptionmardi 11 mars 2003StatutMembreDernière intervention24 avril 2013
-
8 juin 2010 à 17:56
eupeup
Messages postés57Date d'inscriptionmardi 11 mars 2003StatutMembreDernière intervention24 avril 2013
-
8 juin 2010 à 18:22
Bonjour à tous,
j'ai une petite question... j'ai cherché, mais j'ai pas exactement trouvé la réponse...
J'ai une classe abstraite qui contient deux fonctions virtuellles pures ainsi que des arguments déclarés privés. De plus j'ai deux classes qui heritent de cette classe...
Ma question est toute simple, j'ai fait hérité ma classe abstraite de manière publique, mais dans les classes filles, est il normal d'avoir une erreur à la compilation lorsque, dans le corps d'une méthode d'une des classes filles, je veux accéder à un des arguments privés définis dans la classe mere??
Un héritage publique ne permet pas l'accès aux arguments privés, même dans le corps d'une fonction de la classe fille?
Suis-je obligé de faire des méthodes d'accès type get() et set()?
Ou alors de les déclarer publiques? (mais c'est contre l'encapsulation..., mais bon comme c'est une classe abstraite, pt etre que...)
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 8 juin 2010 à 18:11
La solution est très simple: passe les en "protected".
public: accessible pour tous
protected: accessible à la classe et à ses filles (en héritage public).
private: accessible uniquement à la classe, et à personne d'autre.