Article View: de.comp.lang.c++
Article #1211Re: virtueller Destruktor mit =0 ?
From: Enno Sandner
Date: Tue, 09 Jan 1996 14:06
Date: Tue, 09 Jan 1996 14:06
36 lines
1479 bytes
1479 bytes
Mario Paumann wrote:
>
> Hallo!
>
> Kann mir einer sagen warum das nicht
> moeglich sein sollte ?
>
> class mein {
> ...
> public:
> ...
> virtual ~mein()=0;
> ...
> };
>
Wird eine Instanz einer Klasse entfernt, werden u.a. die Destruktoren
aller Basisklassen aufgerufen. Das obige Bsp. allein duerfte keine
Probleme bereiten, im Gegensatz zu:
struct mein { virtual ~mein()=0; };
struct dein : mein {};
int main() { dein d; return 0; }
Das Entfernen von 'd' kann hier nicht funktionieren, da der Destruktur
in 'mein' als pure-virtual deklariert ist _und_ keine Implementierung
vorliegt. Aendert man das Programm zu:
struct mein { virtual ~mein()=0; }
mein :: ~mein() {}
struct dein : mein {};
int main() { dein d; return 0; }
funktioniert es, da nun eine Implementierung des Destruktors vorliegt.
Enno
Technical Details
Message-ID:
<30F27658.167EB0E7@intellektik.informatik.th-darmstadt.de>Path:
arc1-ca.pugleaf.net!news.th-darmstadt.de!newsReferences:
<4ctg28$t5o@news.Austria.EU.net>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.th-darmstadt.de!news From: Enno Sandner <enno@intellektik.informatik.th-darmstadt.de> Newsgroups: de.comp.lang.c++ Subject: Re: virtueller Destruktor mit =0 ? Date: Tue, 09 Jan 1996 15:06:16 +0100 Organization: Fachbereich Informatik, TH Darmstadt Message-ID: <30F27658.167EB0E7@intellektik.informatik.th-darmstadt.de> References: <4ctg28$t5o@news.Austria.EU.net> NNTP-Posting-Host: kitz.intellektik.informatik.th-darmstadt.de Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 2.0b4 (X11; I; SunOS 4.1.3 sun4m)