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 originalBase base1 = new Base(){
@override
void metodo(){
System.
out("este el un metodo unico para base 1"); }
}
Entonces, mi transcripción literal en C++ venía a ser:
Código C++:
Ver originalstruct : Base {
void metodo() override { std::cout << "metodo() sobrescrito en d.\n"; }
} 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.