metode statice

Puteți declara unele metode de clasă sunt metode statice. Pentru a face acest lucru, ar trebui să utilizați cuvântul cheie static. Metoda statică nu prezintă parametri de acest lucru. Utilizarea metodelor statice sunt unele limitări.







Metodele statice pot avea acces direct numai membrilor statici ai unei clase.

O metodă statică nu poate fi declarată ca metodă virtuală.

Nu puteți specifica o metodă non-static cu același nume și același set de parametri ca metoda statica a clasei.

Metodele statice au o altă caracteristică interesantă - să le puteți apela chiar și fără a crea o clasă de obiecte. Pentru a apela o metodă statică din program, trebuie să specificați numele complet, inclusiv numele clasei.

Mai jos este un cerc de clasă, în care metoda statică definită GetPi. Este folosit pentru a obține valoarea unui element de clasă statică FPI.

GetPi static void ()

float static FPI;

float Circle :: FPI = 3.1415;

Puteți apela metoda GetPi, după cum urmează:

Vă rugăm să rețineți că obiectul este creat clasa Circle.

Membrii comune ale clasei de obiecte

Uneori este convenabil pentru toate obiectele din această clasă au o elemente comune de date, care sunt partajate. Acest lucru face posibilă reducerea semnificativă a numărului de variabile globale, îmbunătățirea structurii programului.







Elementele comune ale clasei trebuie declarate cu datele de cuvinte cheie statice. Toate elementele comune ale clasei ar trebui să fie definite în programul rezervat pentru ei în memorie:

Fiecare clasă de obiect va avea coordonatele unice Cwindow, elemente de date definite xLeftTop, xRightBottom, yLeftTop, yRightBottom și același antet stocate element de date din titlu.

Elementele de date comune sunt în domeniul de aplicare al clasei. Metodele de clasă se poate referi la elemente comune în același mod ca și restul claselor de date:

void SetTitle (char * sSource)

Pentru a avea acces la elementele comune ale programului, trebuie să le declare ca fiind publice. Pentru a avea acces la o astfel de variabilă înainte de numele său, este necesar să se precizeze numele clasei și operatorul.

caracteristici prietenoase și clase prietenoase

Accesul la elementele programelor de clasă și alte clase este limitată. Puteți aplica în mod direct doar elementele clasei definite sau descrise după cuvinte cheie publică. Cu toate acestea, în unele cazuri, trebuie să definiți funcția în afara clasei sau o altă clasă de metode care se pot aplica în mod direct tuturor membrilor clasei, inclusiv membri declarate ca fiind private și de a proteja.

friendly

caracteristică prietenos nu face parte din clasa, dar se pot aplica tuturor elementelor sale, inclusiv privat și de a proteja. Aceeași funcție poate fi prietenos pentru două sau mai multe clase.

Următorul exemplu definește o funcție clară, prietenos pentru klassapoint. Funcția prieten Clearispolzuetsya pentru a schimba elementele de valoare dannyhm_xim_y declarate ca fiind private:

clasa // Funcția Clear este declarată punctul prietenos

void prieten punctul :: Clear (punctul *);