Partage
  • Partager sur Facebook
  • Partager sur Twitter

operator[] en écriture ?

Sujet résolu
    1 avril 2008 à 22:44:11

    Bonsoir a tous,

    Voila, je suis en train d'essayer de surcharger l'operator[] en écriture...
    En lecture, cela donne ca :

    1. char String::operator[](int i)
    2. {
    3.        return chaine[i]; // chaine est un tableau de chars.
    4. }


    Mais maintenant, je voudrais pouvoir faire : chaine[i] = "x" // dans mon main.

    Et je suis perdu, je sais pas du tout comment faire la...
    • Partager sur Facebook
    • Partager sur Twitter
      1 avril 2008 à 22:45:59

      simple.

      1. char& String::operator[](int i)


      on renvoie une référence, ce qui permet de modifier le char en question.

      ^^
      • Partager sur Facebook
      • Partager sur Twitter
      Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
        1 avril 2008 à 22:50:15

        NB: Le C++ ne permet pas de faire différence entre l'écriture et la lecture -- du moins pas simplement, et en plus la solution à base de proxys est imparfaite.

        Il faut juste deux surcharges:
        - une pour les objets modifiables (accès R/W)
        - une pour les objects non modifiables (accès RO)
        • Partager sur Facebook
        • Partager sur Twitter
        C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
          1 avril 2008 à 22:59:28

          ah oui, super simple même, merci :)
          • Partager sur Facebook
          • Partager sur Twitter

          operator[] en écriture ?

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown