Tom hat gesagt.:
Java Generics funktionieren leider nur mit Referenz-Typen.
Schade und das war eigentlich der Punkt wieso das neue Java für mich so attraktiv war...
Also ist es prinzipiell nur möglich bei der Defnition eines Templates in Java Methoden
der Klasse Object zu verwenden? Wenns so ist hätten sie sich die Einführung des
Mechanismus zum Selberimplementieren auch gleich sparen können
Snape hat gesagt.:
Ich versteh den Code nicht. Mag an der (m.E.) kranken Syntax liegen.
Eigentlich ganz einfach, du kannst dir das T wie einen Platzhalter vorstellen, für
den dann zur Kompilierungszeit der Name des speziellen Typs eingesetzt wird...
Code:
template<class T>
class TaschenRechner
= Deklaration eines Templates( einer Schablone) Taschenrechner die somit für alle Typen T
deklariert wird...
Code:
T add(T zahl1, T zahl2){
...
}
= Deklaration und Definition einer Methode add welche in der Schablone TaschenRechner
gekapselt ist, diese Methode add arbeitet somit auf allen Typen T für die TaschenRechner
deklariert ist...
Deklaration einer Variablen tr vom Typ Taschenrechner der somit für int Elemente definiert
wurde => die Methoden add vom Objekt tr arbeitet somit auf "int".
Das macht folgenden Aufruf möglich:
Und das kannst du im Prinzip nicht nur für ints sondern für alle Typen (auch eigene) machen,
vorrausgesetzt der Operator + ist für einen solchen defniert...
Gruß
RedWing