constructeur d'une classe dérivée

constructeur d'une classe dérivée - C++ - Programmation

Marsh Posté le 29-12-2002 à 13:04:13    

siouplait, help! je suis en train de m'embrouiller...
 
j'ai une classe mère: mere, elle a un attribut AttributM, et deux constructeurs, l'un sans parametre et l'autre avec un param qui donnera la valeur de l'attribut.
Cette classe mere a deux classes derivées fille1 et fille2.
 
Fille1 a un attribut AttributF, une methode methode1 et un constructeur qui me pose probleme.
 
Fille2 a une methode methode2, et ... un constructeur qui me pose probleme .Snif.
 
La methode2 de fille2 va creer une instance de fille1. Il me faut appeller le constructeur de fille1, mais je veux que le constructeur de mere soit aussi appelé, avec un parametre pour initialiser AttributM, et le constructeur de fille1, qui aura aussi un parametre pour initialiser AttributF.
 
La methode1 de fille1 va creer une instance de fille2. fille2 n'a pas d'attribut particulier, je ne veux donc qu'initialiser AttributM, tout en disant que l'instance créée est du type Fille2.
 
Je voulais faire un truc comme ca pour les definitions des deux constructions:
fille1::fille1(valeur de l'attributF):mere(valeur de l'AttributM){
//instructions
}
fille2::fille2():mere(valeur de l'AttributM){
//instructions
}
 
et pour les appels des constructeurs dans les methodes:
void fille1::methode1(){
Fille1 mafille1 (valeur Attribut1): mere (valeur AttributM);
}  
et pareil pour l'autre.  
Probleme: ou spécifier la valeur que prendra AttributM?
 
....evidemment ca marche pas et je vois pas trop comment me dépatouiller (c'est quoi la synthaxe pour définir le constructeur, et pour faire l'appel?)
 
 
j'espere que ca n'a pas été trop confus, et merci.

Reply

Marsh Posté le 29-12-2002 à 13:04:13   

Reply

Marsh Posté le 29-12-2002 à 14:18:09    

bon en fait j'ai trouvé, il faut juste faire
Fille1::fille1(valeur AttributF,valeur AttributM):Mere(AttributM){
}
 
beaucoup de bruit pour pas grd chose...  :pfff:

Reply

Sujets relatifs:

Leave a Replay

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