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

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 { }; ...

4 la respuesta

Llamar al constructor sobrecargado de una clase base virtual

¿Hay alguna forma (práctica) de omitir el orden de llamada del constructor (virtual) normal? Ejemplo: class A { const int i; public: A() : i(0) { cout << "calling A()" << endl; } A(int p) : i(p) { cout << "calling A(int)" << endl; } }; class B ...

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 ...

10 la respuesta

En C ++, ¿qué es una clase base virtual?

Quiero saber que a &quot;clase base virtual&quot;Es y lo que significa.Déjame mostrarte un ejemplo:

5 la respuesta

Cómo se implementa la herencia virtual de C ++ en los compiladores?

Cómo implementan los compiladores la herencia virtual? En el siguiente código: class A { public: A(int) {} }; class B : public virtual A { public: B() : A(1) {} }; class C : public B { public: C() : A(3), B() {} }; ¿Un compilador genera dos ...

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 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

Es necesaria la herencia virtual para excepciones?

Entiendo la necesidad de herencia virtual cuando uso herencia múltiple: resuelve el temido problema del diamante. ¿Pero qué pasa si no estoy usando herencia múltiple? @Existe alguna necesidad de herencia virtua Me parece recordar haber ...

2 la respuesta

C ++ constructores / destructores de clase base abstracta - corrección general

Recientemente soy tonto como desarrollador, así que me lancé, obtuve un libro de C ++ y aprendí a hacer las cosas correctamente. En mi cabeza, sé lo que me gustaría hacer. Efectivamente quiero unInterface que cuando se hereda, debe anularse (si ...

2 la respuesta

¿Por qué se llama al constructor predeterminado en herencia virtual?

No entiendo por qué en el siguiente código, cuando instanciar un objeto de tipodaughter, el valor por defectograndmother() constructor se llama @ Pensé que o bien elgrandmother(int)e debe llamar al constructor @ (para seguir la especificación ...