Definirea funcțiilor componentelor 1

Funcția de componentă trebuie să fie întotdeauna descrisă în corpul clasei. Spre deosebire de funcțiile convenționale (globale), funcția componentă 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 de service (specificator) inline. La definirea clasei, funcțiile lor componente sunt 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 complet plasată î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 clase complex1, complexe, 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 "construit" direct în punctul de apel.







Dar funcțiile care sunt înlocuite nu sunt toate funcțiile. Funcția care trebuie inserată nu trebuie să fie recursivă, nu poate conține bucle, întrerupătoare etc. Această restricție este foarte importantă, în acest context există oa doua modalitate de a determina funcțiile care aparțin clasei. Aceasta constă în faptul că numai prototipul funcției componente este plasat în interiorul corpului clasei, iar 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, trebuie să fie prevăzută și cu un specificator inline. dar, în același timp, vor apărea din nou limitele de mai sus impuse funcțiilor înlocuite.







Cu definiția externă a funcției componente, programatorul trebuie să spună compilatorului care clasă îi aparține. 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ă funcția de clasă și îi permite să utilizeze direct toate datele din clasă (obiectele sale) și orice funcții aparținând clasei (aceasta se aplică propriilor componente private protejate și protejate).

Cu definiția externă a funcției componentei, prototipul este plasat în corpul clasei:

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

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

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

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

De exemplu, un program care folosește vectorul de clasă în spațiul bidimensional ".

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

Funcțiile componente (metode) ale clasei:

1) introducerea coordonatelor;

2) derivarea coordonatelor;

3) definiția lungimii vectorului.







Articole similare

Trimiteți-le prietenilor: