Definiția component functions - stadopedia

Funcția de componentă trebuie să fie întotdeauna descrisă în corpul clasei. Spre deosebire de funcțiile obișnuite (globale), funcția componentei are acces la toate componentele clasei (cu orice stare de acces). Componenta funcțională a clasei are același domeniu de aplicare ca și clasa din care face parte. Un programator poate influența compilatorul invitându-l să desemneze o funcție reprezentată (încorporată). În aceste scopuri, în definiția funcției este specificat un cuvânt funcțional (specificator) inline. La definirea clasei, funcțiile lor componente pot fi de asemenea specificate ca substituibile. Pe lângă utilizarea explicită a cuvântului de serviciu inline, pentru acest lucru se utilizează următorul acord. Dacă definiția (nu numai prototipul) aparține clasei de funcții este plasată integral în clasă (în corpul clasei), atunci această funcție este considerată ca fiind înlocuită în mod implicit. Acesta este modul în care sunt definite funcțiile componente ale clasei complex1, complex, stroka, folosite anterior ca exemple. Toate funcțiile claselor listate sunt percepute de calculator ca fiind substituibile, adică de fiecare dată când aceste funcții sunt numite, codul lor este "încorporat" direct în punctul de apel.

Funcțiile înlocuite nu pot fi însă funcții. Funcția care trebuie inserată nu poate fi recursivă, nu poate conține bucle, întrerupătoare și așa mai departe. Această restricție este foarte semnificativă, deci există oa doua modalitate de a determina funcțiile care aparțin clasei. Constă în faptul că în interiorul corpului clasei este plasat doar prototipul funcției componente și definiția sa este în afara clasei, ca definiție a oricărei alte funcții inclusă în program. Cu această definiție externă a funcției componentei, ea poate fi de asemenea prevăzută cu un specificator inline. dar, în același timp, vor apărea din nou limitele de mai sus impuse funcțiilor înlocuite.

Cu o definiție externă a unei funcții a componentei, programatorul trebuie să "spună" compilatorului la care aparține clasa. Pentru a face acest lucru, utilizați forma binară a instrucțiunii ':: :: (scop).

Formatul utilizării sale în acest caz este după cum urmează:

<имя класса>. <имя компонентной функции>

Proiectul de mai sus, numit numele calificat al funcției componente, înseamnă că funcția este o componentă a clasei și se află în domeniul de aplicare al acesteia. Această definiție leagă o funcție unei clase și permite corpului său să utilizeze direct orice date ale clasei (obiectele sale) și orice funcții aparținând clasei (aceasta se aplică propriilor componente private protejate și protejate).

Cu o definiție externă a unei funcții a componentei, prototipul este plasat în corpul clasei:

<тип> <имя функции> (<спецификация и инициализация параметров>);

În afara corpului clasei, funcția componentă este definită după cum urmează:

<тип> <имя функции> (<спецификация формальных параметров>)

<тело, принадлежащее классу функции>

De exemplu, un program care utilizează clasa "vector în spațiu bidimensional".

Datele componente (proprietăți) ale clasei: coordonate vectoriale.

Funcțiile componente (metode) ale clasei:

1) introducerea coordonatelor;

2) derivarea coordonatelor;

3) determinarea lungimii vectorului.

Articole similare