알라딘MGG와이드바


Function Overload By Return (C++) 개발 이야기

이게 되네요. 거참... 나만 몰랐나...


   1: #include <IOSTREAM>
   2: #include <STRING>
   3:  
   4: using std::wcout;
   5: using std::endl;
   6: using std::wstring;
   7:  
   8: struct Foo
   9: {
  10:     Foo(int value) : int_value(value) {}
  11:     Foo(wstring value) : str_value(value) {}
  12:  
  13:     operator int ()
  14:     {
  15:         return int_value + 20;
  16:     }
  17:     
  18:     operator wstring ()
  19:     {
  20:         return str_value + L", world!";
  21:     }
  22:     
  23:     private:
  24:     int int_value;
  25:     wstring str_value;
  26:    };
  27:  
  28: int _tmain(int argc, _TCHAR* argv[])
  29: {
  30:     int int_val = Foo(10);
  31:     wstring str_val = Foo(L"Hello");
  32:     
  33:     wcout << int_val << endl;
  34:     wcout << str_val << endl;
  35:     
  36:     return 0;
  37: }

원본 : http://www.codeproject.com/useritems/returnoverload.asp


덧글

  • 커널 2007/05/06 18:12 # 삭제 답글

    하지만 함수이름은 같은데 결과값이 다르면 역시..readability 가 좀 ...안그런가?
댓글 입력 영역


Yes24위대한게임의탄생3

위대한 게임의 탄생 3
예스24 | 애드온2