fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. template <typename T>
  5. class Wrapper
  6. {
  7. public:
  8. static int count;
  9. T d_wrapped;
  10.  
  11. Wrapper(T i_wrap) : d_wrapped(i_wrap)
  12. {
  13. ++count;
  14. }
  15. };
  16.  
  17. template <typename T>
  18. int Wrapper<T>::count = 0;
  19.  
  20. int main() {
  21. Wrapper<int> wi(1);
  22. Wrapper<int> wi2(2);
  23. Wrapper<float> wf(1.0f);
  24.  
  25. Wrapper<int*> wip(new int());
  26. Wrapper<float*> wfp(new float());
  27.  
  28. cout << Wrapper<int>::count << ' ' << Wrapper<float>::count << '\n' <<
  29. Wrapper<int*>::count << ' ' << Wrapper<float*>::count << '\n';
  30. return 0;
  31. }
Success #stdin #stdout 0s 3456KB
stdin
Standard input is empty
stdout
2 1
1 1