Ce pointeur C ++

Noter cet article





ce pointeur en c ++, ce c ++, ce с ++

Dans ce tutoriel, nous regardons assez pointeur tensioactif ce, programmeurs débutants de le rencontrer et avoir une idée de l'endroit où elle se produit et comment il fonctionne. Je veux, pour un début, considérer quelques exemples simples. Dans le premier à déterminer fonctions: dont l'un écrire des données sur les variables, et le second – les afficher sur l'écran. Dans un deuxième exemple, nous définissons classe, qui contiendra deux méthodes, effectuer le même travail, en fonction du premier exemple.

Quand vous considérez ces exemples, note, en fonction du premier exemple et la deuxième classe de procédés de l'exemple, prendra les paramètres.

Dans cet exemple, vous, probablement, Nous ne voyons rien de nouveau ou difficile pour vous. Il est simple – fonctions acceptent uniquement les paramètres et d'effectuer certaines actions avec ces paramètres. Maintenant, nous allons écrire une classe simple, que nous mettons en œuvre des méthodes très similaires à la fonction du premier exemple. Mais quelque chose qu'ils diffèrent. A savoir, la, ils ne doivent pas être considérées comme un paramètre, les membres de la classe, de les modifier.

Considérons cet exemple, vous avez vu, qui définissent une méthode dans le corps de la classe, nous ne prescrivons pas les paramètres dans la signature. Et, ces méthodes de provoquer la fonction principale, nous avons également ne précise pas quelles données ils travaillent. Mais dans certaines données de manière est entré précisément les membres de la classe, identifié dans les méthodes de corps. Comment les méthodes “comprendre”, quelles données et qui classe d'objets dont ils ont besoin pour travailler? le fait, que, dans les méthodes de classe, implicitement passé en paramètre un pointeur ce (un pointeur sur l'objet de classe). Ceci se produit automatiquement. Nous ne voyons pas, puisque cet indice – il y a un premier argument caché de toute méthode de classe.

aiguille ce stocke l'adresse d'une classe particulière d'objet. Dans cet exemple, il stocke l'adresse de l'objet objectOfClass. Ainsi, il indique implicitement les méthodes de classe avec les données de l'objet à travailler.




Je note, que les développeurs ont encore la possibilité d'utiliser le pointeur ce apparemment. Si nous définissons une méthode entrer des données() avec l'utilisation explicite de ce, il ressemblerait à ceci:

ce pointeur en c ++, ce c ++, ce с ++

environ:

ce pointeur en c ++, ce c ++, ce с ++

Plus précisément, dans ces cas, vous pouvez faire sans l'utilisation explicite ce. Mais parfois, l'utilisation explicite ne peut être évitée. Par exemple, dans l'exemple suivant,, ce le compilateur ne permettra pas de se confondre dans les noms des membres du groupe et qui accepte les paramètres concepteur.

En ligne 10 nous avons défini un constructeur avec des paramètres, dont les noms coïncident avec les noms des membres de la classe: UnNom et someAge. Suivant pour permettre au compilateur de comprendre quoi et où copier, nous utilisons explicitement le pointeur ce:

cela signifie que, en ce que le membre de la classe someAge vous devez écrire la valeur, qui fixera sur la création d'un objet de classe.

ce pointeur en c ++, ce c ++, ce с ++

Pour résumer : ce pointeur – un pointeur, qui stocke l'adresse d'une classe d'objet particulier. Elle est présente dans un premier paramètre caché dans chaque méthode d'une classe (sauf méthodes statiques). Le type du pointeur est le nom de la classe. Les méthodes de classe, si nécessaire, Vous pouvez utiliser ce apparemment. Cependant, déclarer explicitement, pour initialiser ou modifier le pointeur, il n'y a aucune possibilité.

Espérons que Bole-moins vous comprenez ce sujet. Si vous avez des questions – s'il vous plaît commenter.

Pour soutenir notre site – cliquez sur la tirelire et choisir un moyen pratique.

Bulletin de nouvelles leçons sur la programmation:

3 réflexions sur "Ce pointeur C ++

  1. Et cela se révèle? Est-ce, mais vous pouvez déclarer votre pointeur, et à utiliser au lieu de cela?

    1. Déclarer un pointeur, vous pouvez, mais il sera plein dupliquer ce, donc inutile de le faire est pas.
      Mais sans aucun autre accès à “cet objet” ne serait.

Laisser un commentaire

Placez le code dans les balises: <pre class="lang:c ++ décodage:true ">VOTRE CODE</pré>