// 1.2: funzioni template
#include <iostream>
using namespace std;
template<class T, class U> class Generica {
private:
T a;
U b;
public:
T get_a() { return a; }
U get_b() { return b; }
Generica(T i, U j) : a(i), b(j) { };
};
void main() {
Generica<int, int> interi(1, 4);
Generica<int, char> intfloat(99, 'Z');
cout << interi.get_a() << ", " << interi.get_b() << endl;
cout << intfloat.get_a() << ", " << intfloat.get_b() << endl;
}