Book C

mea _ clasa OB 1, ob 2;

apeluri de funcții componente au forma:

Să ambele funcții conținute instrucțiuni:

mea _ clasa * const acest lucru;

cout < str;

Cu toate acestea, această formă este de înregistrare redundantă. Pe de altă parte, utilizați în mod explicit acest indicator este eficient în rezolvarea unor probleme.

Luați în considerare exemplul acestui-exemplu, indicatorul pentru ordonarea numerelor în matrice.

m _ srt cl (); // functie prin care se dispune de informații în matrice

m _ cl * INPT (); // numere de intrare funcție într-o matrice

anula out (); // incheie prin sortarea informațiilor

m _ _ m cl cl. srt () // sortare funcție

întoarce * acest lucru; // returnează conținutul obiectului la care

> // puncte în acest pointer

m _ _ cl * m cl. INPT () // funcție de intrare

returnați; // Returnează ascuns acest indicator

void m _ cl. out ()

cout <

o 1. INPT () -> srt (). out (); // apela funcțiile de componente ale primului obiect

o 2. INPT () -> srt (). out (); // apela funcțiile de-al doilea obiect component

Apel funcții de componente pentru fiecare dintre obiectele create puse în aplicare:

o 1. INPT () -> srt (). out;

Instrucțiunea de mai sus este interpretat după cum urmează:

primul numit INPT funcție pentru introducerea informațiilor într-o serie de date obiect O1;

în continuare funcția de sortare informații este numit într-o matrice, returnează conținutul obiectului O1;

după această funcție este numit de ieșire.

Mai jos este textul unui alt program care utilizează un pointer la acest lucru. În plus, se realizează linie-componente ale unui obiect la o altă linie de componente.

A (char * s) // constructor cu un parametru char *

B (char * ss) // constructor cu un parametru char *

A anula :: pos_str (char * s)

dd = new char [strlen (this-> s) + strlen (s) 2]; // memorie pentru rânduri rescriere 2

strcpy (dd aceasta -> s.); // obiect dd suprascrierea la rând 1

dd [strlen (this-> s)] = ''; // îndepărtați '\ 0'

pentru (i = 0; * (s + i); i ++) // Anexați dd b1 obiect linie

șterge [] aceasta -> s; // șterge un obiect linia 1

acest lucru -> s = dd; // redirecționeze pointer la dd șir

cout <s <

Ca urmare a programului de a primi:

aa bcc dd ee bd

Notă regulile de bază ale utilizării acestui indicii:

- anunta fiecare obiect are propriul indicator acest- ascuns;

- acest pointer poate fi utilizat numai pentru funcția de non-statică;

- acest lucru indică începutul obiectului său în memorie;

- acest lucru nu este necesar să declare în plus este;

- acest lucru este trecut ca un argument pentru toate non-statice ascunse (statice non-Specificator) componente funcție a obiectului său;

- Index acest lucru - variabilă locală și nu este disponibil în afara proprietății;

- rândul său, pentru a elimina indicatorul poate fi acest lucru sau * acest lucru.