Article View: de.comp.lang.c++
Article #2135Funktionstemplate als Memberfunktion
From: Matthias Werner
Date: Tue, 16 Apr 1996 09:37
Date: Tue, 16 Apr 1996 09:37
40 lines
1511 bytes
1511 bytes
hi,
ich kam in eine Situation, in der es mir guenstig erschien, eine
Memberfunction zu schreiben, die fuer alle moeglichen verschiedene Argumente
jeweils aehnlichen Code besitzt, also:
class X {
...
X& f(int);
X& f(double);
X& f(void*);
...
};
wobei die Implementationen von X::f jeweils nur geringfuegig voneinander
abweichen.
MMN wuerde eine elegante (und typensiche) Implementation darin bestehen,
dass f als Funktionstemplate deklariert wird.
Wuerde f global sein, so waere dies kein Problem.
template <class I> X& f(I i);
Jedoch geben meine Compiler (gcc 2.5.8 und BC 3.1) Fehlermeldungen
an beim Versuch
class X {
...
template <class I> X& f(I);
...
};
zu deklarieren.
Warum ist dies nicht moeglich? Diese Moeglichkeit wird bei Stroustrup
zumindest nicht explizit ausgeschlossen.
Ein Klassentemplate wuerde auch mir viele Klassen mit jeweils einer
Memberfunktion liefern, anstatt eine Klasse, deren Memberfunktion
fuer verschiedene Typen ueberladen wird.
Habe ich etwas am Template-Konzept falsch verstanden?
Matthias
Technical Details
Message-ID:
<4kvppn$pnl@hahn.informatik.hu-berlin.de>Path:
arc1-ca.pugleaf.net!hahn1.informatik.hu-berlin.de!mwernerShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!hahn1.informatik.hu-berlin.de!mwerner From: mwerner@informatik.hu-berlin.de (Matthias Werner) Newsgroups: de.comp.lang.c++ Subject: Funktionstemplate als Memberfunktion Date: 16 Apr 1996 09:37:59 GMT Organization: Humboldt University Berlin, Department of Computer Science Message-ID: <4kvppn$pnl@hahn.informatik.hu-berlin.de> NNTP-Posting-Host: data.informatik.hu-berlin.de X-Newsreader: NN version 6.5.0 #11 (NOV)