Considérese una Waldo clase, que hereda de Foo y Baz, a saber .:¿Funciona? C++ herencia múltiple y constructor de encadenamiento
class Waldo : public Foo, public Baz {
...
};
Al crear una nueva instancia de Waldo:
Waldo *w = new Waldo;
hacer lo Foo y ¿Se llama a los constructores de Baz? Si no se llaman por defecto, ¿hay una manera fácil EN LA DECLARACIÓN DE CLASE O EN LA DECLARACIÓN/DEFINICIÓN del constructor de Waldo para forzarlos a ser llamados?
(que parece que puede estar tratando de hacer el encadenamiento de constructor, y C++ supuestamente no hace eso. No estoy seguro.)
Lo que estoy tratando de hacer es "anotaciones" diversas clases declaraciones, donde las anotaciones causan (entre otras cosas) instancias de la clase anotada para vincularse en listas mantenidas por las clases de anotación. Esto me permite, por ejemplo, recorrer la lista de todos los objetos con Baz-nature, aplicarles una determinada operación y no tener que preocuparme si recordé agregar la instancia a la lista de objetos con Baz-nature, porque el constructor lo hizo automágicamente.
Nota: el uso de 'new' aquí es falsa, se podría decir' perfectamente Waldo w; 'y una instancia de 'Waldo' sería creado. –