Bonjour tout le monde,
J'ai une méthode qui s'appelle "Element" qui reçoit un long (un indice) et qui renvoie une référence de CGenerique :
Voici d'abord la méthode Indice :
qui appelle ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 long CTabRealisateurs::Indice(const char* UnNom) const { return CTableauGenerique::Indice(CRealisateur(UnNom)); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 long CTableauGenerique::Indice(const CGenerique& ModeleRecherche) const { if ( (m_Nombre == 0) || (!m_Poubelle->GereUnicite()) || (!ModeleRecherche.EstValide()) ) return -1; const CGenerique* Recherche = &ModeleRecherche; unsigned int n = m_Nombre; ((CTableauGenerique*)this)->m_TypeComparaison = ComparaisonPourUnicite; CGenerique** Trouve = (CGenerique**)_lfind(&Recherche,m_Tableau,&n,sizeof(CGenerique*),Comparer); ((CTableauGenerique*)this)->m_TypeComparaison = -1; return (Trouve != NULL) ? Trouve - m_Tableau : -1; }
Ensuite j'arrive ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CGenerique& CTableauGenerique::Element(long Indice) const { return ((Indice >= 0) && (Indice < m_Nombre)) ? *(m_Tableau[Indice]) : *m_Poubelle; }
Sauriez-vous m'expliquez ce code svp ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CRealisateur& CTabRealisateurs::Element(long Indice) const { return (CRealisateur&)CTableauGenerique::Element(Indice); }
Un grand merci d'avance et bon Dimanche.
beegees
Partager