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

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

  1. Contributeur
    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
    1. Oui, la classe B hérite de la classe A.
      profit est un membre de la classe
      0
      1. Contributeur
        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
        1. Et dans le cas ou B n'hérite pas de A et que profit est un menbre de la classe, comment faire ?
          0
          1. Modérateur
            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
            1. Contributeur
              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