Foro de elhacker.net

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
  1. class
  2. {
  3.    public:
  4.        void foo(void);
  5. } 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
  1. void decltype(o)::foo(){
  2.    // ...
  3. }

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

Por ejemplo:
Código
  1. int n = 5;
  2. decltype(n) j = 7;
Ambos son int.

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