// Programa clas27.cpp de exemplo para ilustrar conceitos de // funcoes operador com atributo friend aceitando // dois tipos de argumento // Original do livro TURBO C++ SCHILDT pg 421 #include class CL { public: int count; CL operator=(int i); friend CL operator+(CL ob, int i); friend CL operator+(int i, CL ob); }; CL CL::operator=(int i) { count = i; return *this; } // esta funcao manipula ob + int CL operator+(CL ob, int i) { CL temp; temp.count = ob.count + i; return temp; } // esta funcao manipula int + ob CL operator+(int i, CL ob) { CL temp; temp.count = ob.count + i; return temp; } main (void) { CL obj; obj = 10; cout << obj.count << " "; // exibe 10 obj = 10 + obj; // adiciona objeto ao inteiro cout << obj.count << " "; // exibe 20 obj = obj + 12; // adiciona um inteiro ao objeto cout << obj.count; // exibe 32 return 0; }