🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Funktionstemplate als Memberfunktion

#2140
From: Enno Sandner
Date: Tue, 16 Apr 1996 11:31
47 lines
1925 bytes
Matthias Werner wrote:
> 
> 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?
> 

Nein,
sogenannte 'member-templates' sind im zukuenftigen Standard
enthalten (Auch wenn Dir das momentan wenig helfen wird ...)

	Enno
Technical Details
Message-ID: <317384FC.59E2B600@intellektik.informatik.th-darmstadt.de>
Path: arc1-ca.pugleaf.net!news.th-darmstadt.de!news
References: <4kvppn$pnl@hahn.informatik.hu-berlin.de>

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: Funktionstemplate als Memberfunktion
Date: Tue, 16 Apr 1996 13:31:08 +0200
Organization: Fachbereich Informatik, TH Darmstadt
Message-ID: <317384FC.59E2B600@intellektik.informatik.th-darmstadt.de>
References: <4kvppn$pnl@hahn.informatik.hu-berlin.de>
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.01 (X11; I; SunOS 4.1.3 sun4m)