Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature currently requires accessing the site using the built-in Safari browser.
#include <iostream>
using namespace std;
template<class T>
class TaschenRechner{
public:
T add(T zahl1, T zahl2){
return zahl1 + zahl2;
}
};
int main(){
TaschenRechner<int> tr;
int res = tr.add(5,3);
cout << res << endl;
}
RedWing hat gesagt.:Code:#include <iostream> using namespace std; template<class T> class TaschenRechner{ public: T add(T zahl1, T zahl2){ return zahl1 + zahl2; } }; int main(){ TaschenRechner<int> tr; int res = tr.add(5,3); cout << res << endl; }
Somit ist es nun möglich für sämtliche Objekte, vorrausgesetzt das für dasjenige Objekt der + Operator definiert ist.. (in dem Beispiel int) eine Addition mit Hilfe des Templates Taschenrechner durchzuführen...
Sorry für den C++ Code aber ich denkmal er ist nicht zu komplex um ihn nicht zu verstehen,
und er veranschaulicht den Mechanismus, vielleicht kann noch jemand ein Beispielcode in
Java geben...
Gruß
RedWing
Tom hat gesagt.:Java Generics funktionieren leider nur mit Referenz-Typen.
Snape hat gesagt.:Ich versteh den Code nicht. Mag an der (m.E.) kranken Syntax liegen.
template<class T>
class TaschenRechner
T add(T zahl1, T zahl2){
...
}
TaschenRechner<int> tr;
int res = tr.add(5,3);
#include <iostream>
using namespace std;
template<class T>
class TaschenRechner{
public:
T add(T zahl1, T zahl2){
return zahl1 + zahl2;
}
};
class Integer{
public:
int value;
Integer(int value):value(value){}
Integer operator+(Integer& zahl1){
return Integer(value + zahl1.value);
}
friend ostream& operator<<(ostream& cout, Integer zahl){
cout << zahl.value;
return cout;
}
};
int main(){
TaschenRechner<Integer> tr;
Integer res = tr.add(5,3);
cout << res << endl;
}