klasy zaprzyjaźnione a funckje zaprzyjaźnione, problem z okiełznaniem :D

0

załóżmy ze sobie napisałem taki kod

#include "P.h"

class P;

class U
{
public:
    friend class P;
    void operator=(const P& a);
...


#include "U.h"
class U;
class P 
{
public:
    friend class U;
    void operator=(const U& a);
     

Czyli tak zaprzyjażniłem sobie obie te klasy wzajemnie i dzieki temu moge stosowac te dwa operatory przypisania dla wzajemnych obiektow tych klas.

Ale teraz nadchodzi mnie taka refleksja :D, po co zaprzyjaźniać całe klasy, jak wystarczyloby te dwie metody zaprzyjażnic z tymi dwoma klasami. Pewnie sie da, tylko ja tego nie potrafie :), jak to zrobic ?

0
friend void U::operator=(const P&);

Tylko do tego kompilator potrzebuje definicji klasy U, sama deklaracja nie wystarczy.

0

ok, dzieki
ale jak to mialoby wygladac w kodzie, bo cos nie moge tego odpowiedni przerobic :/

0
class U
{
public:
    friend class P;
    void operator=(const P& a);

    ...


class P
{
public:
    friend void U::operator=(const P&);
	
    void operator=(const U& a);

    ... 

1 użytkowników online, w tym zalogowanych: 0, gości: 1