Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: 4dr14n31t0r en 24 Enero 2017, 20:15 PM

Título: Implementar metodos de una clase anonima
Publicado por: 4dr14n31t0r en 24 Enero 2017, 20:15 PM
¿Como implemento el metodo 'foo' fuera de la clase en este caso?
Código (cpp) [Seleccionar]
class
{
    public:
        void foo(void);
} o;
No me puedo referir al metodo desde fuera del mismo por que para eso necesito el nombre de la case, pero esta es anonima.
Título: Re: Implementar metodos de una clase anonima
Publicado por: ivancea96 en 24 Enero 2017, 20:29 PM
Nunca se me dio este caso (no es nada recomendable hacer una clase anónima y definir luego sus miembros fuera, no debería haber razones apra ello).

En cualquier caso, te propongo una posibilidad:

Código (cpp) [Seleccionar]
void decltype(o)::foo(){
    // ...
}


decltype, de C++11, obtiene en tiempo de compilación el tipo de lo que le metas dentro.

Por ejemplo:
Código (cpp) [Seleccionar]
int n = 5;
decltype(n) j = 7;

Ambos son int.

Puedes usarlo, admeás, en templates o macros.