Las funciones de amigo deberían poder acceder a miembros privados de una clase ¿no? Entonces, ¿qué he hecho mal aquí? He incluido mi archivo .h con el operador < < Tengo la intención de ser amigo de la clase.amigo con clase pero no puede acceder a miembros privados
#include <iostream>
using namespace std;
class fun
{
private:
int a;
int b;
int c;
public:
fun(int a, int b);
void my_swap();
int a_func();
void print();
friend ostream& operator<<(ostream& out, const fun& fun);
};
ostream& operator<<(ostream& out, fun& fun)
{
out << "a= " << fun.a << ", b= " << fun.b << std::endl;
return out;
}
Es curioso como la cosa más más simple es el más difícil de encontrar ... – starcorn
¿El 'diversión y' siempre tienen que ser 'const'? – peter