[C++]Incrémenter attribut d'une autre classe

Fermé
max - 22 févr. 2007 à 17:44
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 25 févr. 2007 à 14:38
Bonjour,

j'ai une question à propos des attributs en C++
J'ai une classe A qui a un attribut :
profit
J'ai une autre classe B qui doit incrémenter cet attribut. L'attribut profit doit rester dans la classe A.

Est-ce que quelqu'un pourrait m'indiquer comment faire cela et comment doit être initialiser profit

Merci

6 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
22 févr. 2007 à 20:11
y a un héritage entre A et B ? Sinon, il y a friend ou encore statci etc...
Il faut nous en dire plus.
profit est un membre de la classe ou de l'objet ?
0
Oui, la classe B hérite de la classe A.
profit est un membre de la classe
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
23 févr. 2007 à 08:28
Ok, déjà c'est plus clair.
comme B hérite de A, il faut que profit soit "public" ou "protected".
Ensuite dans B il suffit de faire profit+=...;
Pour initialiser profit :
class A{static Type profit=...;}
ou
class A{static Type profit;...}
Type A::profit=...;
Voilà...
0
Et dans le cas ou B n'hérite pas de A et que profit est un menbre de la classe, comment faire ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33622 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 avril 2025 7 839
24 févr. 2007 à 03:16
Il faut que l'attribut à modifier dans l'autre classe soit accessible
- protected (ou public) si tu hérites de cette classe
- friend (pour ta classe) ou public sinon

http://www.allprog.com/CPlusPlus/Friend.htm
http://tbrouard.univ-tours.fr/t/article.php3?id_article=62

Bonne chance
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
25 févr. 2007 à 14:38
si profit est toujours un membre de la classe (donc static) il suffit de le mettre en public ou de déclarer B comme class amie.
Ensuite dans B, il te suffit de faire : A::profit+=...;
0