Halo! Ich habe angefangen micht mit Templates aus ein ander zusetzen und verstehe etwas nicht.
Im folgenden Quelltext hat die Classe MyClass template stehen um mit assign auch andere Typen zu weisen zu können.
Wenn ich die eine Zeile weg lasse kann er es nicht mehr.
Kann mir jemand bitte genau erklären was die Zeile template bedeutet bzw. wie sie sich auswirkt ?
Vielen Dank!
template class MyClass // Hier wird eine Klasse angelegt. T ist ein beliebiger Typ
{
private: T value;
public:
template
void assign(const X &x)
{value=x;}
};
template class aClass // Hier wird eine Klasse angelegt. T ist ein beliebiger Typ
{
private: T value;
public:
void assign(const T &x)
{value=x;}
};
struct test
{
int a;
int b;
};
int main(int argc, char* argv[])
{
MyClass a;
MyClass d;
MyClass b;
test c;
c.a = 1;
c.b = 1;
a.assign(12);
b.assign©;
d.assign((int) 12);
return 0;
}
//---------------------------------------------------------------------------