{"id":181,"date":"2014-06-08T16:31:23","date_gmt":"2014-06-08T07:31:23","guid":{"rendered":"http:\/\/csharp.ihavenomoney.co.kr\/?p=181"},"modified":"2019-06-27T10:36:09","modified_gmt":"2019-06-27T01:36:09","slug":"%ec%9d%b4%eb%b2%a4%ed%8a%b8-%ed%8c%a8%ed%84%b4","status":"publish","type":"post","link":"https:\/\/csharp.ihavenomoney.co.kr\/?p=181","title":{"rendered":"\uc774\ubca4\ud2b8 \ud328\ud134"},"content":{"rendered":"\n<pre class=\"lang:c++ decode:true \" >#include &lt;iostream&gt;\r\n#include &lt;conio.h&gt;\r\n#include &lt;Windows.h&gt;\r\n\r\n#define KEY_ESC 27\r\n\r\nusing std::cout;\r\nusing std::endl;\r\n\r\nclass CAccount\r\n{\r\npublic:\r\n    struct StateMap\r\n\t{\r\n\t\tint input;\r\n\t\tvoid (CAccount::*f)();\r\n\t};\r\n\tstatic StateMap map[];\r\n\tenum\r\n\t{\r\n\t\tSTATE_IDLE,\r\n\t\tSTATE_INPUT,\r\n\t\tSTATE_WAIT_ACK,\r\n\t\tSTATE_MAX\r\n\t};\r\npublic:\r\n\tint m_iState;\r\n\tCAccount();\r\n\tvoid OnIdle();\r\n\tvoid OnInput();\r\n\tvoid OnWaitAck();\r\n};\r\n\r\nCAccount::CAccount()\r\n{\r\n\tm_iState = STATE_IDLE;\r\n}\r\nvoid CAccount::OnIdle()\r\n{\r\n\tcout&lt;&lt; \"OnIdle()\"&lt;&lt;endl;\r\n}\r\nvoid CAccount::OnInput()\r\n{\r\n\tcout&lt;&lt;\"OnInput()\"&lt;&lt;endl;\r\n}\r\nvoid CAccount::OnWaitAck()\r\n{\r\n\tcout&lt;&lt;\"OnWaitAck\"&lt;&lt;endl;\r\n}\r\n\r\n\/*static*\/ CAccount::StateMap CAccount::map[]={\r\n\t'1',&amp;CAccount::OnIdle,\r\n\t'2',&amp;CAccount::OnInput,\r\n\t'3',&amp;CAccount::OnWaitAck,\r\n\t0,NULL \/\/sentinel\r\n};\r\n\r\nvoid main()\r\n{\r\n\tint ch=0;\r\n\tint i;\r\n\tCAccount account;\r\n\t\r\n\twhile(ch!=KEY_ESC)\r\n\t{\r\n\t\tch =getch();\r\n\t\ti=0;\r\n\t\twhile(CAccount::map[i].input!=0)\r\n\t\t{\r\n\t\t\tif(ch == CAccount::map[i].input)\r\n\t\t\t{\r\n\t\t\t\t(account.*(CAccount::map[i].f))();\r\n\t\t\t}\r\n\t\t\t++i;\r\n\t\t}\r\n\t}\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;Windows.h&gt; #define KEY_ESC 27 using std::cout; using std::endl; class CAccount { public: struct StateMap { int input; void (CAccount::*f)(); }; static StateMap map[]; enum { STATE_IDLE, STATE_INPUT, STATE_WAIT_ACK, STATE_MAX }; public: int m_iState; CAccount(); void OnIdle(); void OnInput(); void OnWaitAck(); }; CAccount::CAccount() { m_iState = STATE_IDLE; } void CAccount::OnIdle() {\u2026 <span class=\"read-more\"><a href=\"https:\/\/csharp.ihavenomoney.co.kr\/?p=181\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22],"tags":[],"class_list":["post-181","post","type-post","status-publish","format-standard","hentry","category-c"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/181","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=181"}],"version-history":[{"count":2,"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/181\/revisions"}],"predecessor-version":[{"id":533,"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/181\/revisions\/533"}],"wp:attachment":[{"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/csharp.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}