Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateC
C sharpCalculatoareCorel drawDot netExcelFox pro
FrontpageHardwareHtmlInternetJavaLinux
MatlabMs dosPascalPhpPower pointRetele calculatoare
SqlTutorialsWebdesignWindowsWordXml

Supraincarcarea operatorului de matrice

calculatoare



+ Font mai mare | - Font mai mic



Supraincarcarea operatorului de matrice

(de indice sau indexare) "[ ] "

Operatorul [] predefinit se utilizeaza pentru a face acces la elementele unui tablou. De exemplu, daca tab este un tablou unidimensional de un tip predefinit, atunci o expresie de forma:



tab[exp]

permite accesul la elementele tabloului tab de indice exp, exp fiind o expresie care furnizeaza o valoare de tip intreg.

Expresiile de forma de mai sus sunt expresii lvalue (se pot utiliza ca parte stanga intr-o atribuire). De aceea, la supraincarcarea operatorului [] pentru tipuri abstracte, se va utiliza o functie membru nestatica, functie care sa returneze o referinta la elementul selectat pentru functia respectiva.

In aceste conditii, functia pentru supraincarcarea operatorului [] are antetul general:

tip & operator [] (tip_indice i);

tip * operator [] (tip_indice i);

Odata supraincarcat operatorul [] ca mai sus, sunt corecte expresiile de forma:

obiect [expresie]

unde obiect este o instantiere a clasei nume_clasa, iar expresie este o expresie care are tipul tip_indice sau un tip convertibil spre acesta.

Expresia de mai sus are ca rezultat o referinta la elementul definit prin functia care supraincarca operatorul []. Ea este o lvalue si deci se poate utiliza in ambele parti ale unei expresii de atribuire.

class vector

//constructorul de initializare - dezvoltare

vector::vector(int x)

//supraincarcarea operatorului de indexare - dezvoltare

int& vector::operator[](int x)

//supraincarcarea operatorului de afisare - dezvoltare

istream& operator>>(istream& in,vector& a)



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1790
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved