Hallo, ich beschäftige mich gerade mit Template und habe folgendes Problem.
Ich habe mir eine Template geschaffen 'AllesSpeicher' in dem ich über SetzeWert(T1)
einen Template-Wert speichere.
Dann habe ich mir ein Template 'Regal' programmiert, welches zwei Template-Werte
über SetzeWert1(T1) bzw. SetzeWert2(T2) speichert. Funktioniert auch mit Standard-Variablen
wie int,double usw...
Wie bekomme ich es hin, das ich ein 'AllesSpeicher' in ein Regal ablegen kann?
Grüße aus Edemissen Mirko
Source:
template.h
template < class T >
class AllesSpeicher
{
private:
T Wert;
public:
void SetzeWert(T);
};
template < class T1, class T2 >
class Regal
{
private:
T1 Wert1;
T2 Wert2;
public:
void SetzeWert1(T1);
void SetzeWert2(T2);
};
#include <iostream>
using namespace std;
// ALLES SPEICHER
template < class T >
void AllesSpeicher<T>::SetzeWert(T twert)
{
Wert = twert;
cout << "Wert ist " << Wert<< endl;
}
// REGAL
template < class T1, class T2 >
void Regal<T1,T2>::SetzeWert1(T1 twert)
{
Wert1 = twert;
cout << "Wert1 ist " << Wert1 << endl;
}
template < class T1, class T2 >
void Regal<T1,T2>::SetzeWert2(T2 twert)
{
Wert2 = twert;
cout << "Wert2 ist " << Wert2 << endl;
}
main.c
#include <iostream>
#include "templates.h"
using namespace std;
int main()
{
AllesSpeicher<int> as;
as.SetzeWert(1);
Regal<double, char> r;
r.SetzeWert1(0.4);
r.SetzeWert2('1');
Regal<AllesSpeicher<int>, double> r2;
r2.SetzeWert2(0.3);
r2.SetzeWert1(as);
return 0;
}
Ich habe mir eine Template geschaffen 'AllesSpeicher' in dem ich über SetzeWert(T1)
einen Template-Wert speichere.
Dann habe ich mir ein Template 'Regal' programmiert, welches zwei Template-Werte
über SetzeWert1(T1) bzw. SetzeWert2(T2) speichert. Funktioniert auch mit Standard-Variablen
wie int,double usw...
Wie bekomme ich es hin, das ich ein 'AllesSpeicher' in ein Regal ablegen kann?
Grüße aus Edemissen Mirko
Source:
template.h
template < class T >
class AllesSpeicher
{
private:
T Wert;
public:
void SetzeWert(T);
};
template < class T1, class T2 >
class Regal
{
private:
T1 Wert1;
T2 Wert2;
public:
void SetzeWert1(T1);
void SetzeWert2(T2);
};
#include <iostream>
using namespace std;
// ALLES SPEICHER
template < class T >
void AllesSpeicher<T>::SetzeWert(T twert)
{
Wert = twert;
cout << "Wert ist " << Wert<< endl;
}
// REGAL
template < class T1, class T2 >
void Regal<T1,T2>::SetzeWert1(T1 twert)
{
Wert1 = twert;
cout << "Wert1 ist " << Wert1 << endl;
}
template < class T1, class T2 >
void Regal<T1,T2>::SetzeWert2(T2 twert)
{
Wert2 = twert;
cout << "Wert2 ist " << Wert2 << endl;
}
main.c
#include <iostream>
#include "templates.h"
using namespace std;
int main()
{
AllesSpeicher<int> as;
as.SetzeWert(1);
Regal<double, char> r;
r.SetzeWert1(0.4);
r.SetzeWert2('1');
Regal<AllesSpeicher<int>, double> r2;
r2.SetzeWert2(0.3);
r2.SetzeWert1(as);
return 0;
}
Comment