Supraîncărcarea operatorilor și funcțiilor

Curs
8/10 (1 vot)
Conține 16 fișiere: doc, ppt, cpp
Pagini : 34 în total
Cuvinte : 1570
Mărime: 39.28KB (arhivat)
Publicat de: Andrada Dinu
Puncte necesare: 0

Extras din curs

SUPRAÎNCĂRCAREA OPERATORILOR ŞI FUNCŢIILOR

Supraîcărcarea funcţiilor independente şi a funcţiilor membre

Aspecte generale şi restricţii pentru supraîncărcrea operatorilor

Supraîmcărcarea operatorilor unari ++ şi –-

Supraîncărcarea operatorilor binari

Supraîncărcarea operatorului []

Supraîncărcarea operatorilor new şi delete

Supraîncărcarea operatorului cast

Supraîncărcarea operatorului vitgulă

Supraîncărcarea operatorului funcţie

Supraîncărcarea operatorilor >> şi <<

Supraîncărcarea operatorului ->

Conversii între obiecte de diferite tipuri

Supraîcărcarea funcţiilor independente şi a funcţiilor membre

Supraîncărcarea (overloading) funcţiilor şi operatorilor reflectă posibilitatea de a atribui unui simbol mai multe semnificaţii.

Funcţie polimorfică : funcţie care efectuează prelucrări diferite de la un context la altul

Selecţia funcţiei dintr-un set de funcţii se face pornind de la signatura funcţiei (numărul şi tipul parametrilor)

În procesul de selecţie pot apare erori

Ambiguitate (compilare)

Simbol nedefint(linkeditare)

OBS. Valoarea returnată de o funcţie nu este criteriu de identificare a versiunii de apelat

Supraîcărcarea funcţiilor independente şi a funcţiilor membre

Etapele selecţiei funcţiei de apelat:

Dupa signatură fără conversii

Se operează conversii nedegradante (char şi short în int; float în double)

void f(double&,double);

double b; float a=5.5; f(b,a);

Se operează conversii degradante (numeric în numeric indiferent de tip; între pointeri de orice tip şi void ; de la pointer de clasă derivată la pointer de clasă de bază)

void f(double&,int);

double b; float a=5.5; f(b,a);

Aplicarea eventualelor conversii introduse de utilizator (supraîncărcarea operatorului cast)

........DesktopMicrosoft Visual C++ 6.0.lnk (Ex.PooSO00)

Aspecte generale şi restricţii pentru supraîncărcrea operatorilor

Operatorii sunt asimilaţi unor funcţii cu nume format din cuvântul cheie operator şi simbolul grafic al operatorului din limbaj

<tip_return>operator<simbol>(<lista_p>);

double operator+=(double);

Operatorii apar ca funcţii care au şi forme simple de apel

a-b este echivalent cu a.operator-(b)

Cu semnificaţia: funcţia membră numită operator-() aparţinând obiectului a este apelată având ca parametru de intrare obiectul b.

Preview document

Supraîncărcarea operatorilor și funcțiilor - Pagina 1
Supraîncărcarea operatorilor și funcțiilor - Pagina 2
Supraîncărcarea operatorilor și funcțiilor - Pagina 3
Supraîncărcarea operatorilor și funcțiilor - Pagina 4
Supraîncărcarea operatorilor și funcțiilor - Pagina 5
Supraîncărcarea operatorilor și funcțiilor - Pagina 6
Supraîncărcarea operatorilor și funcțiilor - Pagina 7
Supraîncărcarea operatorilor și funcțiilor - Pagina 8
Supraîncărcarea operatorilor și funcțiilor - Pagina 9
Supraîncărcarea operatorilor și funcțiilor - Pagina 10
Supraîncărcarea operatorilor și funcțiilor - Pagina 11
Supraîncărcarea operatorilor și funcțiilor - Pagina 12
Supraîncărcarea operatorilor și funcțiilor - Pagina 13
Supraîncărcarea operatorilor și funcțiilor - Pagina 14

Conținut arhivă zip

  • Supraincarcarea Operatorilor si Functiilor
    • PooSO_Aplicatii
      • PooSO00.cpp
      • PooSO01.cpp
      • PooSO02.cpp
      • PooSO03.cpp
      • PooSO03a.cpp
      • PooSO04.cpp
      • PooSO05.cpp
      • PooSO06.cpp
      • PooSO06a.cpp
      • PooSO06b.cpp
      • PooSO07.cpp
      • PooSO08.cpp
      • PooSO09a.cpp
      • PooSO09b.cpp
    • POO02.ppt
    • PooSO_surse.doc

Alții au mai descărcat și

Baze de Date

Cap. 1 INTRODUCERE ÎN GESTIUNEA BAZELOR DE DATE 1.1 Introducere Sistemul de baze de date este, în esenţă, doar un sistem computerizat de păstrare...

Curs HTML

Internetul a fost descris ca „o colectie larga de retele“ sau ca o „retea de retele“. Desi ambele definitii sînt corecte, nici una nu surprinde...

Limbaj de Programare

Prin algoritm putem întelege o succesiune finita de operatii. Acesta presupune executarea unor calcule într-o anumita ordine. Putem considera ca...

Organizarea informației în fișiere

Organizarea externă a datelorîn fişiere 1. Fişierul şi articolul 2. Moduri de acces la articole 3. Metode de organizare a fişierelor -...

Sistem de gestiune a bazelor de date

Sistem de Gestiune a Bazelor de Date (SGBD) Este un ansamblu de programe speciale care realizeaza gestionarea si prelucrarea complexa a datelor,...

Clase derivate. Moșteniri. funcții virtuale

CLASE DERIVATE.MOŞTENIRI.FUNCŢII VIRTUALE Derivarea claselor.Moşteniri Funcţii care nu se moştenesc integral Funcţii virtuale Derivarea...

Abstractizarea Datelor. Clase și Obiecte

ABSTRACTIZAREA DATELOR. CLASE ŞI OBIECTE Concepte fundamentale Constructori şi destructori Pointrul this Pointeri la obiecte. Masive de...

Tehnici de Simulare

NOIUNI DESPRE SISTEME, MODELE, SIMULARE Cuvântul „simulare” deriv din latinescul „simulatio”, care înseamn capacitatea de a reproduce,...

Te-ar putea interesa și

Examen programarea orientată pe obiecte

1. Clase. O definitie “bruta” a clasei ar fi aceea ca este un concept extins al unui tip de date abstract : in loc sa contina numai informatii –...

C++

Un prim exemplu de program C++: #include <iostream.h> void main { int a; cout << "Dati un numar\n"; cin >> a; cout << "Ati tastat numarul "...

Curs Programare C++

Cap 1. Reprezentarea informaţiilor 1.1 Reprezentarea numerelor întregi în sistemul binar Un număr natural se reprezintǎ ca o colecţie de cifre....

Curs C++

Limbajele C si C++ sunt limbaje de programare de nivel înalt. Limbajul C a aparut în anii 1970 si a fost creat de Dennis Ritchie în...

Clase

1. Programare procedurala –Programare orientata pe obiecte. Limbajul C, ca si Pascal, utilizeaza modelul programarii structurate procedurale, care...

Circuite Logice Programabile

I. Generalităţi şi criterii de performanţă ale circuitelor digitale În proiectele tradiţionale erau folosite componente analogice care au un preţ...

C++

INTRODUCERE Limbajele de programare oferă utilizatorului posibilitatea de a folosi, în programare, date de tipuri diferite (tipuri predefinite) cu...

Obiecte Funcți

Obiecte functii (functori). Într-o expresie, apelul unei functii este înlocuit prin rezultatul întors de functie. Misiunea functiei poate fi...

Ai nevoie de altceva?