C++ constructeur et heritage ...

C++ constructeur et heritage ... - C++ - Programmation

Marsh Posté le 15-05-2003 à 10:33:12    

voila j ai une question simple mais j ai un doute ... J ai une classe mere et une classe fille :
 

Code :
  1. class mere {
  2. mere();
  3. mere(mere *pObj);
  4. int a;
  5. };
  6. class fille : public mere {
  7. fille();
  8. fille(fille *pObj);
  9. int b;
  10. };
  11. mere::mere() {
  12. a = 0;
  13. }
  14. mere::mere(mere *pObj) {
  15. a = pObj->a;
  16. }
  17. fille::fille() {
  18. b =0;
  19. }
  20. fille::fille(fille*pObj) : mere( (mere *)pObj) {
  21. b = pObj->b;
  22. }


 
est ce que mon constructeur par copie de fille est bon ? je ne vois pas comment appeler le constructeur par copie de mere (pour recopier la variable a egalement). merci.

Reply

Marsh Posté le 15-05-2003 à 10:33:12   

Reply

Marsh Posté le 15-05-2003 à 10:34:39    

constructeur par recopie = const Fille &

Reply

Marsh Posté le 15-05-2003 à 10:39:26    

donc mon code n est pas bon ? que je passe un objet en pointeur ou en reference constant ne change rien a priori ou je me trompe ?

Reply

Marsh Posté le 15-05-2003 à 10:43:23    


 

Code :
  1. class mere {
  2. mere();
  3. mere(const mere &pObj);
  4. int a;
  5. };
  6. class fille : public mere {
  7. fille();
  8. fille(const fille &pObj);
  9. int b;
  10. };
  11. mere::mere() {
  12. a = 0;
  13. }
  14. mere::mere(const mere &pObj) {
  15. a = pObj.a;
  16. }
  17. fille::fille() {
  18. b =0;
  19. }
  20. fille::fille(const fill &pObj) : mere( (mere &)pObj) {
  21. b = pObj.b;
  22. }


 
comme ca c mieux ?

Reply

Marsh Posté le 15-05-2003 à 10:49:55    

xilebo a écrit :


Code :
  1. fille::fille(const fill &pObj) : mere( (mere &)pObj) {
  2. b = pObj.b;
  3. }




 
Pourquoi tu veux caster pObj en mere ? Ta classe fille hérite de mere !


---------------
last.fm
Reply

Marsh Posté le 15-05-2003 à 10:51:27    

non, mere n'a pas de constructeur public
 
et mere( (mere &)pObj)
 
pas besoin de cast, et surtout pas de cast C

Reply

Marsh Posté le 15-05-2003 à 11:19:21    

++Taz a écrit :

non, mere n'a pas de constructeur public


 
Oui, c'est vrai, c'est privé par défaut ... J'ai confondu ...


---------------
last.fm
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed