You are on page 1of 2

#include <iostream>

#include <string>
using namespace std;

class Angajat;
class Stud
{
double media;
public:
string nume;
Stud(string n="Noname", double m=5. ): media(m), nume(n) {}
friend ostream& operator<<(ostream& ost, Stud& s)
{
ost << s.nume << " are media " << s.media;
return ost;
}
operator double() { return media; }
operator Angajat();

// friend bool operator<(Stud&, Stud&);


};

class Angajat
{
string nume; double salariu;
public:
Angajat(string n=" Dorel", double s=2000)
: nume(n), salariu(s) { }
friend class Stud;
friend ostream& operator<<(ostream& ost, Angajat& a)
{
ost << a.nume << " are salariu " << a.salariu << " lei";
return ost;
}
};

Stud:: operator Angajat()


{
Angajat aux;
aux.nume = nume; aux.salariu = 1950;
return aux;
}

bool operator<(Stud& s1, Stud& s2)


{
return (double)s1 < (double)s2;
}

int main()
{
Stud s1("Adam Dan", 8.5), s2;
cout << "\n" << s1 << "\n" << s2;
double d; d = (double)s1; cout << "\nMedia lui " << s1.nume << " este " <<
d;
cout << "\n" << s1.nume << " este mai slab decat " << s2.nume << "? : "
<< (s1 < s2 ? 'D' : 'N');
Stud grupa[] =
{
Stud("Avram Emanuela", 7.9), Stud("Barbu Doru",
9.4),Stud("Ciurea Elena", 8.5)
};

double mg = ( (double)grupa[0] + grupa[1] + grupa[2]) / 3;


cout << "\nMedia grupei este " << mg;

Angajat a1("Paun Mihai", 3500.), a2;


a2 = s1;
cout << "\n" << a1 << "\n" << a2;

cin.get();
}

You might also like