Resultados da pesquisa a pedido "diamond-problem"

7 a resposta

Java: como você chama essa ambiguidade de herança múltipla?

Aqui está um exemplo usando herança de interface múltipla em Java e há um problema. Observe que eu sei perfeitamente por que há um problema e esse não é o ponto da minha pergunta. A questão é sobre como você nomeia essa ambiguidade de herança de ...

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

6 a resposta

Downcasting de um objeto herdado de forma de diamante sem RTTI / dynamic_cast

Atualmente, estou trabalhando na integração de um pacote de terceiros que usa muitas coisas de RTTI em uma plataforma não RTTI (Android). Basicamente, fiz minha própria implementação de RTTI, mas estou com um problema. O problema é que muitas ...

2 a resposta

Diamante da morte e operador de resolução do escopo (c ++)

Eu tenho este código (problema de diamante): #include <iostream> using namespace std; struct Top { void print() { cout << "Top::print()" << endl; } }; struct Right : Top { void print() { cout << "Right::print()" << endl; } }; struct Left : Top { ...

2 a resposta

erança múltipla sem funções virtuais em c ++

Eu me deparei com o problema do diamante e encontrei soluções diferentes para casos diferentes com um único diamante. No entanto, não consegui encontrar uma solução para diamantes "encadeados". De acordo com a estrutura: sim, eu quero ter ...

2 a resposta

Herança Múltipla em C ++ - por que você não trabalh

stou tentando descobrir uma questão interessante de herança múltipl O avô é uma classe de interface com vários métodos: class A { public: virtual int foo() = 0; virtual int bar() = 0; };Então, existem classes abstratas que estão concluindo ...

2 a resposta

Downcast em uma hierarquia de diamantes

Por quêstatic_cast não pode fazer downcast de uma base virtual? struct A {}; struct B : public virtual A {}; struct C : public virtual A {}; struct D : public B, public C {}; int main() { D d; A& a = d; D* p = static_cast<D*>(&a); //error } g ++ ...

2 a resposta

C ++ Resolvendo o problema do diamante

O problema do diamante não pôde ser resolvido apenas com a primeira declaração herdada encontrada? Quero dizer public class A { public virtual int getInt(); }; public class B : public A { public int getInt() {return 6;} }; public class C : ...

3 a resposta

Herança por domínio - é realmente ruim?

Eu sou uma daquelas pessoas que precisam compilar seu código com 0 avisos. Normalmente, eu respeito o compilador e, se ele me emitir um aviso, tomo isso como um sinal de que devo retocar meu código um pouco. Se precisar instruir um compilador a ...