Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

template-klassen

Empfohlene Antworten

Veröffentlicht

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

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.

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.