fork download
  1. #include <iostream>
  2. #include <string>
  3.  
  4. class ADDON {
  5. std::string s;
  6.  
  7. public:
  8. ADDON() {
  9. s = "";
  10. }
  11.  
  12. ADDON(std::string in) {
  13. s = in;
  14. }
  15.  
  16. ADDON(const char in[]) {
  17. s = in;
  18. }
  19.  
  20. void operator=(const std::string in) {
  21. s = in;
  22. }
  23.  
  24. std::string getString() {
  25. return s;
  26. }
  27. };
  28.  
  29. template<typename T>
  30. void print_to_default_file(T &obj, ADDON addon = "")
  31. { std::cout << "first overload\n"; }
  32.  
  33. template<typename T>
  34. void print_to_default_file(T &obj, std::string objS) // or char* objS
  35. { std::cout << "second overload\n"; }
  36.  
  37. int main()
  38. {
  39. print_to_default_file("test", ADDON("where will I go"));
  40. }
Success #stdin #stdout 0s 3028KB
stdin
Standard input is empty
stdout
first overload