Article View: de.comp.lang.c++
Article #668Re: virtuelle templates
From: Karl-Heinz Krause
Date: Thu, 26 Oct 1995 17:42
Date: Thu, 26 Oct 1995 17:42
31 lines
1752 bytes
1752 bytes
Am 25. Okt. 1995 schrieb Bernd Eggink (admin@rzaix13.uni-hamburg.de):
> Eric Schmidt (e_schmid@informatik.uni-kl.de) wrote:
> > Hallo, ich wuerde gerne wissen ob folgende Deklaration in C++ erlaubt ist :
> > class A
> > {
> > template<class T1> virtual test(T1 *to) = 0;
> > }
> > class B : public A
> > {
> > template<class T1> test(T1 *to) {...........}
> > }
> Ist nicht erlaubt. Nur nicht-virtuelle Memberfunktionen sind erlaubt.
> Grund: Es hinge vom Aufrufverhalten ab, ob fuer die Klasse A eine
> vtab erzeugt werden muss oder nicht. Der Compiler kann aber bei Anlage
> der Klasse A nicht voraussehen, ob die Funktion test jemals aufgerufen
> wird (dann waere die Klasse polymorph) oder nicht (dann wird die
> Funktion auch nicht generiert und die Klasse waere nicht poymorph).
Das ist noch kein Grund! Es kommt ja noch auf die Definition des
Begriffs "polymorph" an. Sinnvollerweise definiert man ihn so, daß jede
Klasse, die eine virtuelle Definition enthält, polymorph ist, unabhängig
davon, ob die Definition dann schließlich generiert wird. Nach dieser
Definition wäre die obige Klasse "A" dann polymorph.
Karl-Heinz Krause
Technical Details
Message-ID:
<46ohas$lmg@news00.btx.dtag.de>Path:
arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mailReferences:
<1995Oct25.180824@informatik.uni-kl.de> <46m114$msg@rzsun02.rrz.uni-hamburg.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mail From: Krause@btx.dtag.de (Karl-Heinz Krause) Newsgroups: de.comp.lang.c++ Subject: Re: virtuelle templates Date: 26 Oct 1995 17:42:52 GMT Organization: Telekom Online Internet Gateway Message-ID: <46ohas$lmg@news00.btx.dtag.de> References: <1995Oct25.180824@informatik.uni-kl.de> <46m114$msg@rzsun02.rrz.uni-hamburg.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Sender: 0913148778-0001@btx.dtag.de (Karl-Heinz Krause) X-Newsreader: Forte Free Agent 1.0.82