Je suis pris d'un doute ce soir sur un membre protected. Si j'ai un tel
membre, j'ai le droit accéder a ce membre depuis n'importe quelle méthode de
mon objet, mais ai-je droit accéder a ce membre protected d'un objet de même
type passé en argument par exemple.
Voici un exemple :
class A
{
protected:
int a;
public:
void ajoute(const A & b);
}
void A::ajoute(const A &b)
{
a = a+b.a; ----> cette méthode accède un champs protected de l'objet b qui
est de type A ! J'aurais dit ----- comme ça qu'elle
n'avait le droit accéder que les attributs de l'objet pointé par this.
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Michaud
Dans news:dwYMb.2136$, Luc
Je suis pris d'un doute ce soir sur un membre protected. Si j'ai un tel membre, j'ai le droit accéder a ce membre depuis n'importe quelle méthode de mon objet, mais ai-je droit accéder a ce membre protected d'un objet de même type passé en argument par exemple. Voici un exemple : class A { protected: int a;
public: void ajoute(const A & b); }
void A::ajoute(const A &b) { a = a+b.a; ----> cette méthode accède un champs protected de l'objet b qui est de type A ! J'aurais dit ----- comme ça qu'elle n'avait le droit accéder que les attributs de l'objet pointé par this. }
Ou est mon erreur s'il vous plait.
Tu es dans A, tu aurais donc le droit d'accéder aux membres privés ! Mais ce sera différent si tu avais une classe dérivée dont tu recevais un objet en paramètre (c'est probablement à quoi tu pensais).
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:dwYMb.2136$zm5.1224@nntpserver.swip.net, Luc
Je suis pris d'un doute ce soir sur un membre protected. Si j'ai un
tel membre, j'ai le droit accéder a ce membre depuis n'importe
quelle méthode de mon objet, mais ai-je droit accéder a ce membre
protected d'un objet de même type passé en argument par exemple.
Voici un exemple :
class A
{
protected:
int a;
public:
void ajoute(const A & b);
}
void A::ajoute(const A &b)
{
a = a+b.a; ----> cette méthode accède un champs protected de
l'objet b qui est de type A ! J'aurais dit -----
comme ça qu'elle n'avait le droit accéder que les attributs de
l'objet pointé par this. }
Ou est mon erreur s'il vous plait.
Tu es dans A, tu aurais donc le droit d'accéder aux membres
privés ! Mais ce sera différent si tu avais une classe dérivée
dont tu recevais un objet en paramètre (c'est probablement à
quoi tu pensais).
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Je suis pris d'un doute ce soir sur un membre protected. Si j'ai un tel membre, j'ai le droit accéder a ce membre depuis n'importe quelle méthode de mon objet, mais ai-je droit accéder a ce membre protected d'un objet de même type passé en argument par exemple. Voici un exemple : class A { protected: int a;
public: void ajoute(const A & b); }
void A::ajoute(const A &b) { a = a+b.a; ----> cette méthode accède un champs protected de l'objet b qui est de type A ! J'aurais dit ----- comme ça qu'elle n'avait le droit accéder que les attributs de l'objet pointé par this. }
Ou est mon erreur s'il vous plait.
Tu es dans A, tu aurais donc le droit d'accéder aux membres privés ! Mais ce sera différent si tu avais une classe dérivée dont tu recevais un objet en paramètre (c'est probablement à quoi tu pensais).
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/