🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #2135

Funktionstemplate als Memberfunktion

#2135
From: Matthias Werner
Date: Tue, 16 Apr 1996 09:37
40 lines
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!mwerner

Show 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)