Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

moin zusammen.

ich hätt mal ne frage eine template-klasse betreffend:

ich möchte gern eine funktion wie folgt definieren:


template <class T>

void LIST<LOAN<T> >::insertLoan(...) {...} 
dabei sind sowohl LIST als auch LOAN eine template-klasse. nun habe ich aber das problem, dass ich nicht weiß wie ich diese funktion in der LIST-klasse (ich bin der meinung, dass diese dort hinein muss) deklariert werden muss. so auf jeden fall nicht:

template <class T>

class LIST

{

 ...

public:

    void insertLoan(...);

} 

... ich bin der meinung, dass ich die lösung in den letzten tagen irgendwo schonmal gesehen hab. nur ist diese auch nach stundenlangem googlen nicht wieder auffindbar

:old

grüße

TechnichalError

Geschrieben

nun habe ich aber das problem, dass ich nicht weiß wie ich diese funktion in der LIST-klasse (ich bin der meinung, dass diese dort hinein muss) deklariert werden muss.

Wenn sich diese Methode anders verhalten soll als LIST<T>::insertLoan, brauchst du eine partielle Spezialisierung der LIST-Klasse für LOAN<T>-Templateparameter:

template <class T>
class LIST<LOAN<T> >
{
...
public:
void insertLoan(...);
}[/code]

Es riecht aber ein wenig nach kaputtem Design. Eine Containerklasse sollte sich nicht für bestimmte Elementtypen anders verhalten. Du hast leider die Parameter für insertLoan nicht angegeben. Wenn da ein LOAN<T> dabei ist, wäre vielleicht eine einfache Überladung besser als eine Spezialisierung der ganzen Klasse.

Geschrieben

hm stimmt. denkfehler meinerseits.

ich kann dafür natürlich auch die normale insert-funktion der klasse LIST benutzen ...


template <class T>

void LIST<T>::insertElem(T* pI);

danke für den denkanstoß

... ne lösung kann manchmal so trivial sein :rolleyes:

grüße

TError

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...