fork download
  1. #include <iostream>
  2. #include <string>
  3.  
  4. struct EmptyType { };
  5.  
  6. template<class arg1=EmptyType, class arg2=EmptyType, class arg3=EmptyType>
  7. class my_class
  8. { public:
  9. my_class(){
  10. std::cout << 3 << std::endl;
  11. }
  12. // FILL_MY_CLASS_DEFINE(3)
  13. };
  14. template<class arg1, class arg2>
  15. class my_class<arg1,arg2,EmptyType>
  16. { public:
  17. my_class(){
  18. std::cout << 2 << std::endl;
  19. }
  20. // FILL_MY_CLASS_DEFINE(2)
  21. };
  22. template<class arg1>
  23. class my_class<arg1,EmptyType,EmptyType>
  24. { public:
  25. my_class(){
  26. std::cout << 1 << std::endl;
  27. }
  28. // FILL_MY_CLASS_DEFINE(1)
  29. };
  30.  
  31. int main(int argc, const char *argv[])
  32. {
  33. // my_class<std::string, double, int> a;
  34. my_class<std::string, int> b;
  35. my_class<void> c;
  36. my_class<> d;
  37.  
  38. return 0;
  39. }
Success #stdin #stdout 0s 2724KB
stdin
Standard input is empty
stdout
2
1
1