#include <iostream.h>

class A{
static int x;
int y;
public:
A() : y(0) {std::cout << "A" << ++x << ' ' <<++y <<'\n'; }
int f1 () { return ++x; }
int f2 () { return ++y; }

};

int A::x =0;


template <class T>
void f (T x) {
static A a;
std::cout << "f" << a.f1() << ' ' << a.f2() <<'\n';

}

int main() {
f(1);
f(2.0);
f<int> (1.5);
return 0;
}


Ho un problema con questo esercizio . Devo scrivere le uscite del programma, però non capisco come si deve comportare il membro statico di tipo classe della funzione f. Potete spiegarmi passo per passo cosa fa ?


grazie