Resultados da pesquisa a pedido "virtual-destructor"

1 a resposta

Um destruidor virtual padrão impede operações de movimentação geradas pelo compilador?

Inspirado no postPor que o destruidor desativa a geração de métodos de movimentação implícitos? [https://stackoverflow.com/questions/33932824/why-destructor-disabling-the-generation-of-implicit-move-functions] , Fiquei pensando se o mesmo se ...

2 a resposta

O que Clang e GCC fazem quando `excluem` classes básicas com destruidores não virtuais?

Já existeuma pergunta [https://stackoverflow.com/q/4522994/1858225]perguntando sobre o comportamento "do mundo real" dedeleteinserir um ponteiro para uma classe base que não possui um destruidor virtual, mas a pergunta é restrita a um caso muito ...

3 a resposta

Qual é esse parâmetro extra passado para o destruidor virtual?

Tenho este código: class Class { public: virtual ~Class() {} }; int main() { Class* object = new Class(); delete object; }qual eu compilar com o Visual C ++ 10 e obter essa desmontagem paradelete object declaração delete object; test eax,eax ...

2 a resposta

desctrutor virtual na classe base abstrata pura

eu tenho struct IMyInterface { virtual method1() = 0; virtual method2() = 0; };O GCC insiste que eu tenho struct IMyInterface { virtual method1() = 0; virtual method2() = 0; virtual ~IMyInterface(){}; };Eu não vejo o porquê. Uma interface pura ...

3 a resposta

O padrão é tornar as classes `finais 'ou dar a elas um destruidor virtual?

Classes com destruidores não virtuais são uma fonte de erros se forem usadas como classe base (se um ponteiro ou referência à classe base for usado para se referir a uma instância de uma classe filha). Com a adição do C ++ 11 de umfinal estou ...

8 a resposta

ordem de destruição usando virtual

Alguém pode ajudar qual é a ordem de destruição quando estou usando funções virtuais. Começa com a classe base e depois a classe derivada?

2 a resposta

As funções virtuais podem ser incorporadas [duplicadas]

7 a resposta

Por que devo declarar um destruidor virtual para uma classe abstrata em C ++?

Sei que é uma boa prática declarar destruidores virtuais para classes base em C ++, mas é sempre importante declararvirtual destruidores mesmo para classes abstratas que funcionam como interfaces? Forneça alguns motivos e exemplos do porquê.

3 a resposta

Vazamento de memória possível sem um destruidor virtual?

#include <iostream> using namespace std; class base { int a; public: base() {a =0;} }; class derv :public base { int b; public: derv() {b =1;} }; int main() { base *pb = new derv(); delete pb; } Eu não tenho um destruidor virtual na classe derv, ...

15 a resposta

Quando usar destruidores virtuais?

Eu tenho um entendimento sólido da maioria das teorias de OO, mas a única coisa que me confunde muito são os destruidores virtuais. Eu pensei que o destruidor sempre é chamado, não importa o que e para cada objeto na cadeia. Quando você ...