Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Operatorul de apel al unei functii poate fi considerat o expresie binara de forma
nume_functie(lista_argumente)
unde lista_argumente introduce argumentele efective de apel ale functiei cu numele nume functie. In aceasta expresie binara operandul stanga este numele functiei, iar operandul dreapta este lista de argumente de apel. Operatorul poate fi supraincarcat pentru o clasa data folosind o functie membra nestatica a clasei printr-o constructie de forma:
tip_returnat operator() (lista_argumente);
Lista de argumente este evaluata si utilizata dupa regulile obisnuite de transfer ale argumentelor. Functia operator de apel poate fi supraincarcata pentru orice clasa, dar ea este utila in special pentru acele clase care au fie o singura functie, fie una dintre functiile membre este predominanta ca utilizare.
De exemplu, supraincarcarea functiei operator de apel pentru clasa Point, poate arata astfel
class Point
Pentru functia operator()() s-a ales o operatie de atribuire a unor valori datelor membre ale clasei si utilizarea ei intr-o functie oarecare f6() poate arata astfel
void f6()
Supraincarcarea operatorului de apel este frecvent utilizata in definirea iteratorilor, care permit parcurgerea in ordinea dorita a elementelor unei colectii, fara ca aceasta ordine sa depinda de modul de ordonare interna a elementelor colectiei. Un astfel de exemplu este dat in sectiunea 8. De asemenea, functia operator () () mai este utilizata in operatii cu subsiruri si ca operator de indexare in tablourile multidimensionale.
Politica de confidentialitate |
Copyright © 2024 - Toate drepturile rezervate