Resultados de la búsqueda a petición "virtual-inheritance"

3 la respuesta

Mezcla de herencia virtual y no virtual de una clase base

Este es el código: struct Biology { Biology() { cout << "Biology CTOR" << endl; } }; struct Human : Biology { Human() { cout << "Human CTOR" << endl; } }; struct Animal : virtual Biology { Animal() { cout << "Animal CTOR" << endl; } }; struct ...

2 la respuesta

Herencia virtual y temido diamante.

Estoy teniendo dificultades con un problema de diamantes temido. Como recordatorio, aquí está la jerarquía de clases clásica de este problema:

5 la respuesta

¿Por qué se debe especificar la herencia virtual en medio de una jerarquía de diamantes?

Tengo jerarquía de clases de diamantes: A / \ B C \ / Dara evitar dos copias de A en D, necesitamos usar herencia virtual en B y C. class A { }; class B: virtual public A {}; class C: virtual public A { }; class D: public B, public C { }; ...

3 la respuesta

c ++ herencia virtual

7 la respuesta

¿Cómo resuelve la herencia virtual la ambigüedad del "diamante" (herencia múltiple)?

class A { public: void eat(){ cout<<"A";} }; class B: virtual public A { public: void eat(){ cout<<"B";} }; class C: virtual public A { public: void eat(){ cout<<"C";} }; class D: public B,C { public: void eat(){ cout<<"D";} }; int main(){ A *a = ...

2 la respuesta

Herencia virtual: Error: no hay anulación final única

Sé que la herencia virtual está cubierta aquí antes y antes de hacer esta pregunta, revisé los detalles de la herencia virtual y revisé los detalles de un problema similar como los ...

5 la respuesta

Herencia virtual múltiple de C ++ frente a COM

La red está repleta de explicaciones de"temido problema de diamantes" [http://en.wikipedia.org/wiki/Diamond_problem]. También lo es StackOverflow. Creo que entiendo un poco, pero no puedo traducir ese conocimiento en comprender algo similar pero ...

2 la respuesta

Tablas virtuales y diseño de memoria en herencia virtual múltiple.

2 la respuesta

Clases base virtuales orden de creación

Tengo el siguiente problema: struct A1 { A1() { std::cout << "A1, "; } }; struct A2 { A2() { std::cout << "A2, "; } }; struct AA1 : virtual A1, A2 { AA1() { std::cout << "AA1, "; } }; struct AA2 : A1, virtual A2 { AA2(){ std::cout << "AA2, "; } ...

7 la respuesta

C ++ no puede convertir de la base A al tipo B derivado a través de la base virtual A

Tengo tres clases: class A {}; class B : virtual public A {}; class C : virtual public A {}; class D: public B, public C {};Al intentar un reparto estático de A * a B * obtengo el siguiente error: cannot convert from base A to derived type B ...