Resultados da pesquisa a pedido "virtual-inheritance"

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

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

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

amanhos @Class com herança virtual em C ++

#include<iostream> using namespace std; class abc { int a; }; class xyz : public virtual abc { int b; }; int main() { abc obj; xyz obj1; cout<<endl<<sizeof(obj); cout<<endl<<sizeof(obj1); return 0; } As respostas seriam dependentes do compilador, ...

2 a resposta

Usando CRTP com herança virtual

Eu tenho uma hierarquia de nós, onde "diamante" pode ocorrer. Cada nó deve ser clonável, mas não quero gravar o método clone em cada nó. Então eu uso o CRTP. class Node { public: Node(){} Node(Fill*) { } virtual ~Node() {} virtual Node ...

5 a resposta

Herança virtual múltipla em C ++ vs. COM

A rede está transbordando de explicações sobre o"temido problema de diamante" [http://en.wikipedia.org/wiki/Diamond_problem]. O mesmo acontece com StackOverflow. Acho que entendi isso, mas não consigo traduzir esse conhecimento para compreender ...

6 a resposta

erança virtual e vtable vazia na classe ba

Existe este código: #include <iostream> class Base { int x; }; class Derived : virtual public Base { int y; }; int main() { std::cout << sizeof(Derived) << std::endl; // prints 12 return 0; } Li que quando alguma classe é virtualmente herdada, ...

1 a resposta

Eliminar entradas duplicadas de argumentos de modelo vardic do C ++ 11

Estou usando modelos variadic com herança virtual múltipla em C ++ para agregar tipos em uma única definição de estrutura.Aqui está um conjunto de amostras d...

2 a resposta

Ordem de criação de classes base virtuais

Eu tenho o seguinte 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, "; } ...

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