Sunteți pe pagina 1din 4

//OPERATORUL +

//apeleaza in main functii de gen obiect=obiect+valoare;


//exemplu: a3=a3+1000;
Class operator+(int valoare){
this->pret += valoare; //creste pretul apartamentului cu valoarea returnata
return *this;
}
SAME PENTRU +=

//OPERATORUL ++
//apeleaza in main functii de gen obiect++;
//exemplu: a3++;
Class &operator++(int valoare){
this->anConstructie++; //se incrementeaza anul constructiei cu 1;
return *this;
}

//OPERATORUL <, >, <=, >=


//se realizeaza comparatiile intre obiecte de gen if(obiect1 > obiect 2) (sau <,>=,<=)
//exemplu: if(a3>a2){cout<<”mesaj”}
bool operator>(class &c){
bool comp= this->pret>c.pret; //va compara in main pretul obiectelor 1 si 2;
return comp;
}
sau
bool comp;
if(this->pret>c.pret)
return true;
else
return false;
return comp;

//OPERATORUL INDEX
/exemplu
int operator[](int w){
if (w >= 0 && w < 4)
return this->chelt[w];
}

//OPERATORUL ()
//exemplu
//prin acest operator, se realizeaza conversia pentru a afisa diferite componente din obiecte
operator float() {
float salariuTotal = 0, salariuMediu;
for (int i = 0; i < this->nrAngajati; i++) {
salariuTotal += this->angajati[i]->salariu;
}
salariuMediu = salariuTotal / this->nrAngajati;
return salariuMediu;
}

//OPERATOR +=
//avem spre exemplu c1+=f2;
//exemplu
Spital&Spital::operator+=(Medic &m) {
Medic* copie = new Medic[this->nrMedici];
for (int i = 0; i < this->nrMedici; i++) {
copie[i] = this->medici[i];
}

this->medici = new Medic[this->nrMedici];


for (int i = 0; i < this->nrMedici; i++) {
this->medici[i] = copie[i];
}
this->medici[this->nrMedici] = m;
this->nrMedici++;
return *this;
}

FISIERE

In main():
ofstream fisOut;
fisOut.open("spital2.txt", ios::out | ios::trunc);
fisOut << s2;
fisOut.close();

ifstream fisIn;
fisIn.open("spital2.txt", ios::in);
fisIn >> s3;
fisIn.close();

//facem cu friend
ifstream&operator>>(ifstream&fisier, Class&c){
//initializam buffer
//dezalocam daca avem atribute dinamice
//buffer pentru char

NU UITAM DE “return fisier”;

ofstream&operator<<(ofstream&fisier, Class&c){
//afisam ce avem de afisat in ordinea de pe foaie;
//return fisier;

STL-uri

//declararea lui
vector <unsigned int> myvector;

myvector.push_back(bf1.getnrFacturi());
myvector.push_back(bf5.getnrFacturi());

vector <unsigned int>::iterator myvectorIterator;


cout << "Afiseaza numarul de facturi din clasa BaniFacturi: ";
for (myvectorIterator = myvector.begin(); myvectorIterator != myvector.end();
myvectorIterator++)
{
cout << *myvectorIterator << ", ";
} cout << endl;

cout << "----------------------------------------------------------------------------------------------" <<


endl;
list<char*> lista;
lista.push_front(bc2.getDestinatie());
lista.push_front(bc3.getDestinatie());
lista.push_front(bc4.getDestinatie());

list<char*>::iterator IteratiaListei;
cout << "Afiseaza unde se cheltuie banii din clasa BaniCheltuieli: ";
for (IteratiaListei = lista.begin(); IteratiaListei != lista.end(); IteratiaListei++)
{
cout << *IteratiaListei << ", ";
}
cout << endl;

cout << "----------------------------------------------------------------------------------------------" <<


endl;
set<int> Set;
Set.insert(e1.getEconomiiTotal());
Set.insert(e2.getEconomiiTotal());
Set.insert(e4.getEconomiiTotal());

set<int>::iterator SetIteratie;
cout << "Afisare economii din clasa Economii: ";
for (SetIteratie = Set.begin(); SetIteratie != Set.end(); SetIteratie++)
{
cout << *SetIteratie << ", ";
}
cout << endl;

cout << "----------------------------------------------------------------------------------------------" <<


endl;

map<int, char*> Map;


Map.insert(make_pair(br1.getSuma(), br1.getNume()));
Map.insert(make_pair(br2.getSuma(), br2.getNume()));
Map.insert(make_pair(br3.getSuma(), br3.getNume()));
Map.insert(make_pair(br4.getSuma(), br4.getNume()));

map<int, char*>::iterator MapIteratie;


cout << "Elementele din map sunt: " << endl;
for (MapIteratie = Map.begin(); MapIteratie != Map.end(); MapIteratie++)
cout << "Suma de " << MapIteratie->first << " a fost primita de la " <<
MapIteratie->second << endl;

S-ar putea să vă placă și