fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class CountedInstances {
  5. public:
  6. static int Counter;
  7. CountedInstances() {
  8. Counter++;
  9. cout << Counter << endl;
  10. }
  11. };
  12.  
  13. int CountedInstances::Counter = 0;
  14.  
  15. template<class T> class GenTest {
  16. static CountedInstances OnePerType;
  17. T mT;
  18. public:
  19. GenTest(T pT) {
  20. mT = pT;
  21. (void)&OnePerType;
  22. }
  23. };
  24.  
  25. template<class T> CountedInstances GenTest<T>::OnePerType = CountedInstances();
  26.  
  27. int main() {
  28. GenTest<int> g1(1);
  29. GenTest<int> g11(11);
  30. GenTest<int> g111(111);
  31. GenTest<double> g2(1.0);
  32. cout << CountedInstances::Counter << endl;
  33. }
Success #stdin #stdout 0s 2896KB
stdin
Standard input is empty
stdout
1
2
2