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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...