Merci pour ton aide
-------------------------------
Réponse au message :
-------------------------------
> autre remarque,
> on peut chercher à optimiser les copies dans le cas de l'opérateur =
> a toi de voir le cout d'un test "if" par rapport aux copies
>
> Personnes& operator= (const Personnes& p)
> {
> if (&p == this) return *this; //cas d'auto affectation
> id = p.id;
> nom = p.nom;
> return *this;
> }
>
> Autre remarque :
> l'opérateur = est généré par défaut par le compilateur
> il n'est peut être pas nécessaire de le redéfinir... tout dépend du contenu de la classe.
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > bonjour,
> >
> > OK pour les explications ... mais les opérateurs ont des prototypes "consacrés"
> > exemple pour une classe A :
> > bool operator==(const A& a) const;
> > A& operator=(const A& a);
> > etc...
> >
> > un aperçu des questions à se poser lors du développement d'un opérateur se trouve en
> >
PERFORMANCE : I++ OU ++I ?> >
> > sinon, comme l'a bien fait superpa, l'idée est de réutiliser l'opérateur des types de base dans le corps de ton nouvel opérateur.
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Exemple pour opérateur == et l'op = de 2 personnes.
> > > dans la classe tu déclare une méthode:
> > >
> > >
> > > class Personnes
> > > {
> > > public:
> > > int id;
> > > std::string nom;
> > >
> > > // méthodes classiques ...
> > >
> > > //opérateurs
> > > Personnes& operator= (Personnes& p)
> > > {
> > > id = p.id;
> > > nom = p.nom;
> > > return *this;
> > > }
> > >
> > > int operator==(Personnes& p)
> > > {
> > > return (id == p.id);
> > > }
> > >
> > > };
> > > Le principe est le même pour tous les opérateurs
> > >
> > > A bientôt,
> > > P-A
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Salut à tous
> > > >
> > > > j'ai une classe pour laquelle j'ai besion de déclarer des opérateurs(ex: = , - , + , >,<,..).
> > > > Je ne sais pas du tout comment je dois faire!
> > > > C'est pour un projet en c++ sous Visual C++.
> > > >
> > > > merci de bien vouloir m'aider.
> > > >
> > > > ps: c plutot urgent!!! :)
> > >
> >
>