comment je peux utiliser les operateurs de classe mere dans la classe fille sans faire l'appel de la methode operator une autre fois dans la classe fille par exemple dans mon code je veux faire if this->personne==E.personne sans faire this->personne::operator==(E) == true comment je peux le faire ?
pourquoi je ne peux pas expoilter les opérateurs de la classe mere dans la clase fille meme si ils sont heriter
NB: j'ai deja essaye if this->personne==E.personne mais ca ne marche pas
Si tu galères avec ça, c'est pour une raison simple : c'est complètement incompatible avec la notion d'héritage. Les opérateurs sont prévus pour bosser avec des types à sémantique de valeur. Ici, tes personnes et tes étudiants ont une sémantique d'entité. L'égalité n'a plus de sens en présence d'entités, et encore moins quand on commence à ajouter de l'héritage dans l'histoire.
sans faire this->personne::operator==(E) == true comment je peux le faire ?
`this->` et le `== true` sont superflues mais sinon c'est la bonne façon d'appeler explicitement une méthode parent. Autrement tu peux faire des cast x)
Mais je rejoins Ksass, l'égalité n'a aucun sens dans la sémantique d'entité, tu es confronté à un problème de conception
PS : Mets ton code dans les balises avec le bouton </>, là c'est illisible
- Edité par romantik 5 novembre 2018 à 16:00:31
Dream on, Dream on, Dream until your dream comes true
Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention. Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé. Pour plus d'informations, nous vous invitons à lire les règles générales du forum
Merci d'utiliser la mise en forme de code
Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: cpp;">Votre code ici</pre>.
Manque de Politesse
Votre message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ?
heritage et operateurs
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C