Resultados de la búsqueda a petición "friend"

1 la respuesta

¿Se define una función de amigo en clase automáticamente en línea?

Si una función miembro se define dentro de la clase, es una función en línea. P.ej. struct X { void mem_f() {} //mem_f is inline };Mi pregunta es si una función de amigo no miembro definida dentro de la clase también está automáticamente ...

3 la respuesta

Sobrecarga de operador amigo plantilla C ++

¿Qué tiene de malo mi código? template<int E, int F> class Float { friend Float<E, F> operator+ (const Float<E, F> &lhs, const Float<E, F> &rhs); };G ++ solo mantiene la advertencia: float.h:7: warning: friend declaration ‘Float<E, F> ...

2 la respuesta

En C ++, ¿por qué no es posible hacer amigo de una función miembro de clase de plantilla usando el tipo de plantilla de otra clase?

En otras palabras, por qué esto compila bien: template<typename Type> class A{ public: void f(); }; class B{ friend void A<int>::f(); }; template<> void A<int>::f(){ B* var = new B(); }Si bien esto no: template<typename Type> class A{ public: ...

3 la respuesta

Hacer una clase indefinida como amigo y definirla más tarde

Haciendo un amigo desconocido template<typename T> class List { protected: class a { int x; int y; private: friend class b; // <------------ Why this is not an error? }; template <typename U > class b { //If that is not a error this should be an ...

5 la respuesta

sobrecargando el operador amigo << para la clase de plantilla

He leído un par de preguntas sobre mi problema en StackOverflow.com ahora, y ninguna de ellas parece resolver mi problema. O tal vez lo he hecho mal ... El sobrecargado<< funciona si lo convierto en una función en línea. Pero, ¿cómo hago para que ...

3 la respuesta

¿Por qué una clase amiga C ++ necesita una declaración de reenvío solo en otros espacios de nombres?

Supongamos que tengo una claseF eso debería ser amigo de las clasesG (en el espacio de nombres global) yC (en espacio de nombresA) ser amigo deA::C, F debe ser declarada hacia adelante.ser amigo deG, sin declaración adelantada deF es ...

3 la respuesta

¿Cómo hacer que la lambda sea amiga de una clase?

Digamos que tengo una clase: class A { int a; };Y tengo una lambda: auto function = [](A* a) { a->a; // <== gives an error in this line. }; function(new A);¿Hay alguna forma de usar un miembro / método privado dentro de una lambda? - No es ...

1 la respuesta

¿Cuál es la forma correcta de escribir declaraciones de función amiga en la clase de plantilla?

Estoy tratando de escribir mi propia clase de plantilla de vectores, pero tengo algunos problemas al escribir declaraciones de funciones de amigos. Al principio escribí así: template <typename T, typename Alloc = std::allocator<T>> class vector ...

1 la respuesta

Comportamiento extraño del operador con plantilla <<

No puedo entender el comportamiento del operador << en mi clase: encabezamiento: #ifndef VECTOR_H_ #define VECTOR_H_ #include <string> #include <iostream> template<class T> class Vector { static const int EXPANDER = 10; T* array; int next; int ...

5 la respuesta

Alcance de amigo en C ++

Si tengo tres clases, A, B, C. A y B son amigos (bidireccionalmente). Además, B y C son amigos (bidireccionalmente). A tiene un puntero a B y B tiene un puntero a C. ¿Por qué A no puede acceder a los datos privados de C a través del ...