Comment utiliser le pointeur «this» en c ++

<

Contenu

  • Instructions
  • Conseils & avertissements
  • ressources
  • div itemprop="description" class="intro marginTop" data-module="article-intro">

    Dans un programme C ++, si vous créez l`objet A de la classe X, vous pouvez alors obtenir l`adresse de A en utilisant le "ce" aiguille. L`adresse est disponible en tant que variable locale dans les fonctions membres non statiques de X, et son type est const X *. le "ce" pointeur fonctionne parce que C ++ crée des instances de ses membres de données, et il conserve une copie de chaque fonction de membre.

    Choses que vous devez

    • l`habileté avancée C
    • Compilateur C ++ avec IDE, tels que Visual Studio 2008

    Instructions




    1. Utilisez le "ce" pointeur pour découvrir l`emplacement d`une instance de classe. Comme tout pointeur, il stocke une adresse. fonction de membre GetAddress () de classe C ++ X renvoie l`adresse d`une instance donnée de la classe X:

      class X {

      public:

      X * const GetAddress () const {

      retour this-

      } -

    2. fonctions membres d`accès ou des données de membres à l`intérieur d`une fonction de membre de la classe avec le "ce" mot-clé et la "-gt;" opérateur. L`exemple ci-dessous peut fonctionner sans "ce-gt ;." Mais si la bibliothèque de matrice a une classe parente avec les mêmes noms de membres, "ce-gt;" montre clairement que ce qui est invoqué appartient à la classe actuelle, et non pas son parent:

      classe matrice {

      lignes int, cols-

      public:

      Matrice (): lignes (0), cols (0) {

      ce-gt; Init () -

      }

      Matrice ~ () -

      int GetRows () const {

      retourner ce-gt; rows-

      }

      privé:

      vide Init () -

      } -

    3. Étudier une classe qui a la surcharge d`opérateur et d`étudier l`utilisation de ce. L`extrait de code suivant montre comment il peut être redéfini:

      const X * ce-gt; opérateur () {

      retour this-

      }

    Conseils & Avertissements

    • Gardez ces règles à l`esprit lorsque l`on travaille avec un pointeur: ne pas essayer de changer adresses- ils sont unmodifiable- ne comprennent pas les adresses à chaque fois que la taille d`un objet est calculated- vous ne pouvez pas accéder à une adresse de fonctions membres statiques.

    Ressources

    AUTRES

    » » » » Comment utiliser le pointeur «this» en c ++