Ver Mensaje Individual
  #7 (permalink)  
Antiguo 16/04/2016, 11:31
enrieto
 
Fecha de Ingreso: abril-2016
Mensajes: 31
Antigüedad: 8 años, 1 mes
Puntos: 5
Respuesta: Override en declaración.

Hola; y eh! por favor no me malinterpretes, el ejemplo que puse por ahí arriba sólo pretende ser una forma de imitar el fragmento de código Java donde se crean clases anónimas derivadas de una clase Base.
Código Java:
Ver original
  1. Base base1 = new Base(){
  2. @override
  3.    void metodo(){
  4.       System.out("este el un metodo unico para base 1");
  5.    }
  6. }
Entonces, mi transcripción literal en C++ venía a ser:
Código C++:
Ver original
  1. struct : Base {
  2.    void metodo() override { std::cout << "metodo() sobrescrito en d.\n"; }
  3. } d;

Igual creo que todos acá sabemos que traducir literalmente de un lenguaje a otro produce curiosos engendros mutantes.

Bay de güey, ante la duda de si algo se puede o no, si es o no correcto en C++, siempre conviene desasnarse con la documentación del estándar; por ejemplo, sobre clases anónimas:
Cita:
9 Classes
9.1
... A class-specifier whose class-head omits the class-head-name defines an unnamed class ...
Así que el objeto d del ejemplo es de un tipo anónimo derivado de Base.