Departamentul
REFERAT
la lucrarea de laborator nr.3
Chișinău 2019
1
Tema: Supraîncărcarea operatorilor
Scopul lucrării:
Studierea necesităţii supraîncărcării operatorilor;
Studierea sintaxei de definire a operatorilor;
Studierea tipurilor de operatori;
Studierea formelor de supraîncărcare;
Sarcina:
Codul programului :
#include <iostream>
class num_intreg{
private:
int num;
public:
num_intreg(){
}
num_intreg(int n): num(n){
}
~num_intreg(){
}
num_intreg operator++(){
num_intreg temp;
temp.num = ++num;
return temp;
}
num_intreg operator++(int){
2
num_intreg temp;
temp.num = num++;
return temp;
}
void operator=(num_intreg a){
this->num = a.num;
}
num_intreg operator+(num_intreg a){
num_intreg temp;
temp.num = this->num + a.num;
return temp;
}
void afisare(){
cout<<num<<endl;
}
friend num_intreg operator-(num_intreg a, num_intreg b);
};
int main(){
num_intreg a, b, c;
int x;
cout<< "Introducetinumarul a: ";
cin>> x;
a = x;
cout<< "Numarul a = ";
a.afisare();
3
cout<< "Postincrementare." <<endl
<< "c = a++" <<endl;
c = a++;
cout<< "Numarul a = ";
c.afisare();
cout<< "Numarul c = ";
c.afisare();
c = a - b;
cout<< "Supraincarcareaoperatorului '-' ca functieprietena." <<endl
<< "c = a - b " <<endl;
cout<< "Numarul c = ";
c.afisare();
}
Demonstratea programului :
Concluzie:
In rezultatul elaborarii lucrarii date s-a pus baza aplicarii in practica a cunostintelor teoretice
referitoare la utilizarea operatorilor.
Astfel se poate judeca despre posibilitatile largi acordate de limbajul C++ referitor la
manipularea memoriei in directia dorita de utilizator.
4
5