0
votes

Surcharge + = en C ++ pour ajouter un objet dans un autre

J'ai une classe humaine et une liste de classe.Comment opérateur de surcharge + =, donc je peux faire: Liste + = humain De cette façon, j'ajouterais un objet de la classe humaine à ma liste.

merci.


2 commentaires

S'il vous plaît poster un code que vous avez essayé.


Je recommanderais pas Même implémenter une structure de liste: il suffit d'utiliser std :: Liste . Cela suppose que vous avez réellement besoin d'une liste pour commencer. Le conteneur par défaut doit être std :: vecteur .


3 Réponses :


2
votes

Si vous voulez vraiment faire cela, vous pouvez définir l'opérateur sur le niveau d'espace de noms: xxx


0 commentaires

0
votes

Vous pouvez voir cette Question comme référence, Vous pouvez définir vos deux classes puis définir l'opérateur de surcharge "Ajouter" de la classe de liste ultérieurement.


0 commentaires

0
votes

soit déclarer l'opérateur en tant que fonction de membre de la liste code> code> comme xxx pré>

ou définissez-la sous forme de fonction non de classe comme p> Xxx pré>

si la mise en œuvre de l'opérateur nécessite d'accéder aux membres de données non publics de la liste code> code>, la fonction doit être une fonction d'ami de la classe comme par exemple p >

class List
{
public:
    friend List & operator +=( List &, const Human & );
//…
};  


1 commentaires

Merci beaucoup!