Questions sur virtual-destructor

15
réponses

Quand utiliser les destructeurs virtuels?

j'ai une compréhension solide de la plupart des théories de OO, mais la seule chose qui me confond beaucoup est les de ... quoi qu'il arrive et pour chaque objet de la chaîne. quand Êtes-vous censé les rendre virtuels et pourquoi?
demandé sur 2009-01-20 15:58:21
12
réponses

Quand ne devriez-vous pas utiliser des destructeurs virtuels?

y a-t-il une bonne raison pour que ne déclare un destructeur virtuel pour une classe? Quand devriez-vous éviter d'en écrire un?
demandé sur 2008-11-19 07:27:50
4
réponses

Virtuelle sont destructeurs hérité?

Si j'ai une classe de base avec un destructeur virtuel. Dispose d'une classe dérivée de déclarer un destructeur virtue ... meilleure pratique pour déclarer les dérivés destructeur? Le déclarer virtuel, non-virtuel ou l'omettre si possible?
demandé sur 2010-02-04 12:00:55
8
réponses

Chaque classe ont un destructeur virtuel?

Java et C# supportent la notion de classes qui ne peuvent pas être utilisées comme classes de base avec les mots-clés ... ent quand vous avez des raisons de croire que votre la classe est dérivée à partir de, quelles ne vous pensez?
demandé sur 2008-12-09 21:56:10
2
réponses

Quand doit-votre destructeur virtuel? [dupliquer]

possibilité de dupliquer: quand utiliser les destructeurs virtuels? quand votre destructeur d'objet C++ devrait-il être virtual ?
demandé sur 0000-00-00 00:00:00
3
réponses

Destructeur virtuel avec membres virtuels en C++11

dans ces diapositives à propos de la norme C++11/14, sur la diapositive 15, l'auteur écrit que "de nombreuses rè ... mais est-il inutile maintenant en C++11 de déclarer Virtuel votre destructeur si vous avez des membres virtuels?
demandé sur 2014-04-02 13:06:54
1
réponses

Un défaut destructeur virtuel empêcher généré par le compilateur opérations de déplacement?

inspiré par le post pourquoi le destructeur désactive-t-il la génération de mouvements implicites? , je me d ... est-ce qu'un destructeur virtuel par défaut empêche les opérations de déplacement générées par le compilateur?
demandé sur 2015-11-27 15:04:29
3
réponses

Pourquoi les destructeurs ne sont pas virtuels par défaut [c++]

pourquoi C++ Ne rend-il pas les destructeurs virtuels par défaut pour les classes qui ont au moins une autre foncti ... el ne me coûte rien, et ne pas en avoir un est (presque? toujours un bug. Est-ce que C++0x abordera cette question?
demandé sur 2011-07-08 05:31:43
3
réponses

Est-ce que je dois aussi spécifier virtual sur les méthodes des sous-classes?

cela a probablement déjà été demandé sur SO, mais je n'ai pas pu trouver une question similaire. Envisager la suite de la ... uelles sont les conséquences de spécifier/ne pas spécifier virtual sur un destructeur de sous-classe / méthode ? Merci.
demandé sur 2010-07-02 19:24:36
7
réponses

Si je change le destructeur d'une classe de base de non-virtuel à virtuel, ce qui va arriver?

je suis tombé sur une classe de base dont le destructeur n'est pas Virtuel, bien que la classe de base ait 1 fonction vir ... *pb = new Sub. Donc, je pense que si je change destructor de non-virtuel à virtuel, ça ne devrait plus causer de bugs.
demandé sur 2016-08-22 10:48:32
1
réponses

valgrind montre une fuite de mémoire dans std:: faire unique

j'utilise valgrind pour vérifier les fuites de mémoire. Malheureusement je reçois un Leak_DefinitelyLost avertissement. ... mal. Quelqu'un peut-il préciser si l'erreur se produit? (je vais appeler valgrind de CLion 2018.1.5, Valgrind 3.13.0)
demandé sur 2018-09-05 11:24:07
6
réponses

Destructeur virtuel: est-il nécessaire lorsque la mémoire n'est pas affectée dynamiquement?

avons-nous besoin d'un destructeur virtuel si mes classes n'allouent pas de mémoire de manière dynamique ? e.g. class A ... int d; public: B(); ~B(); }; Dans ce cas, nous ne devons marquer Un du destructeur virtuel ?
demandé sur 2010-01-14 20:02:56
5
réponses

Y a-t-il des raisons particulières d'utiliser des destructeurs Non virtuels?

comme je le sais, toute classe qui est désignée pour avoir des sous-classes devrait être déclarée avec virtual destructor ... d utiliser des destructeurs virtuels. Alors, est-ce une erreur de conception C++, ou est-ce que je manque quelque chose?
demandé sur 2012-01-02 09:59:40
4
réponses

Forcer les destructeurs virtuels? C++

Je n'ai pas vu la réponse à cela dans la Faq C++ lite: comment définir une classe de base pour que chaque classe qui en ... ~Test()': t.cpp:(.gnu.linkonce.t._ZN4TestD1Ev+0x1e): undefined reference to `VDtor::~VDtor()' alors, est-ce possible?
demandé sur 2010-09-13 16:44:37