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
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