Resultados da pesquisa a pedido "virtual-inheritance"

2 a resposta

Lista inicializadora de herança virtual C ++

7 a resposta

Como a herança virtual resolve a ambiguidade do "diamante" (herança múltipla)?

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

1 a resposta

C ++ construtores / destruidores da classe base abstrata - correção geral

Recently Eu sou burro como desenvolvedor, então eu mergulhei, peguei um livro em C ++ e aprendi a fazer as coisas corretamente. Na minha cabeça, eu sei o que gostaria de fazer. Eu efetivamente quero umInterface que, quando herdado, deve ser ...

2 a resposta

Herança Virtual e Diamante Temido

Eu estou tendo um tempo difícil com um problema de diamante temido. Para um lembrete, aqui está a hierarquia de classes clássica deste problema:

1 a resposta

Layout de memória de herança virtual C ++

Layouts de memória de herança virtualEstou tentando entender completamente o que está acontecendo na memória com herança virtual e vTables / vPtrs e o que não. Tenho dois exemplos de código que escrevi e entendo exatamente por que ...

5 a resposta

herança virtual é necessária para exceçõe

Entendo a necessidade de herança virtual ao usar herança múltipla - ele resolve o Problema do Diamante Dreade Mas e se eu não estiver usando herança múltipla? Existe alguma necessidade de herança virtua Parece que me lembro de ouvir que era ...

5 a resposta

omo a herança virtual C ++ é implementada nos compiladore

Como os compiladores implementam a herança virtua No código a seguir: class A { public: A(int) {} }; class B : public virtual A { public: B() : A(1) {} }; class C : public B { public: C() : A(3), B() {} };Um compilador gera duas instâncias ...

4 a resposta

Chamando o Construtor Sobrecarregado de uma Classe Base Virtual

Existe uma maneira (prática) de ignorar a ordem de chamada do construtor normal (virtual)? Exemplo: 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 a resposta

Por que o construtor Default é chamado de herança virtua

Não entendo por que, no código a seguir, quando instanciamos um objeto do tipodaughter, o padrãograndmother() construtor é chamado? Eu pensei que ograndmother(int) construtor deve ser chamado (para seguir a especificação do meumother construtor ...

10 a resposta

Em C ++, o que é uma classe base virtual?

Eu quero saber o que é "classe base virtual"é e o que isso significa. Deixe-me mostrar um exemplo: class Foo { public: void DoSomething() { /* ... */ } }; class Bar : public virtual Foo { public: void DoSpecific() { /* ... */ } };