Heritage[debutant]

Résolu
yanne1985 Messages postés 87 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 5 décembre 2008 - 27 avril 2006 à 20:01
boudreau_benjamin Messages postés 3 Date d'inscription mardi 8 novembre 2005 Statut Membre Dernière intervention 1 mai 2006 - 28 avril 2006 à 14:49
salut s'il vous plait j'ai besoin de votre aide

j'ai une classe

class date{
int jour,mois,annee;
void lire()
    {
    int i,j,k;
    cin>>i; cin>>j; cin>>k;
    jour=i; mois=j; annee=k;
    }
}

class personne : public date {
char nom[30],prenom[30];
void lire()
}

comment je peux definir la fonction lire de personne qui fait appel a la fonction  lire de date

merci d'avance pour votre aide

6 réponses

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
28 avril 2006 à 12:04
Mais que la classe personne hérite de date est COMPLEMENT absurde et illogique.

Une personne n'a aucun rapport avec une date. Donc je comprend pas pk tu veux faire un truc comme ca.

Ce qui peut etre logique, c'est que la class personne contienne un objet date, mais surtout pas d'en hériter.
3
boudreau_benjamin Messages postés 3 Date d'inscription mardi 8 novembre 2005 Statut Membre Dernière intervention 1 mai 2006
28 avril 2006 à 14:49
Je suis d'accord ... pour faire de l'héritage ... il faut que tu te dises que ta classe dérivé est une sorte de la classe de base. Donc le mieux serait ici d'y aller par composition donc mettre simplement ta classe date comme donnée membre de ta classe personne...
Sinon l'héritage ici est inutile. Mais il aurait pu être utile si tu voulais faire une classe Client à partir mettons de ta classe personne puisqu'un client est une sorte de personne mais ne contient pas une personne :P
Bonne chance !!
3
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
27 avril 2006 à 20:39
Essaie date::lire() mais je suis pas sur.
0
cs_fraboulet Messages postés 37 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 27 avril 2006
27 avril 2006 à 20:47
C'est ça!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yanne1985 Messages postés 87 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 5 décembre 2008
28 avril 2006 à 01:25
merci

ce que je veux c que si je crée une instance de la classe personne

par exemple : personne p;

p.lire() permettra d'initialiser les valeur de cette instance

j'espère que c'est compris et merci
0
cs_neria Messages postés 319 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 16 février 2009
28 avril 2006 à 07:09
Si la méthode lire à été définie dans personne, et que personne hérite de date, tu auras automatiquement la méthode lire dans perssone (les noms ne sont pas très explicites). Ce n'est donc pas la peine de la surcharger, tu pourras écrire p.lire(). Le seul problème est que tu ne pourras pas accéder aux variables jour,mois, et annee dans personne vu qu'elles sont privée. Solution : inutile de faire une classe date pour ça ou mettre tes variables en protected. Pour initialiser tes valeurs à la création de personne, il faut appeler lire dans le constructeur.
0
Rejoignez-nous