TuxOnline
Messages postés24Date d'inscriptionsamedi 11 février 2006StatutMembreDernière intervention21 janvier 2007
-
17 mai 2006 à 20:26
RV2931
Messages postés185Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention16 juillet 2016
-
18 mai 2006 à 15:38
Bonjour, j'aurai besoin d'un pti coup de main pour comprendre.
Voici une sorte lol de modelisation UML. j'ai deux classes entreprise et interimaire. une classe association calendrier.
j'exprime le fait que des intérimaire travaille dans des entreprises pendant des dates données.
je sais que dans ma classe association calendrier je dois mettre un pointeur Entreprise et un interimaire. mais je ne comprend pas comment acceder au date de debut et de fin par qui concerne les interimaires.
Dans entreprise j'ai un tableau de pointeur interimaire. Je dois donc passer par la classe interimeraire chercher le pointeur Calendrier et ainsi pouvoir utiliser les attributs ???
Merci pour votre aide.
RV2931
Messages postés185Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention16 juillet 2016 18 mai 2006 à 13:47
salut,
je suis pas un pro en c++, j'en fais que depuis 2 mois, mais si je peux t'aider.
ça représente quoi calendrier ?? c une référence pour les 2 partis, du genre le calendrier annuel ??
Si c ça, moi je dirai que c plutôt, les classes entreprise et intérimaire qui doivent avoir chacun un pointeur sur le calendrier, et dans calendrier les attribut en public :
Sinon, si Calendrier c'est la période du contrat, je dirais que Calendrier doit hériter de "entreprise" et "intérimaire", cf héritage multiple, et là, les attributs de Calendrier peuvent être mis en protected : et seront accessibles par les deux classes... Mais là ça implique que Calendrier ne peut exister que si un couple Entreprise et Interimaire existe
voilà ce que je peux dire, si ça peut faire avancer
TuxOnline
Messages postés24Date d'inscriptionsamedi 11 février 2006StatutMembreDernière intervention21 janvier 2007 18 mai 2006 à 14:05
enfet je dois traduire ce diagramme en c++.
Ce que je comprend pas c'est comment on se sert de la classe association.. il faut un constructeur où on lui envoie les adresses des pointeurs entreprise et interimaire. Et ds entreprise et interimaire il faut les operateur de surcharge = . Mais je comprend pas comment on dois faire pour acceder au attributs quand je connait un intérimaire par exemple. et je ne trouve pas d'exemple sur google de ce genre de programmation. snifff
RV2931
Messages postés185Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention16 juillet 2016 18 mai 2006 à 15:38
Je pense que calendrier est une classe indépendante, mais elle doit déclarée la classe entreprise en classe amie, car je pense qu'il n'y a qu'elle qui peut fixer les date de début et de fin, l'intérimaire peut juste y acceder du genre :
classe Entreprise;
classe Interimaire;
classe Calendrier{
friend Entreprise;
protected :
DATE date_debut;
DATE date_fin;
protected : // accessible que part les classes dérivées et classe amies Entreprise
void SetDateDebut(DATE Deb):date_debut(Deb){};
void SetDateFin(DATE Fin):date_fin(Fin);
public : // accessible par les interimaire
DATE GetDateDebut()(return date_debut;}
DATE GetDateFin(){return date_fin};
}
classe Entreprise{
Calendrier * C;
Interimaire * ListeInterim;
DATE m_debut_contrat;
DATE m_fin_contrat;
};
classe Interimaire{
Calendrier * C;
Entreprise* Entreprise;
DATE m_debut_contrat;
DATE m_fin_contrat;
}
};
Moi, c'est comme ça que je verrais la chose, je me rend compte que je ne suis pas très clair non plus sur la notion d'association, mais c comme ça que je l'aurai vu..
Une classe calendrier indépendante pointée par les classes qui l'utilisent, ils y accèdent par le pointeurs et les fonction amies ont accès aux attributs privés et protected alors que les autre, seulement aux public
Si t'as la veritable solution, ça me dit bien que tu la mette ici, ça sera très instructif je pense.PS: Fait attention, si tu surcharge l'opérateur , il vaut mieux faire aussi le constructeur par recopie, comme ça on peut utiliser l'opérateur dans tous les cas, c pour faire les chose propres.:o)