{"id":2213,"date":"2008-08-02T04:46:00","date_gmt":"2008-08-02T04:46:00","guid":{"rendered":"http:\/\/192.168.0.71:9090\/?p=1745"},"modified":"2014-09-02T09:37:48","modified_gmt":"2014-09-02T00:37:48","slug":"xfile","status":"publish","type":"post","link":"https:\/\/talsu.net\/?p=2213","title":{"rendered":"[TCPL] C++ \ub458\ub7ec\ubcf4\uae30"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 20pt;\"><strong>The C++ Programming Language <\/strong><\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 16pt; color: #c00000;\"><strong>2\uc7a5 \uc6cc\ubc0d\uc5c5 : C++ \ub458\ub7ec\ubcf4\uae30 <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 14pt; color: gray;\"><strong><em>2.1 C++ \uc774\ub780 \ubb34\uc5c7\uc778\uac00?<\/em><\/strong> <\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\ubaa8\ub4e0 \uc6a9\ub3c4\uc5d0 \uc4f8\uc218 \uc788\uc73c\uba70 \uc2dc\uc2a4\ud15c \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0 \uac15\ud55c \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4<\/p>\n<p>&nbsp;<\/p>\n<p><strong>C++\uc758 \uae30\ubcf8 \uc131\uaca9 <\/strong><\/p>\n<ul style=\"margin-left: 40pt;\">\n<li>\n<div style=\"text-align: justify;\">C\ub97c \uae30\ubcf8\uc73c\ub85c \ubc1c\uc804\uc2dc\ud0a8 \uc5b8\uc5b4<\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\">\ub370\uc774\ud130 \ucd94\uc0c1\ud654\ub97c \uc9c0\uc6d0<\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\">\uac1d\uccb4 \uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d\uc744 \uc9c0\uc6d0<\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\">\uc77c\ubc18\ud654 \ud504\ub85c\uadf8\ub798\ubc0d\uc744 \uc9c0\uc6d0<\/div>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><span style=\"font-size: 14pt; color: #0070c0;\"><strong>2.2 C++\ub294 \ud504\ub85c\uadf8\ub798\ubc0d \ud328\ub7ec\ub2e4\uc784\uc774 \ud55c\ub450 \uac1c\uac00 \uc544\ub2c8\ub2e4 <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\uac1d\ucc44 \uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d\uc740 &#8216;\ud6cc\ub96d\ud55c&#8217; \ud504\ub85c\uadf8\ub7a8\uc744 \uc9dc\uac8c \ud574 \uc8fc\ub294 \ud328\ub7ec\ub2e4\uc784(paradigm)\uc911 \ud558\ub098 \uc774\ub2e4.<\/p>\n<p>\uc5b4\ub5a4 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\uac00 \uc5b4\ub5a4 \ud504\ub85c\uadf8\ub798\ubc0d \uc2a4\ud0c0\uc77c\uc744 \uc9c0\uc6d0\ud55c\ub2e4\uace0 \ub9d0\ud560 \uc218 \uc788\uc73c\ub824\uba74 \uadf8 \uc2a4\ud0c0\uc77c\uc744 \ud3b8\ud558\uac8c(\uc27d\uace0, \uc548\uc804\ud558\uace0, \ud6a8\uc728\uc801\uc73c\ub85c) \uc4f8 \uc218 \uc788\ub3c4\ub85d \ud558\ub294 \uc5b8\uc5b4\uc801 \uc7a5\uce58\uac00 \ub4b7\ubc1b\uce68 \ub418\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>\ud504\ub85c\uadf8\ub798\ubc0d \uc2a4\ud0c0\uc77c\uc744 \uc9c0\uc6d0\ud558\uae30 \uc704\ud55c \uc870\uac74 <\/strong><\/p>\n<ul style=\"margin-left: 40pt;\">\n<li>\n<div style=\"text-align: justify;\">\ubaa8\ub4e0 \uae30\ub2a5\uc740 \uae54\ub054\ud558\uace0 \uc138\ub828\ub418\uac8c \uc5b8\uc5b4\uc5d0 \ub179\uc544 \uc788\uc5b4\uc57c \ud568.<\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\">\ubcc4\ub3c4\uc758 \uae30\ub2a5\uc774 \ud544\uc694\ud560 \uac83 \uac19\uc740 \ubb38\uc81c\uc5d0\ub3c4 \uae30\uc874\uc758 \uae30\ub2a5\ub4e4\uc744 \uc870\ud569\ud574\uc11c \ud574\uacb0\ud560 \uc218 \uc788\uc5b4\uc57c \ud568.<\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\">\uc774\ub984\ub9cc \ubc88\uc9c0\ub974\ub974 \ud558\uace0 \ud2b9\uc218\ud55c \uc6a9\ub3c4\ub85c \ub9c8\ub828\ub41c \uae30\ub2a5\uc740 \ucd5c\ub300\ud55c \uc801\uc5b4\uc57c \ud568.<\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\">\uae30\ub2a5\uc758 \uad6c\ud604\uc740 \uadf8 \uae30\ub2a5\uc744 \uc4f0\uc9c0 \uc54a\uc740 \ud504\ub85c\uadf8\ub7a8\uc5d4 \ud070 \uc624\ubc84\ud5e4\ub4dc\ub97c \uc8fc\uc9c0 \uc54a\ub3c4\ub85d \ud574\uc57c \ud568.<\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\">\uc5b8\uc5b4\uc5d0\uc11c \uc81c\uacf5\ub418\ub294 \uae30\ub2a5 \uc911 \ud655\uc2e4\ud55c \uba87 \uac1c\ub9cc \uc54c\uc544\ub3c4 \ud504\ub85c\uadf8\ub7a8\uc744 \uc791\uc131\ud560 \uc218 \uc788\uc5b4\uc57c \ud568.<\/div>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>C++\uc758 \ud504\ub85c\uadf8\ub798\ubc0d \uc2a4\ud0c0\uc77c <\/strong><\/p>\n<p>\uc808\ucc28\uc801 \ud504\ub85c\uadf8\ub798\ubc0d &#8211; \uac1d\uccb4 \uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d &#8211; \uc77c\ubc18\ud654 \ud504\ub85c\uadf8\ub798\ubc0d<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 14pt; color: #0070c0;\"><strong>2.3 \uc808\ucc28\uc801 \ud504\ub85c\uadf8\ub798\ubc0d <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>\uc808\ucc28\uc801 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \ud328\ub7ec\ub2e4\uc784 <\/strong><\/p>\n<p>&#8211; \ubb38\uc81c \ud574\uacb0\uc5d0 \uc801\ud569\ud55c \ucc98\ub9ac \uc808\ucc28\ub97c \uc815\ud558\uace0 \ucc3e\uc744 \uc218 \uc788\ub294 \ucd5c\uc120\uc758 \uc54c\uace0\ub9ac\uc998\uc744 \uad6c\uc0ac\ud55c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>\ub300\uac8c \ud568\uc218\uc5d0 \uc778\uc790\ub97c \uc804\ub2ec\ud558\uace0 \ud568\uc218\ub85c\ubd80\ud130 \uac12\uc744 \ubc18\ud658 \ud558\ub294 \uba54\ucee4\ub2c8\uc998\uc774 \uc81c\uacf5\ub418\ub294 \uac83\uc774 \ubcf4\ud1b5\uc774\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc740 \uc81c\uacf1\uadfc\uc744 \uacc4\uc0b0\ud558\ub294 \ud568\uc218 \uc774\ub2e4.<\/p>\n<pre class=\"lang:c++ decode:true \">#include &lt;iostream.h&gt; \r\n\r\ndouble square_root(double num) \/\/square_root\ud568\uc218\uc5d0 double\uac12\uc744 \ub123\uc73c\uba74 \uc81c\uacf1\uadfc\uc774 double\uac12\uc73c\ub85c \ubc18\ud658 \ub41c\ub2e4. \r\n{ \r\n\/\/\uc81c\uacf1\uadfc \uacc4\uc0b0\uc744 \uc704\ud55c \ucf54\ub4dc \r\n} \r\n\r\nvoid main() \r\n{ \r\ndouble number; \/\/\uc81c\uacf1\uadfc\uc744 \uad6c\ud558\uae30 \uc704\ud55c double\ubcc0\uc218 \r\ncout&lt;&lt;\" Enter the number : \"; \r\ncin&gt;&gt;number; \/\/\uc81c\uacf1\uadfc\uc744 \uad6c\ud558\uace0\uc790 \ud558\ub294 \uac12\uc744 \uc785\ub825. \r\ncout&lt;&lt;\"n\"&lt;&lt;square_root(number); \/\/\ud568\uc218\uc5d0 \uac12\uc744 \ub123\uc5b4 \ubc18\ud658\ud55c\ub2e4. \r\n}\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>2.3.1 \ubcc0\uc218\uc758 \uc0b0\uc220 \uc5f0\uc0b0<\/p>\n<p>&nbsp;<\/p>\n<p>\ubaa8\ub4e0 \uc774\ub984\uacfc \ud45c\ud604\uc2dd\uc5d0\ub294 \uc5b4\ub5a4 \uc5f0\uc0b0\uc774 \uc218\ud589\ub420\uc9c0 \uc815\ud574\uc8fc\ub294 \ud0c0\uc785\uc774\ub780 \uac83\uc774 \ubd99\ub294\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>C++\uc758 \ub2e4\uc591\ud55c \ud0c0\uc785\ub4e4 \uc911 \uba87 \uac00\uc9c0 <\/strong><\/p>\n<div style=\"text-align: center;\">\n<table style=\"border-collapse: collapse;\" border=\"0\">\n<colgroup>\n<col style=\"width: 67px;\" \/>\n<col style=\"width: 227px;\" \/>\n<col style=\"width: 139px;\" \/>\n<col style=\"width: 132px;\" \/><\/colgroup>\n<tbody valign=\"top\">\n<tr style=\"background: #9bbb59;\">\n<td style=\"padding-right: 7px; border-top: #9bbb59 1pt solid; padding-left: 7px; border-left: #9bbb59 1pt solid;\" colspan=\"2\"><span style=\"color: white;\"><strong>\ud0c0\uc785<\/strong><\/span><\/td>\n<td style=\"padding-right: 7px; border-top: #9bbb59 1pt solid; padding-left: 7px; border-bottom: #9bbb59 1pt solid;\"><span style=\"color: white;\"><strong>\ud06c\uae30<\/strong><\/span><\/td>\n<td style=\"border-right: #9bbb59 1pt solid; padding-right: 7px; border-top: #9bbb59 1pt solid; padding-left: 7px; border-bottom: #9bbb59 1pt solid;\"><span style=\"color: white;\"><strong>\uc0ac\uc6a9\ubc95<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: #9bbb59 1pt solid; border-bottom: #9bbb59 1pt solid;\"><strong>bool<\/strong><\/td>\n<td style=\"padding-right: 7px; border-top: medium none; padding-left: 7px; border-bottom: #9bbb59 1pt solid;\">\ubd88(Boolean)<\/td>\n<td style=\"padding-right: 7px; border-top: medium none; padding-left: 7px; border-bottom: #9bbb59 1pt solid;\">1 byte<\/td>\n<td style=\"border-right: #9bbb59 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; border-bottom: #9bbb59 1pt solid;\">True, false<\/td>\n<\/tr>\n<tr>\n<td style=\"padding-right: 7px; padding-left: 7px; border-left: #9bbb59 1pt solid; border-bottom: #9bbb59 1pt solid;\"><strong>char<\/strong><\/td>\n<td style=\"padding-right: 7px; padding-left: 7px; border-bottom: #9bbb59 1pt solid;\">\ubb38\uc790(character)<\/td>\n<td style=\"padding-right: 7px; padding-left: 7px; border-bottom: #9bbb59 1pt solid;\">1 byte<\/td>\n<td style=\"border-right: #9bbb59 1pt solid; padding-right: 7px; padding-left: 7px; border-bottom: #9bbb59 1pt solid;\">&#8216;k&#8217;, &#8216;h&#8217;, &#8216;j&#8217;, &#8216;4&#8217;<\/td>\n<\/tr>\n<tr>\n<td style=\"padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: #9bbb59 1pt solid; border-bottom: #9bbb59 1pt solid;\"><strong>int<\/strong><\/td>\n<td style=\"padding-right: 7px; border-top: medium none; padding-left: 7px; border-bottom: #9bbb59 1pt solid;\">\uc815\uc218(integer)<\/td>\n<td style=\"padding-right: 7px; border-top: medium none; padding-left: 7px; border-bottom: #9bbb59 1pt solid;\">2 or 4 bytes<\/td>\n<td style=\"border-right: #9bbb59 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; border-bottom: #9bbb59 1pt solid;\">1, 342, 6342<\/td>\n<\/tr>\n<tr>\n<td style=\"padding-right: 7px; padding-left: 7px; border-left: #9bbb59 1pt solid; border-bottom: #9bbb59 1pt solid;\"><strong>double<\/strong><\/td>\n<td style=\"padding-right: 7px; padding-left: 7px; border-bottom: #9bbb59 1pt solid;\">\ubc30\uc815\ubc00\ub3c4 \ubd80\ub3d9\uc18c\uc218\uc810\uc2e4\uc218<\/td>\n<td style=\"padding-right: 7px; padding-left: 7px; border-bottom: #9bbb59 1pt solid;\">8 bytes<\/td>\n<td style=\"border-right: #9bbb59 1pt solid; padding-right: 7px; padding-left: 7px; border-bottom: #9bbb59 1pt solid;\">3.14, 29348.0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p style=\"text-align: right;\">*\ucef4\ud4e8\ud130\ub098 \ucef4\ud30c\uc77c\ub7ec\uc5d0 \ub530\ub77c \ud06c\uae30\uac00 \ub2e4\ub97c \uc218 \uc788\uc74c<\/p>\n<p>&nbsp;<\/p>\n<p>\uc774\ub7f0 \ud0c0\uc785\ub4e4\uc5d0 \ub300\ud574 \uacc4\uc0b0\uc744 \ucc98\ub9ac\ud560 \ub54c \ub2e4\uc74c\uacfc \uac19\uc740 \uc0b0\uc220 \uc5f0\uc0b0\uc790\uc640 \ube44\uad50 \uc5f0\uc0b0\uc790\uac00 \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n<div style=\"text-align: center;\">\n<table style=\"border-collapse: collapse;\" border=\"0\">\n<colgroup>\n<col style=\"width: 38px;\" \/>\n<col style=\"width: 130px;\" \/>\n<col style=\"width: 38px;\" \/>\n<col style=\"width: 123px;\" \/><\/colgroup>\n<tbody valign=\"top\">\n<tr style=\"background: #4f81bd;\">\n<td style=\"border-right: medium none; padding-right: 7px; border-top: #7ba0cd 1pt solid; padding-left: 7px; border-left: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid;\" colspan=\"2\"><span style=\"font-size: 10pt; color: white;\"><strong>\uc0b0\uc220 \uc5f0\uc0b0\uc790<\/strong><\/span><\/td>\n<td style=\"border-right: #7ba0cd 1pt solid; padding-right: 7px; border-top: #7ba0cd 1pt solid; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\" colspan=\"2\"><span style=\"font-size: 10pt; color: white;\"><strong>\ube44\uad50 \uc5f0\uc0b0\uc790<\/strong><\/span><\/td>\n<\/tr>\n<tr style=\"background: #d3dfee;\">\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\"><strong>+<\/strong><\/span><\/td>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">\ub367\uc148<\/span><\/td>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">==<\/span><\/td>\n<td style=\"border-right: #7ba0cd 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">\uac19\uc740\uac00?<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\"><strong>&#8211;<\/strong><\/span><\/td>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">\ube84\uc148<\/span><\/td>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">!=<\/span><\/td>\n<td style=\"border-right: #7ba0cd 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">\ub2e4\ub978\uac00?<\/span><\/td>\n<\/tr>\n<tr style=\"background: #d3dfee;\">\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\"><strong>*<\/strong><\/span><\/td>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">\uacf1\uc148<\/span><\/td>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">&lt;<\/span><\/td>\n<td style=\"border-right: #7ba0cd 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">\uc791\uc740\uac00<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\"><strong>\/<\/strong><\/span><\/td>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">\ub098\ub217\uc148<\/span><\/td>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">&gt;<\/span><\/td>\n<td style=\"border-right: #7ba0cd 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">\ud070\uac00?<\/span><\/td>\n<\/tr>\n<tr style=\"background: #d3dfee;\">\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\"><strong>%<\/strong><\/span><\/td>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">\ub098\uba38\uc9c0<\/span><\/td>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">&lt;=<\/span><\/td>\n<td style=\"border-right: #7ba0cd 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">\uc791\uac70\ub098 \uac19\uc740\uac00?<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: #7ba0cd 1pt solid; border-bottom: #7ba0cd 1pt solid;\"><\/td>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><\/td>\n<td style=\"border-right: medium none; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">&gt;=<\/span><\/td>\n<td style=\"border-right: #7ba0cd 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; border-left: medium none; border-bottom: #7ba0cd 1pt solid;\"><span style=\"font-size: 10pt;\">\ud06c\uac70\ub098 \uac19\uc740\uac00<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>&nbsp;<\/p>\n<p>\ub300\uc785 \uc5f0\uc0b0\uacfc \uc0b0\uc220 \uc5f0\uc0b0\uc744 \uae30\ubcf8 \uc81c\uacf5 \ud0c0\uc785\uc744 \uac00\uc9c0\uace0 \uc218\ud589 \ud560 \uacbd\uc6b0\uc5d0\ub294, \ub2e4\ub978 \ud0c0\uc785\uc744 \uc4f0\ub354\ub77c\uace0 \uc790\uc720\ub86d\uac8c \uc11e\uc5b4 \uc4f8 \uc218 \uc788\ub3c4\ub85d \uc801\uc808\ud55c \ud0c0\uc785 \ubcc0\ud658\uc774 \ub0b4\ubd80 \uc801\uc73c\ub85c \uc774\ub8e8\uc5b4\uc9c4\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc740 \ud0c0\uc785 \ubcc0\ud658\uc774 \uc774\ub8e8\uc5b4\uc9c0\ub294 \uc608\uc81c\uc774\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;#include &lt;iostream.h&gt; void main () { double a = 2.2; \/\/a\ub294 double\ud615\uc73c\ub85c \uc18c\uc218\uc810 \uae4c\uc9c0 \ud45c\uc2dc \uac00\ub2a5 int b = 7; \/\/b\ub294 int\ud615 cout&lt;&lt;&#8220;a : &#8220;&lt;&lt;a; \/\/a\uc758 \ucd08\uae30\uac12 cout&lt;&lt;&#8220;nb : &#8220;&lt;&lt;b; \/\/b\uc758 \ucd08\uae30\uac12 cout&lt;&lt;&#8220;nnn&#8221;; a = a + b; \/\/a \uc5d0 a\uc640 b\ub97c \ub354\ud55c \uac12\uc744 \ub123\ub294\ub2e4.(2.2+7) cout&lt;&lt;&#8220;nafter &#8212;&#8211; a = a + b :&#8221;; cout&lt;&lt;&#8220;na : &#8220;&lt;&lt;a; \/\/a \ub294 9.2\uac00 \ub418\uc5b4 \uc788\uc74c cout&lt;&lt;&#8220;nb : &#8220;&lt;&lt;b; \/\/b \ub294 7 cout&lt;&lt;&#8220;nnn&#8221;; b = a * b; \/\/b \uc5d0 a\uc640 b\ub97c \uacf1\ud55c \uac12\uc744 \ub123\ub294\ub2e4.(9.2 * 7) cout&lt;&lt;&#8220;nafter &#8212;&#8211; b = a * b :&#8221;; cout&lt;&lt;&#8220;na : &#8220;&lt;&lt;a; \/\/a \ub294 9.2 cout&lt;&lt;&#8220;nb : &#8220;&lt;&lt;b; \/\/b \ub294 64.4\uac00 \ub418\uc5b4\uc57c \ud558\uc9c0\ub9cc int\ud0c0\uc785\uc774\ubbc0\ub85c \ud0c0\uc785 \ubcc0\ud658\uc774 \uc774\ub8e8\uc5b4\uc838 64\uac00 \ucd9c\ub825 \ub41c\ub2e4. } &lt;\/TEXTAREA&gt;<\/p>\n<p>b\uc758 int \ud0c0\uc785\uc5d0 \ub9de\uac8c \ubcc0\ud658 \ub418\uc5c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt; color: #7030a0;\"><strong>2.3.2 \uc870\uac74\uac80\uc0ac \ubc0f \ub8e8\ud504 <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>C++ \uc5d0\uc11c\ub294 \ubd84\uae30(selection)\uc640 \ub8e8\ud504\ucc98\ub9ac(looping)\ub97c \ub098\ud0c0\ub0bc \uc218 \uc788\ub294 \uad6c\ubb38\ub4e4\uc774 \uc788\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc740 \uac04\ub2e8\ud55c \uc785\ub825\uc744 \ubc1b\uc544 \uadf8 \uc751\ub2f5\uc744 \ub098\ud0c0\ub0b4\ub294 \ubd88(bool)\uac12\uc744 \ud45c\uc2dc\ud558\ub294 \uc608\uc81c\uc774\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;#include &lt;iostream.h&gt; bool accept( ) { char answer = 0; \/\/\ubb38\uc790 \ubcc0\uc218 cout&lt;&lt;&#8220;Do you want to stop (y or n) ?n&#8221;; \/\/\uc9c8\ubb38 \ucd9c\ub825 cin&gt;&gt;answer; \/\/\ub300\ub2f5\uc744 \uc77d\ub294\ub2e4. if(answer == &#8216;y&#8217;) return true; \/\/&#8217;y&#8217; \uc774\uba74 1 (true)\uc744 \ubc18\ud658 return false; \/\/&#8217;y&#8217;\uac00 \uc544\ub2c8\uba74 0 (false)\uc744 \ubc18\ud658 } void main( ) { bool true_false = accept(); \/\/bool\ubcc0\uc218\uc5d0 accept \ud568\uc218\uac12\uc744 \uc800\uc7a5 cout&lt;&lt;true_false; \/\/true, false\uc5d0 \ub530\ub77c 1, 0 \uc744 \ucd9c\ub825 } &lt;\/TEXTAREA&gt;<\/p>\n<p>\uc704\uc758 \uc608\uc81c \uc5d0\uc11c <span style=\"font-size: 10pt;\"><strong><em>accept <\/em><\/strong><\/span>\ud568\uc218\ub97c n\uc744 \ubc1b\uc544\ub4e4\uc600\uc744 \uacbd\uc6b0\uae4c\uc9c0 \uace0\ub824\ud558\uba74 \uc870\uae08 \ub354 \uc9dc\uc784\uc0c8 \uc788\uac8c \ub41c\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;bool accept2() { char answer =0; cout&lt;&lt;&#8220;Do you want to stop (y or n) ?n&#8221;; cin&gt;&gt;answer; switch(answer) { case &#8216;y&#8217;: return true; \/\/&#8217;y&#8217; \uc774\uba74 1 (true)\uc744 \ubc18\ud658 case &#8216;n&#8217;: return false; \/\/&#8217;n&#8217; \uc774\uba74 0 (false)\uc744 \ubc18\ud658 default: cout&lt;&lt;&#8220;I&#8217;ll take that for a no.n&#8221;; return false; \/\/&#8217;y&#8217;. &#8216;n&#8217;\ub458 \ub2e4 \uc544\ub2d0 \ub54c\ub294 \uba54\uc2dc\uc9c0\uc640 \ud568\uaed8 0 (false)\uc744 \ubc18\ud658 } } &lt;\/TEXTAREA&gt;<\/p>\n<p>\uc704 \uc608\uc81c\uc758 switch\ubb38\uc740 \uc0c1\uc218\uc758 \uc9d1\ud569\uc5d0 \ub300\ud574 \uc5b4\ub5a4 \uac12\uc744 \uac80\uc0ac\ud558\ub294 \uc870\uac74\ubb38\uc774\ub2e4. &#8216;case \uc0c1\uc218&#8217;\ub294 \uc11c\ub85c \uacb9\uce58\uc9c0 \uc54a\uc544\uc57c \ud558\uace0 \uac80\uc0ac\ud558\ub294 \uac11\uc774 \uc5b4\ub5a4 \uc0c1\uc218\uc5d0\ub3c4 \ud574\ub2f9 \ud558\uc9c0 \uc54a\uc73c\uba74 default\ucabd\uc73c\ub85c \ucc98\ub9ac \ud750\ub984\uc774 \uc624\uac8c \ub41c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>\uc704 \uc608\uc81c\uc5d0 \ub8e8\ud504\ub97c \uc801\uc6a9\ud55c\ub2e4\uba74 \uc0ac\uc6a9\uc790\uac00 \uba87 \ubc88\uc758 \uc2dc\ub3c4\ub97c \ud560\uc218\ub85d \uace0\uce60 \uc218 \uc788\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;bool accept3( ) { int tries = 1; \/\/\uc2dc\ub3c4 \ud69f\uc218 \uce74\uc6b4\ud2b8\ub97c \uc704\ud55c \ubcc0\uc218 while (tries&lt;4) \/\/tries \uac12\uc774 4\ubcf4\ub2e4 \uc791\uc744\ub54c \uc544\ub798\ub97c \ucc98\ub9ac { cout&lt;&lt;&#8220;Do you want to stop (y or n) ?n&#8221;; char answer = 0; cin &gt;&gt; answer; switch(answer) { case &#8216;y&#8217;: return true; \/\/&#8217;y&#8217;\uc77c\ub54c true\uac12\uc744 \ubc18\ud658\ud558\uace0 \ub098\uc628\ub2e4. case &#8216;n&#8217;: return false; \/\/&#8217;n&#8217;\uc77c\ub54c false\uac12\uc744 \ubc18\ud658\ud558\uace0 \ub098\uc628\ub2e4. default: cout&lt;&lt;&#8220;Sorry, only &#8216;y&#8217; or &#8216;n&#8217;n&#8221;; \/\/&#8217;y&#8217; , &#8216;n&#8217; \ub458\ub2e4 \uc544\ub2d0\ub54c \ubcf4\ub0b4\ub294 \uba54\uc138\uc9c0 tries = tries++; \/\/tries\ubcc0\uc218\uc5d0 1\uc744 \ub354\ud55c\ub2e4\uc74c \ub2e4\uc2dc \ucc98\uc74c\uc73c\ub85c \ub3cc\uc544\uac04\ub2e4. } } cout&lt;&lt;&#8220;I&#8217;ll take that for a no.n&#8221;; return false; \/\/1~3\uae4c\uc9c0 3\ubc88\uc774 \ubc18\ubcf5\ub418\uc5b4 tries\ubcc0\uc218\uac00 4\uac00 \ub418\uba74 while\ubb38\uc744 \ube60\uc838\ub098\uc640 \uba54\uc2dc\uc9c0\ub97c \ubcf4\ub0b8 \ud6c4 false\ub97c \ubc18\ud658\ud55c\ub2e4. }&lt;\/TEXTAREA&gt;<\/p>\n<p>\uc704 \uc608\uc81c\uc5d0\uc11c while\ubb38\uc740 \uc870\uac74\uc774 \uac70\uc9d3(false)\uc774 \ub420 \ub54c\uae4c\uc9c0 \uc2e4\ud589\ud558\uac8c \ub9cc\ub4dc\ub294 \uad6c\ubb38\uc774\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt; color: #7030a0;\"><strong>2.3.3 \ud3ec\uc778\ud130\uc640 \ubc30\uc5f4 <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>\ubc30\uc5f4\uc758 \uc120\uc5b8<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;char k[4]; \/\/\ubb38\uc790 4\uac1c\uc758 \ubc30\uc5f4 &lt;\/TEXTAREA&gt;<\/p>\n<p>&#8211; char\ud0c0\uc785 4\uac1c\uac00 \uc120\uc5b8 \ub418\uc5c8\ub2e4. ( k[0], k[1], k[2], k[3] )<\/p>\n<p><strong>\ud3ec\uc778\ud130\uc758 \uc120\uc5b8<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;char *p; \/\/\ubb38\uc790\ub97c \uac00\ub9ac\ud0a4\ub294 \ud3ec\uc778\ud130 &lt;\/TEXTAREA&gt;<\/p>\n<p>&#8211; char \ud0c0\uc785\uc758 \uac1d\uccb4\uac00 \uc800\uc7a5\ub41c \uba54\ubaa8\ub9ac \uc8fc\uc18c\ub97c \uac00\uc9c4\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; p = &amp;k[2]; \/\/ p\ub294 k\uc758 3\ubc88\uc9f8 \uc6d0\uc18c\ub97c \uac00\ub9ac\ud0a4\ub294 \ud3ec\uc778\ud130 &lt;\/TEXTAREA&gt;<\/p>\n<p>&#8211; \ub2e8\ud56d \uc5f0\uc0b0\uc790\uc778 &amp;\uc740 \uc8fc\uc18c ( address-of ) \uc5f0\uc0b0\uc790\uc774\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>\uc544\ub798\ub294 \ud55c \ubc30\uc5f4\uc5d0\uc11c \ub2e4\ub978 \ubc30\uc5f4\ub85c 4\uac1c\uc758 \uc6d0\uc18c\ub97c \ubcf5\uc0ac \ud558\ub294 \uc608\uc81c\uc774\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;#include &lt;iostream.h&gt; void main( ) { int k1[4] = {1,2,3,4}; \/\/\ubcf5\uc0ac\ud560 \ubcc0\uc218 \uc120\uc5b8\uacfc \ud568\uaed8 \ub370\uc774\ud130 \uc785\ub825 int k2[4] = {0,0,0,0}; \/\/\ubcf5\uc0ac \ubc1b\uc744 \ubcc0\uc218 \uc120\uc5b8\uacfc \ud568\uaed8 0\uc73c\ub85c \ucd08\uae30\ud654 int i; cout &lt;&lt;&#8220;Before copy&#8212;&#8212;&#8212;&#8212;&#8220;; for (i = 0; i&lt;3; i++) \/\/\ubcf5\uc0ac \ud558\uae30\uc804\uc758 \ubc30\uc5f4\uc744 \ubcf4\uc5ec\uc8fc\ub294 for\ubb38 { cout&lt;&lt;&#8220;nnk1[&#8220;&lt;&lt;i&lt;&lt;&#8220;] : &#8220;&lt;&lt;k1[i]; cout&lt;&lt;&#8220;nk2[&#8220;&lt;&lt;i&lt;&lt;&#8220;] : &#8220;&lt;&lt;k2[i]; } for (i=0; i&lt;4; i++) k2[i] = k1[i]; \/\/k1 \ubc30\uc5f4\uc744 k2\ubc30\uc5f4\ub85c \ubcf5\uc0ac \ud558\ub294 for\ubb38 cout &lt;&lt;&#8220;nnnAfter copy&#8212;&#8212;&#8212;&#8212;&#8220;; for (i = 0; i&lt;3; i++) \/\/\ubcf5\uc0ac\ud55c \ud6c4\uc758 \ubc30\uc5f4\uc744 \ubcf4\uc5ec\uc8fc\ub294 for\ubb38 { cout&lt;&lt;&#8220;nnk1[&#8220;&lt;&lt;i&lt;&lt;&#8220;] : &#8220;&lt;&lt;k1[i]; cout&lt;&lt;&#8220;nk2[&#8220;&lt;&lt;i&lt;&lt;&#8220;] : &#8220;&lt;&lt;k2[i]; } } &lt;\/TEXTAREA&gt;<\/p>\n<p>\uc704 \uc608\uc81c\uc5d0 \uc4f0\uc778 for\ubb38\uc740 i\ub97c 0\uc73c\ub85c \uc124\uc815\ud558\uace0 \uc774 \uac12\uc774 4\ubcf4\ub2e4 \uc791\uc740 \ub3d9\uc548 i\ubc88\uc9f8\uc758 \uc6d0\uc18c\ub97c \ubcf5\uc0ac\ud558\uace0 i\ub97c \uc99d\uac00\uc2dc\ud0a8\ub2e4<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 14pt; color: #0070c0;\"><strong>2.4 \ubaa8\ub4c8\ud654 \ud504\ub85c\uadf8\ub798\ubc0d <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\ubb38\uc81c \ud574\uacb0\uc5d0 \uc0ac\uc6a9\ud558\ub294 \ub370\uc774\ud130\ub97c \ub9cc\ub4e4\uc5b4 \ub450\uba74, \uadf8 \ub370\uc774\ud130\ub97c \uc870\uc791\ud558\ub294 \ud504\ub85c\uc2dc\uc800\uac00 \uc790\uc5f0\uc2a4\ub7fd\uac8c \ud558\ub098 \ub458 \uc0dd\uae30\uac8c \ub418\ub294\ub370 \uc774\uac83\ub4e4\uc774 \ubaa8\uc778 \uac83\uc744 \uac00\ub9ac\ucf1c \ubaa8\ub4c8(module)\uc774\ub77c \ud55c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>\ubaa8\ub4c8\ud654 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \ud328\ub7ec\ub2e4\uc784 <\/strong><\/p>\n<p>&#8211; \ubb38\uc81c \ud574\uacb0\uc5d0 \uc801\ud569\ud55c \ubaa8\ub4c8\uc744 \uc815\ud55c\ub2e4.<\/p>\n<p>&#8211; \ud504\ub85c\uadf8\ub7a8\uc744 \ucabc\uac1c\uc5b4 \ub370\uc774\ud130\uac00 \ubaa8\ub4c8 \uc18d\uc5d0 \uc228\uaca8\uc9c0\ub3c4\ub85d \ud55c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>\uc774\ub7f0 \ud328\ub7ec\ub2e4\uc784\uc744 \uac00\ub9ac\ucf1c <span style=\"font-size: 10pt;\"><strong><em>\ub370\uc774\ud130 \uc740\ub2c9 \uc6d0\uce59(data-hiding principle)<\/em><\/strong><\/span>\uc774\ub77c\uace0\ub3c4 \ud55c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>\ubaa8\ub4c8\ud654 \ud504\ub85c\uadf8\ub798\ubc0d\uc744 \uc798 \ubcf4\uc5ec\uc8fc\ub294 \ub300\ud45c\uc801\uc778 \uc608\ub85c \uc2a4\ud0dd\uc774 \uc788\ub294\ub370, \uc2a4\ud0dd\uc758 \uad6c\ud604\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \uc774\ub8e8\uc5b4\uc9c0\ub294 \uac83\uc774 \ubcf4\ud1b5\uc774\ub2e4.<\/p>\n<ol style=\"margin-left: 40pt;\">\n<li>\n<div style=\"text-align: justify;\"><em>\uc2a4\ud0dd \uc870\uc791\uc744 \uc704\ud55c \uc0ac\uc6a9\uc790(\ud504\ub85c\uadf8\ub798\ubc0d) \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc81c\uacf5\ud55c\ub2e4 [push, pop] <\/em><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\"><em>\uc2a4\ud0dd\uc744 \ub098\ud0c0\ub0b4\ub294 \ub370\uc774\ud130 (\ubc30\uc5f4\ub85c \ub098\ud0c0\ub0bc\uc218\ub3c4 \uc788\ub2e4)\ub294 1.\uc5d0\uc11c \uc81c\uacf5\ud55c \uc778\ud130\ud398\uc774\uc2a4\ub85c\ub9cc \uc811\uadfc(access) \ud560 \uc218 \uc788\ub3c4\ub85d \ud55c\ub2e4. <\/em><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\"><em>\ubc18\ub4dc\uc2dc \uc0ac\uc6a9 \uc804\uc5d0 \uc2a4\ud0dd\uc758 \ucd08\uae30\ud654\uac00 \uc774\ub8e8\uc5b4\uc9c0\ub3c4\ub85d \ud55c\ub2e4. <\/em><\/div>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>\ub2e4\uc74c\uc740 namespace\ub97c \uc774\uc6a9 \ud558\uc5ec Stack\uc774\ub780 \uc774\ub984\uc758 \ubaa8\ub4c8\uc5d0 \ub300\ud55c \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc120\uc5b8\ud55c \uacb0\uacfc\uc640 \uc774 \uc778\ud130\ud398\uc774\uc2a4\uc758 \uc0ac\uc6a9 \uc608\uc81c\uc774\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;namespace stack \/\/\uc778\ud130\ud398\uc774\uc2a4 (\ubaa8\ub4c8 \uc120\uc5b8\ubd80) { void push(char); char pop( ); } void main( ) { stack::push(&#8216;c&#8217;); if(stack::pop( ) != &#8216;c&#8217;) error(&#8220;impossible&#8221;); } &lt;\/TEXTAREA&gt;<\/p>\n<p><span style=\"font-size: 10pt;\"><strong><em>stack::<\/em><\/strong><\/span> \uc774\ub780 \ud55c\uc815\ud45c\uc2dc(qualification)\uc740 \uadf8 \ub4a4\uc758 <span style=\"font-size: 10pt;\"><strong><em>push( )<\/em><\/strong><\/span>\uc640 <span style=\"font-size: 10pt;\"><strong><em>pop( )<\/em><\/strong><\/span>\uc774 stack namespace\uc758 \uac83\uc774\ub77c\ub294 \ub73b\uc774\ub2e4. \uc774\ub85c\uc368 \ub611\uac19\uc740 <span style=\"font-size: 10pt;\"><strong><em>push( )<\/em><\/strong><\/span> \ub098 <span style=\"font-size: 10pt;\"><strong><em>pop( )<\/em><\/strong><\/span>\uc744 \uc4f0\ub354\ub77c\ub3c4 \uc774\ub984 \ud63c\ub3d9\uc774 \uc77c\uc5b4\ub098\uc9c0 \uc54a\ub294\ub2e4<\/p>\n<p>stack \ubaa8\ub4c8\uc758 \uc815\uc758(\uad6c\ud604)\ucf54\ub4dc\ub294 (\uc120\uc5b8\ubd80\uc640) \ubcc4\ub3c4\ub85c \ucef4\ud30c\uc77c\ub41c \ud30c\uc77c\uc5d0\uc11c \ubc1b\uc544 \uc62c \uc218 \uc788\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;namespace stack { const int max_size = 200; char v[max_size]; int top = 0; void push(char c) { \/* overflow\ub97c \uc810\uac80\ud558\uace0 c\ub97c push\ud55c\ub2e4.*\/ } char pop( ) { \/* underflow\ub97c \uc810\uac80\ud558\uace0 pop\ud55c\ub2e4. *\/ } } &lt;\/TEXTAREA&gt;<\/p>\n<p>\uc774 \ubaa8\ub4c8\uc5d0\uc11c \uc0ac\uc6a9\uc790 \ucf54\ub4dc\uac00 \ub370\uc774\ud130\ud45c\ud604\ubd80\uc640 \ubd84\ub9ac \ub418\uc5b4 \uc788\uc74c\uc5d0 \uc8fc\ubaa9\ud558\uc790. \uc774\ub294 <span style=\"font-size: 10pt;\"><strong><em>stack::push( )<\/em><\/strong><\/span>\uc640 <span style=\"font-size: 10pt;\"><strong><em>stack pop::( )<\/em><\/strong><\/span>\uc774 \uc788\uae30 \ub54c\ubb38\uc5d0 \uac00\ub2a5\ud558\ub2e4.<\/p>\n<p>C++\uc758 namespace \uc5d0\ub294 \uc5b4\ub5a4 \uc120\uc5b8\uc774\ub4e0 \ub123\uc744 \uc218 \uc788\ub2e4. \uc774 \ubaa8\ub4c8\uc740 \uc2a4\ud0dd\uc744 \ub098\ud0c0\ub0b4\ub294 \uc218\ub2e8\uc911 \ud558\ub098\uc77c\ubfd0\uc774\ub2e4.<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt; color: #7030a0;\"><strong>2.4.1 \ubd84\ud560 \ucef4\ud30c\uc77c <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\uc5ec\ub7ec \uac1c\uc758 \ud558\uc704 \uad6c\uc131 \uc694\uc18c\ub97c \ubaa8\uc544\uc11c \ud558\ub098\uc758 \ud504\ub85c\uadf8\ub7a8\uc744 \ub9cc\ub4e4 \ub54c <strong>\ubd84\ud560 \ucef4\ud30c\uc77c (separate compilation)<\/strong>\uc744 \uc0ac\uc6a9 \ud55c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>\ubaa8\ub4c8 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc9c0\uc815\ud558\ub294 \uc120\uc5b8\ubd80\ub294 &#8216;\uc774\uac83\uc740 \uc778\ud130\ud398\uc774\uc2a4&#8217;\ub77c\ub294 \uac83\uc744 \uc798 \uc54c\ub824 \uc8fc\ub294 \uc774\ub984\uc744 \uac00\uc9c4 \ud30c\uc77c\uc5d0 \ub123\uc5b4 \ub454\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;namespace stack \/\/\uc778\ud130\ud398\uc774\uc2a4 { void push(char); char pop( ); } &lt;\/TEXTAREA&gt;<\/p>\n<p>\uc2a4\ud0dd\uc744 \uc870\uc791\ud558\ub294 \ud568\uc218\ub97c \uc120\uc5b8\ud574 \ub454 \uc778\ud130\ud398\uc774\uc2a4\ub97c stack.h\ub77c\ub294 <strong>\ud5e4\ub354\ud30c\uc77c(header file)<\/strong>\uc5d0 \ub123\ub294\ub2e4. \uc0ac\uc6a9\uc790\ub294 \uc774 \ud30c\uc77c\uc744 include \ud574\uc11c \uc0ac\uc6a9\uc790 \ucf54\ub4dc\ub85c \uac00\uc838 \uc628\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;#include &#8220;stack.h&#8221; \/\/\uc778\ud130\ud398\uc774\uc2a4\ub97c \uac00\uc838 \uc628\ub2e4. void main( ) { stack::push(&#8216;c&#8217;); if(stack::pop( ) != &#8216;c&#8217;) error(&#8220;impossible&#8221;); } &lt;\/TEXTAREA&gt;<\/p>\n<p>\uc77c\uad00\uc131\uc744 \uc720\uc9c0\ud560 \uc218 \uc788\ub3c4\ub85d, stack \ubaa8\ub4c8\uc758 \uad6c\ud604\ubd80\ub97c \uac00\uc9c0\uace0 \uc788\ub294 \ud30c\uc77c \ucabd\uc5d0\uc11c\ub3c4 \uc778\ud130\ud398\uc774\uc2a4\ub97c include\ud55c\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;#include &#8220;stack.h&#8221; \/\/\uc778\ud130\ud398\uc774\uc2a4\ub97c \uac00\uc838\uc628\ub2e4. namespace stack \/\/ \uc2a4\ud0dd\uc758 \ub370\uc774\ud130 \ud45c\ud604 { const int max_size = 200; char v[max_size]; int top = 0; } void push(char c) { \/* overflow\ub97c \uc810\uac80\ud558\uace0 c\ub97c push\ud55c\ub2e4.*\/ } char pop( ) { \/* underflow\ub97c \uc810\uac80\ud558\uace0 pop\ud55c\ub2e4. *\/ } &lt;\/TEXTAREA&gt;<\/p>\n<p>\uc774 \ubaa8\ub4c8\uc744 \uc0ac\uc6a9 \ud558\ub294 \ucf54\ub4dc\ub294 \uc81c 3\uc758 \ud30c\uc77c \uc5d0 \ub454\ub2e4. stack.h\uc548\uc5d0 \ub9cc\ub4e4\uc5b4 \ub193\uc740 \uc778\ud130\ud398\uc774\uc2a4 \uc815\ubcf4\ub97c \uc5ec\ub7ec \uad70\ub370\uc11c \ub04c\uc5b4\uc624\uace0 \uc788\uc9c0\ub9cc, \uadf8\ub807\ub2e4\uace0 \ud574\uc11c \ud30c\uc77c\ub4e4 \uc0ac\uc774\uc5d0 \uc5b4\ub5a4 \uc885\uc18d \uad00\uacc4\uac00 \uc788\ub294 \uac83\uc740 \uc804\ud600 \uc544\ub2c8\ub2e4. stack.h\ub97c \ubd88\ub7ec \uc624\ub294 \ubaa8\ub4e0 \ud30c\uc77c\uc744 \uac01\uac01 \ub530\ub85c \ucef4\ud30c\uc77c \ub41c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>\ud504\ub85c\uadf8\ub7a8\uc744 \uc798 \uc791\uc131 \ud558\ub824\uba74<\/p>\n<ol style=\"margin-left: 40pt;\">\n<li>\n<div style=\"text-align: justify;\">\ubaa8\ub4c8\ud654\uc758 \uc815\ub3c4\ub97c \uadf9\ub300\ud654 \ud55c\ub2e4.<\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\">\uc5b8\uc5b4\uc5d0\uc11c \uc81c\uacf5\ub418\ub294 \ud2b9\uc9d5\uc744 \ubc18\uc601\ud558\uc5ec \ubaa8\ub4c8\uad00\uacc4\ub97c \ub17c\ub9ac\uc801\uc73c\ub85c \ud45c\ud604\ud55c\ub2e4.<\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\">\ud6a8\uacfc\uc801\uc778 \ubd84\ud560 \ucef4\ud30c\uc77c\uc744 \uc704\ud574 \ubaa8\ub4c8\ub4e4\uc744 \ubcc4\ub3c4\uc758 \ud30c\uc77c\uc5d0 \ubd84\uc0b0 \uc2dc\ucf1c \uad6c\uc131\ud55c\ub2e4.<\/div>\n<\/li>\n<\/ol>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt; color: #7030a0;\"><strong>2.4.2 \uc608\uc678 \ucc98\ub9ac <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\ubaa8\ub4c8\uc758 \uc9d1\ud569\uc73c\ub85c \uc124\uacc4 \ub418\uc5b4 \uc788\ub294 \ud504\ub85c\uadf8\ub7a8 \uc5d0\uc11c\ub294 \uc624\ub958 \ucc98\ub9ac\ub3c4 \ubaa8\ub4c8 \uc911\uc2ec\uc73c\ub85c \ud574 \uc8fc\uc5b4\uc57c \ud55c\ub2e4. stack \ubaa8\ub4c8\uc744 \uc608\ub97c \ub4e4\uc5b4 stack\uc744 \ucd08\uacfc\ud558\ub294 \ubb38\uc790\ub97c <span style=\"font-size: 10pt;\"><strong><em>push( )<\/em><\/strong><\/span> \ud560 \ub54c \uc5b4\ub5bb\uac8c \ub300\ucc98 \ud574\uc57c \ud560\uae4c? \ud574\uacb0\ucc45\uc740 Stack\ubaa8\ub4c8 \uac1c\ubc1c\uc790 \ucabd\uc5d0\uc11c <span style=\"font-size: 10pt;\"><strong><em>overflow<\/em><\/strong><\/span>\uac00 \ub098\ub294 \uacbd\uc6b0\ub97c \ucc3e\uc544 \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc54c\ub824\uc8fc\ub294 \uac83\uc774\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; namespace stack \/\/\uc778\ud130\ud398\uc774\uc2a4 { void push(char); char pop( ); class overflow { }; \/\/overflow \ub77c\ub294 \uc608\uc678 \uc0c1\ud669\uc744 \ub098\ud0c0\ub0b4\ub294 \ud0c0\uc785 } &lt;\/TEXTAREA&gt;<\/p>\n<p><span style=\"font-size: 10pt;\"><strong><em>stack::push( )<\/em><\/strong><\/span> \ub294 \uc624\ubc84\ud50c\ub85c\uac00 \ubc1c\uc0dd \ud588\ub2e4 \ud310\ub2e8\ub418\uba74 \uc801\uc808\ud55c \uc608\uc678 \ucc98\ub9ac \ucf54\ub4dc\ub97c \ud638\ucd9c \ud55c\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; void stack::push(char c) { if ( top == max_size ) throw overflow( ); \/\/ c\ub97c push\ud55c\ub2e4. } &lt;\/TEXTAREA&gt;<\/p>\n<p><span style=\"font-size: 10pt;\"><strong><em>throw<\/em><\/strong><\/span>\ub294 <span style=\"font-size: 10pt;\"><strong><em>stack::overflow<\/em><\/strong><\/span> \ud0c0\uc785\uc744 \uac00\uc9c4 \uc608\uc678\ub97c \ucc98\ub9ac \ud558\ub294 \ube14\ub85d\uc73c\ub85c \uc81c\uc5b4\uad8c\uc744 \ub118\uae34\ub2e4. \uc774 \ube14\ub85d\uc740 stack::push( )\ub97c \uc9c1\uac04\uc811\uc801\uc73c\ub85c \ud638\ucd9c\ud55c \ud568\uc218 \uc5b4\ub518\uac00\uc5d0 \uc788\uc5b4\uc57c \ud55c\ub2e4. \uc774 &#8216;\uc81c\uc5b4\uad8c \ub118\uae30\uae30&#8217;\ub97c \uc704\ud574 C++\ud658\uacbd\uc740 \ud638\ucd9c\ubd80\uc758 \ubb38\ub9e5\uc744 \uc81c\ub300\ub85c \ucc3e\uc544 \uac08\uc218 \uc788\ub3c4\ub85d \ud638\ucd9c \uc2a4\ud0dd\uc5d0 \ub300\ud55c \ud480\uae30 \ub3d9\uc791\uc744 \uc801\uc808\ud788 \uc218\ud589\ud55c\ub2e4. \uc27d\uac8c \ub9d0\ud574 \uc5ec\ub7ec \uad70\ub370\uc5d0 return\uc744 \ud558\ub294 \uac83\uacfc \ub9c8\ucc2c\uac00\uc9c0\uc774\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; void main( ) { \/\/.. try { \/\/\uc5ec\uae30\uc11c \uc77c\uc5b4\ub09c \uc608\uc678\uc758 \ucc98\ub9ac\ub294 \uc544\ub798\uc5d0 \uc815\uc758\ub41c \ucc98\ub9ac\uc790\uac00 \ub9e1\ub294\ub2e4. while(true) stack::push(&#8216;c&#8217;); } catch (stack::overflow) { \/\/\uc2a4\ud0dd overflow\uc5d0 \ub300\ud574 \uc801\uc808\ud55c \uc870\uce58\ub97c \ucde8\ud55c\ub2e4. } \/\/&#8230; } &lt;\/TEXTAREA&gt;<\/p>\n<p>\uc774 \ucf54\ub4dc\uc5d0\uc11c while \ub8e8\ud504\ub294 \ubb34\ud55c\uc815 \ub3cc\uac8c \ub41c\ub2e4. \ub530\ub77c\uc11c <span style=\"font-size: 10pt;\"><strong><em>stack::overflow<\/em><\/strong><\/span>\uc5d0 \ub300\ud55c \ucc98\ub9ac\uc790\uac00 \uc788\ub294 <span style=\"font-size: 10pt;\"><strong><em>catch<\/em><\/strong><\/span> \uc808\uc740 \uc2a4\ud0dd\uc774 \ub118\uccd0\uc11c <span style=\"font-size: 10pt;\"><strong><em>stack::push( )<\/em><\/strong><\/span>\uc5d0\uc11c <span style=\"font-size: 10pt;\"><strong><em>throw<\/em><\/strong><\/span>\uac00 \uc2e4\ud589 \ub41c \ud6c4\uc5d0\uc57c \uc6c0\uc9c1\uc778\ub2e4.<\/p>\n<p>\uc608\uc678 \ucc98\ub9ac \uba54\ucee4\ub2c8\uc998\uc740 \uc624\ub958 \ucc98\ub9ac \ucf54\ub4dc\ub97c \uc880\ub354 \uc870\uc9c1\uc801\uc774\uace0 \uc77d\uae30 \uc88b\uac8c \ud558\uae30 \uc704\ud574 \ub9c8\ub828\ub41c \uac83\uc774\ub2e4.<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 14pt; color: #0070c0;\"><strong>2.5 \ub370\uc774\ud130 \ucd94\uc0c1\ud654 <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\uaddc\ubaa8\uac00 \ud070 \ud504\ub85c\uadf8\ub7a8 \uc911\uc5d0 \uc81c\ub300\ub85c \ub41c \uac83\uc740 \ubaa8\ub450 &#8216;\ubaa8\ub4c8\ud654\uac00 \uc798 \ub418\uc5c8\ub2e4&#8217; \ub77c\ub294 \ud2b9\uc9d5\uc744 \uae30\ubcf8\uc801\uc73c\ub85c \uac00\uc9c0\uace0 \uc788\ub2e4. \ubaa8\ub4c8\uc744 \ud1b5\ud574 \uc0ac\uc6a9\uc790 \uc815\uc758 \ud0c0\uc785\uc758 &#8216;\ubaa8\uc591\uc0c8&#8217;\ub97c \uc81c\uacf5\ud558\ub294 \ubc29\ubc95\uacfc, \uc774 \ubc29\ubc95\uc744 \uc37c\uc744 \ub54c \uc0dd\uae30\ub294 \ubb38\uc81c\ub97c \ud574\uacb0 \ud558\uae30 \uc704\ud574 \uc0ac\uc6a9\uc790 \uc815\uc758 \ud0c0\uc785\uc744 \uc9c1\uc811 \uc815\uc758 \ud558\ub294 \ubc29\ubc95\uc744 \uc54c\uc544\ubcf4\uc790.<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt; color: #7030a0;\"><strong>2.5.1 \ubaa8\ub4c8\ub85c \ud0c0\uc785\uc744 \uc815\uc758\ud558\ub294 \ubc29\ubc95 <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\ubaa8\ub4c8 \ubc29\uc2dd\uc73c\ub85c \ud504\ub85c\uadf8\ub798\ubc0d\uc744 \ud558\ub2e4 \ubcf4\uba74, \ud55c \uac00\uc9c0 \ud0c0\uc785\uc744 \uac00\uc9c4 \ub370\uc774\ud130\ub294 \ubaa8\ub450 <strong>\ud0c0\uc785 \uad00\ub9ac\uc790 \ubaa8\ub4c8(type manager module) <\/strong>\uac19\uc740 \uac83\uc744 \uc368\uc11c \ubaa8\uc544 \ub450\ub294 \uacbd\uc6b0\uac00 \uc0dd\uae38 \uc218 \ubc16\uc5d0 \uc5c6\uac8c \ub41c\ub2e4. \uc55e\uc5d0\uc11c \ubcf8 stack \ubaa8\ub4c8\uc744 \uc5ec\ub7ec \uac1c \uc4f0\uace0 \uc2f6\uc740 \uacbd\uc6b0, \ud544\uc694\ud55c \uc778\ud130\ud398\uc774\uc2a4\uac00 \ub2ec\ub9b0 \uc2a4\ud0dd \uad00\ub9ac\uc790\ub97c \uc815\uc758\ud574\uc11c \uc4f0\ub294 \uac83\uc774\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;namespace stack { struct Rep; \/\/\uc2a4\ud0dd \ub370\uc774\ud130\ub97c \ub098\ud0c0\ub0b4\ub294 Rep. \uc774\uac83\uc758 \uc815\uc758\ub294 \uc5b4\ub514\uc5d0 \uc788\uc744 \uac83\uc774\ub2e4. typedef Rep&amp; stack; stack create( ); \/\/\uc2a4\ud0dd\ud558\ub098\ub97c \uc0c8\ub85c \ub9cc\ub4e0\ub2e4. void destroy(stack s); \/\/s\ub97c \uc0ad\uc81c\ud55c\ub2e4. void push(stack s, char c); \/\/c\ub97c s\uc5d0 push\ud55c\ub2e4. char pop(stack s); \/\/s\ub97c pop\ud55c\ub2e4. } &lt;\/TEXTAREA&gt;<\/p>\n<p>\uc120\uc5b8\ubb38 <span style=\"font-size: 10pt;\"><strong><em>struct Rep;<\/em><\/strong><\/span> \uc5d0\uc11c Rep\uc740 \ud0c0\uc785 \uc774\ub984\uc5d0 \ud574\ub2f9 \ud558\uc9c0\ub9cc, \ud0c0\uc785 \uc790\uccb4\ub294 \ub098\uc911\uc5d0 \uc815\uc758\ub418\ub3c4\ub85d \ub0b4\ubc84\ub824 \ub454 \uc0c1\ud0dc\uc774\ub2e4.<\/p>\n<p>\ub450 \ubc88\uc9f8\ub85c \ub098\uc628 \uc120\uc5b8\ubb38 <span style=\"font-size: 10pt;\"><strong><em>typedef Rep &amp; stack;<\/em><\/strong><\/span> \uc740 &#8216;Rep\uc5d0 \ub300\ud55c \ucc38\uc870\uc790(reference)&#8217;\uc5d0 stack\uc774\ub780 \uc774\ub984\uc744 \ubd99\uc778\ub2e4. \uc774 <span style=\"font-size: 10pt;\"><strong><em>stack::stack<\/em><\/strong><\/span>\uc740 \uae30\ubcf8 \uc81c\uacf5 \ud0c0\uc785\uc758 \ubcc0\uc218\uc640 \ub611\uac19\uc774 \uc4f8 \uc218 \uc788\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; struct Bad_pop { }; void f( ) { stack::stack s1 = stack::create( ); \/\/\uc2a4\ud0dd \ud558\ub098\ub97c \uc0c8\ub85c \ub9cc\ub4e0\ub2e4. stack::stack s2 = stack::create( ); \/\/\uc2a4\ud0dd\uc744 \ud558\ub098 \ub354 \ub9cc\ub4e0\ub2e4. stack::push(s1,&#8217;c&#8217;); stack::push(s2,&#8217;k&#8217;); if (stack::pop(s1) != &#8216;c&#8217;) throw Bad_pop( ); if (stack::pop(s2) != &#8216;k&#8217;) throw Bad_pop( ); stack::destroy(s1); stack::destroy(s2); }&lt;\/TEXTAREA&gt;<\/p>\n<p>Stack\uc758 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uad6c\ud604 \ud558\ub294 \ubc29\ubc95\uc740 \uc5ec\ub7ec \uac00\uc9c0\uac00 \uc788\uc744 \uc218 \uc788\uaca0\uc9c0\ub9cc, \uc5b4\ub5a4 \ubc29\ubc95\uc744 \uc4f0\ub4e0 \uc0ac\uc6a9\uc790\ub294 \uc2e0\uacbd \uc4f0\uc9c0 \uc54a\uc544\ub3c4 \ub41c\ub2e4.<\/p>\n<p>\uad6c\ud604\ubc29\ubc95\uc758 \ud55c \uac00\uc9c0 \uc608 : \uc2a4\ud0dd \uba87 \uac1c\ub97c \ubbf8\ub9ac \ub9cc\ub4e4\uc5b4 \ud560\ub2f9\ud574 \ub193\uace0, <span style=\"font-size: 10pt;\"><strong><em>stack::create( )<\/em><\/strong><\/span>\ub294 \ubbf8\uc0ac\uc6a9 \uc2a4\ud0dd\uc5d0 \ub300\ud55c \ucc38\uc870\uc790\ub97c \ub044\uc9d1\uc5b4 \ub0b4\ub294 \uc77c\ub9cc \ud558\uac8c \ud55c\ub2e4. <span style=\"font-size: 10pt;\"><strong><em>stack::destroy( )<\/em><\/strong><\/span>\ub294 \uc0ac\uc6a9 \ub418\ub294 \uac83\ub4e4\uc740 \ub2e4\uc2dc &#8216;\ubbf8\uc0ac\uc6a9&#8217; \uc774\ub77c\uace0 \ud45c\uc2dc\ud574 \ub450\uc5b4, \ub098\uc911\uc5d0 <span style=\"font-size: 10pt;\"><strong><em>stack::create( )<\/em><\/strong><\/span>\uac00 \uc7ac\uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; namespace stack { \/\/\uc2e4\uc81c \uc2a4\ud0dd \ub370\uc774\ud130\uc758 \ud45c\ud604\ubd80 const int max_size = 200; struct Rep { char v [max_size]; int top; }; const int max = 16; Rep stacks[max]; bool used[max]; typedef Rep&amp; stack; } void stack::push(stack s, char c) { \/* \uc624\ubc84\ud50c\ub85c\ub97c \uc810\uac80\ud558\uace0 c\ub97c push\ud55c\ub2e4. *\/ } char stack::pop(stack s) { \/* s\uac00 \uc5b8\ub354\ud50c\ub85c\uac00 \ub0ac\ub294\uc9c0 \uc810\uac80\ud558\uace0 pop\ud55c\ub2e4. *\/ } stack::stack stack::create( ) { \/\/\ubbf8\uc0ac\uc6a9 \uc911\uc778 Rep\uc744 \uaebc\ub0b4\uace0 \uc774\uac83\uc744 &#8216;\uc0ac\uc6a9 \uc911&#8217;\uc774\ub77c\uace0 \ud45c\uc2dc\ud55c \ud6c4, \ucd08\uae30\ud654\ud558\uace0 \ucc38\uc870\uc790\ub97c \ubc18\ud658\ud55c\ub2e4. } void stack::destroy(stack s) { \/* s\ub97c &#8220;\ubbf8\uc0ac\uc6a9&#8221; \uc0c1\ud0dc\ub85c \ubc14\uafbc\ub2e4. *\/ } &lt;\/TEXTAREA&gt;<\/p>\n<p>\uc9c0\uae08\uae4c\uc9c0\uc758 \ucf54\ub4dc\ub97c \ubcf4\uba74, \uc2a4\ud0dd\uc744 \ud45c\ud604\ud558\ub294 \ud0c0\uc785\uc774 \uc778\ud130\ud398\uc774\uc2a4 \ud568\uc218\ub4e4\ub85c \ub458\ub7ec\uc2f8\uc778 \ud615\ud0dc\uc774\ub2e4. \uc774\ub807\uac8c \uc5d0\ub458\ub7ec \ub9cc\ub4e4\uc5b4\uc9c4 &#8216;\uc2a4\ud0dd \ud0c0\uc785&#8217;\uc758 \ub3d9\uc791 \ubc29\uc2dd\uc744 \uc88c\uc6b0\ud558\ub294 \uc694\uc778\uc740 \uc5ec\ub7ec \uac00\uc9c0\ub85c\uc11c, \uc870\uae08\uc529 \ub2ec\ub77c\uc9c4\ub2e4. \uadf8\ub7ec\ub098 \uc774 \ubc29\ubc95\uc740 \uc774\uc0c1\uc801\uc778 \uc124\uacc4\uc5d0\uc11c \uc57d\uac04 \uc5b4\uae0b\ub098 \uc788\ub2e4. \uc720\uc0ac \ud0c0\uc785\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc774 \uc2e4\uc81c \ub370\uc774\ud130\uc758 \ub0b4\ubd80\uc0ac\ud56d\uc5d0 \ub530\ub77c \ud310\uc774\ud558\uac8c \ub2ec\ub77c\uc9c8 \uc218 \uc788\uace0, \uc0ac\uc6a9\uc790\ub294 \uc774\ub85c \uc778\ud574 \ud63c\ub780\uc2a4\ub7ec\uc6cc \ud55c\ub2e4.<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt; color: #7030a0;\"><strong>2.5.2 \uc0ac\uc6a9\uc790 \uc815\uc758 \ud0c0\uc785 <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\uc774 \ubb38\uc81c\uc5d0 \ub300\ud55c \ud574\uacb0\ucc45\uc73c\ub85c C++\uc5d0\uc11c\ub294 \uae30\ubcf8 \uc81c\uacf5 \ud0c0\uc785\uacfc \ub611\uac19\uc740 \ub3d9\uc791 \ubc29\uc2dd\uc744 \uac00\uc9c0\ub294 \ud0c0\uc785\uc744 \uc0ac\uc6a9\uc790\uac00 \uc9c1\uc811 \uc815\uc758\ud560 \uc218 \uc788\ub3c4\ub85d \ud558\uc600\ub2e4. \uc774\ub7f0 \ud0c0\uc785\uc744 \uac00\ub9ac\ucf1c \ucd94\uc0c1 \ub370\uc774\ud130 \ud0c0\uc785 (abstract data type)\uc774\ub77c\uace0\ub4e4 \ud55c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>\uc0ac\uc6a9\uc790 \uc815\uc758 \ud0c0\uc785\uc744 \uc0ac\uc6a9\ud55c \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \uc774\ub860\uc801\uc778 \ud2c0 <\/strong><\/p>\n<ul>\n<li>\n<div style=\"text-align: justify;\">\ubb38\uc81c \ud574\uacb0\uc5d0 \ud544\uc694\ud55c \ud0c0\uc784\ub4e4\uc744 \uc815\ud55c\ub2e4.<\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\">\uac01\ud0c0\uc785\uc5d0 \ub300\ud574 \ub3d9\uc791 \uc5f0\uc0b0\uc744 \uc644\ubcbd\ud558\uac8c \uc81c\uacf5\ud55c\ub2e4.<\/div>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>\uc0ac\uc6a9\uc790 \uc815\uc758 \ud0c0\uc785\uc758 \uc608\ub294 \uc720\ub9ac\uc218\ub098 \ubcf5\uc18c\uc218 \ub530\uc704\ub97c \ub098\ud0c0\ub0b4\ub294 \uc0b0\uc220 \ud0c0\uc785\uc774 \ub300\ud45c\uc801\uc774\ub2e4. \ub2e4\uc74c \uc608\uc81c\ub97c \ubcf4\uc790.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; class complex { double re, im; public: complex(double r, double i) { re=r; im=i; } \/\/\ub450 \uac1c\uc758 \uc2a4\uce7c\ub77c\ub85c\ubd80\ud130 \ubcf5\uc18c\uc218\ub97c \ub9cc\ub4e0\ub2e4 complex(double r) { re=r; im=0; } \/\/\ud558\ub098\uc758 \uc2a4\uce7c\ub77c\ub85c\ubd80\ud130 \ubcf5\uc18c\uc218\ub97c \ub9cc\ub4e0\ub2e4. complex( ) { re = im = 0; } friend complex operator + (complex, complex); friend complex operator &#8211; (complex, complex); \/\/\uc774\ud56d \uc5f0\uc0b0 friend complex operator &#8211; (complex, complex); \/\/\ub2e8\ud56d \uc5f0\uc0b0 friend complex operator * (complex, complex); friend complex operator \/ (complex, complex); friend complex operator == (complex, complex); \/\/\uac19\uc74c \ube44\uad50 friend complex operator != (complex, complex); \/\/\ub2e4\ub984 \ube44\uad50 \/\/&#8230; }; &lt;\/TEXTAREA&gt;<\/p>\n<p>complex\ub780 \uc774\ub984\uc758 \ud074\ub798\uc2a4(\uc0ac\uc6a9\uc790 \uc815\uc758 \ud0c0\uc785)\ub294 \ubcf5\uc18c\uc218 \ub370\uc774\ud130\uc758 \ud45c\ud604\ubd80\uc640 \uc870\uc791\uc5d0 \ud544\uc694\ud55c \uc5f0\uc0b0\ub4e4\uc744 \ubaa8\ub450 \uac00\uc9c0\uace0 \uc788\ub2e4. \uc5ec\uae30\uc11c \ub370\uc774\ud130\ud45c\ud604\ubd80\ub294 \uc678\ubd80\uc5d0 \uac00\ub824\uc838 \uc788\ub2e4. (re\uc640 im) \uc774 \ub450 \ub370\uc774\ud130\ub294 complex \ud074\ub798\uc2a4\uc758 \uc120\uc5b8\ubd80\uc5d0\uc11c \uc9c0\uc815\ub41c \ud568\uc218\ub4e4\ub9cc \uc811\uadfc\ud560 \uc218 \uc788\ub2e4. \uc774\ub4e4 &#8216;\uc9c0\uc815\ub41c&#8217; \ud568\uc218\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\uc758 \ub420 \uc218 \uc788\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; complex operator + ( complex a1, complex a2) { return complex (a1.re + a2.re, a1.im + a2.im); } &lt;\/TEXTAREA&gt;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 10pt;\"><strong><em>\u00a0<\/em><\/strong><\/span>\ud074\ub798\uc2a4\uc640 \ub611\uac19\uc740 \uc774\ub984\uc744 \uac00\uc9c4 \uba64\ubc84 \ud568\uc218\ub97c \ubcfc \uc218 \uc788\ub294\ub370, \uc774\uac83\uc744 \uc0dd\uc131\uc790(constructor)\ub77c\uace0 \ud55c\ub2e4. complex \ud074\ub798\uc2a4\uc5d0 \uc815\uc758\ub41c \uc0dd\uc131\uc790\ub294 double\ud558\ub098\ub97c \ubc1b\uc544 complex\uac1d\uccb4\ub97c \ucd08\uae30\ud654\ud558\ub294 \uac83, double \ub450 \uac1c\ub97c \ubc1b\uc544 \ucd08\uae30\ud654\ud558\ub294 \uac83, \uadf8\ub9ac\uace0 \uae30\ubcf8 \uac12\uc73c\ub85c \ucd08\uae30\ud654\ud558\ub294 \uac83, \uc774\ub807\uac8c \uc138 \uac00\uc9c0\uc774\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>complex \ud074\ub798\uc2a4\uc758 \uc0ac\uc6a9\ubc95\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; void f(complex z) { complex a = 2.3; complex b = 1\/a; complex c = a+b*complex(1,2.3) \/\/&#8230; if (c != b) c = -(b\/a) + 2*b; } &lt;\/TEXTAREA&gt;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 10pt;\"><strong><em>\u00a0<\/em><\/strong><\/span>C++ \ucef4\ud30c\uc77c\ub7ec\ub294 complex \ud0c0\uc785\uc758 \ubcf5\uc18c\uc218\ub97c \ud53c\uc5f0\uc0ac\uc790\ub85c \uc0ac\uc6a9\ud558\ub294 \uc5f0\uc0b0\uc790\ub97c \uc77d\uc5b4, \uadf8 \ud074\ub798\uc2a4\uc5d0\uc11c \uc815\uc758\ub41c \ud568\uc218 \ud638\ucd9c \ucf54\ub4dc\ub85c \ubc14\uafb8\uc5b4 \uc900\ub2e4.<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt; color: #7030a0;\"><strong>2.5.3 \uad6c\uccb4 \ud0c0\uc785 <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\uc55e\uc11c \ubcf4\uc558\ub358 stack \ud0c0\uc785\uc774 complex \ud0c0\uc785\ucc98\ub7fc \ub9cc\ub4e4\uc5b4\uc84c\ub2e4\uace0 \uc0dd\uac01 \ud574\ubcf4\uc790. \uc57d\uac04 \uc4f8\ub9cc\ud558\uac8c \ub2e4\ub4ec\uc73c\ub824\uba74 \uc2a4\ud0dd \ub0b4\ubd80\uc758 \uc6d0\uc18c \uac1c\uc218\ub97c \uc778\uc790\ub85c \ubc1b\uc544\ub4e4\uc774\ub3c4\ub85d \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\uc758 \ud560 \uc218 \uc788\uc744 \uac83\uc774\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; class stack { char*v; int top; int max_size; public: class underflow { }; \/\/ \uc608\uc678\ub85c \uc0ac\uc6a9\ud558\uae30 \uc704\ud568 class overflow { }; \/\/ \uc608\uc678\ub85c \uc0ac\uc6a9\ud558\uae30 \uc704\ud568 class bad_size { }; \/\/ \uc608\uc678\ub85c \uc0ac\uc6a9\ud558\uae30 \uc704\ud568 stack(int s); \/\/ \uc0dd\uc131\uc790 stack( ); \/\/ \uc18c\uba78\uc790 void push(char c); char pop( ); }; &lt;\/TEXTAREA&gt;<\/p>\n<p style=\"text-align: justify;\">&#8216;\uc0dd\uc131\uc790&#8217;\ub77c\ub294 \uc774\ub984\uc774 \ubd99\uc740 stack(int)\ub294 \uc774 \ud074\ub798\uc2a4\uc758 \uac1d\uccb4\uac00 \uba54\ubaa8\ub9ac\uc5d0 \ub9cc\ub4e4\uc5b4\uc9c8 \ub54c\ub9c8\ub2e4 \ud638\ucd9c\ub418\ub294 \ud568\uc218 \uc774\ub2e4. \uc774 \ud568\uc218\uac00 \ub9e1\uc740 \uc77c\uc740 \uac1d\uccb4\uc758 \ucd08\uae30\ud654\uc774\ub2e4. \uc774 \ud074\ub798\uc2a4\uc758 \uac1d\uccb4\uac00 \uc720\ud638 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0a0 \uacbd\uc6b0\uc5d0 \ub05d \ub9c8\ubb34\ub9ac \uc791\uc5c5\uc774 \ud544\uc694 \ud558\ub2e4\uba74 \uc18c\uba78\uc790(destructor)\ub77c\ub294 \ud568\uc218\ub97c \uc900\ube44\ud574 \ub450\uba74 \ub41c\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; stack::stack(int s) \/\/ \uc0dd\uc131\uc790 { top = 0; if (s0 || 10000&lt;s) throw bad_size( ); \/\/ &#8216;||&#8217;\uc758 \ub73b\uc740 &#8216;\ub610\ub294&#8217;\uc774\ub2e4. max_size = s; v = new char[s]; \/\/ \uc790\uc720 \uc800\uc7a5\uacf5\uac04\uc5d0 \uc6d0\uc18c \ud560\ub2f9 } stack::~stack( ) \/\/ \uc18c\uba78\uc790 { delete[ ] v; \/\/ \uacf5\uac04\uc744 \ub2e4\uc2dc \uc4f8 \uc218 \uc788\ub3c4\ub85d \ud560\ub2f9\ud55c \uc6d0\uc18c\ub97c \ud574\uc81c\ud55c\ub2e4. } &lt;\/TEXTAREA&gt;<\/p>\n<p style=\"text-align: justify;\">\uc5ec\uae30\uc11c \uc0dd\uc131\uc790\uac00 \ud560 \uc77c\uc744 \uc0c8\ub85c \uc0dd\uc131\ub41c stack \ubcc0\uc218\ub97c \ucd08\uae30\ud654\ud558\ub294 \uac83\uc774\ub2e4. \uc0ac\uc6a9\uc790\ub294 \uae30\ubcf8\uc81c\uacf5 \ud0c0\uc785\uc758 \ubcc0\uc218\ub97c \ub300\ud558\ub4ef\uc774 stack \uac1d\uccb4\ub97c \ub9cc\ub4e4\uc5b4 \uc4f0\uba74 \ub418\ub294 \uac83\uc774\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; stack s_varl(10); \/\/10\uac1c\uc758 \uc6d0\uc18c\ub97c \uac00\uc9c4 \uc804\uc5ed \uc2a4\ud0dd void f(stack&amp; s_ref; inti) \/\/stack \uac1d\uccb4\uc5d0 \ub300\ud55c \ucc38\uc870\uc790 { stack s_var2(i); \/\/ i \uac1c\uc758 \uc6d0\uc18c\ub97c \uac00\uc9c4 \uc9c0\uc5ed \uc2a4\ud399 stack* s_ptr = new stack(20); \/\/\uc790\uc720 \uc800\uc7a5\uacf5\uac04\uc5d0 \ud560\ub2f9\ub41c stack\uac1d\uccb4 \ud3ec\uc778\ud130 s_var1.push(&#8216;a&#8217;); \/\/\ubcc0\uc218\ub97c \ud1b5\ud574 \uc811\uadfc\ud558\ub294 \ubc29\ubc95 s_var2.push(&#8216;b&#8217;); s_ref:push(&#8216;c&#8217;); \/\/\ucc38\uc870\uc790\ub97c \ud1b5\ud574 \uc811\uadfc\ud558\ub294 \ubc29\ubc95 s_ptr -&gt; push(&#8216;d&#8217;); \/\/\ud3ec\uc778\ud130\ub97c \ud1b5\ud574 \uc811\uadfc \ud558\ub294 \ubc29\ubc95 \/\/&#8230; }&lt;\/TEXTAREA&gt;<\/p>\n<p>&nbsp;<\/p>\n<p>\uc774 stack \ud0c0\uc785\uc740 \uc774\uc81c \ub3d9\uc791 \ubc29\uc2dd\uc774 int\ub098 char \ub4f1\uc758 \uae30\ubcf8 \uc81c\uacf5 \ud0c0\uc785\uacfc \ub611\uac19\uc544\uc84c\ub2e4.<\/p>\n<p>\uc55e\uc5d0\uc11c \ubcf8 complex\uc640 \uc5ec\uae30\uc11c \ubcf8 stack\uacfc \uac19\uc740 \ud0c0\uc785\uc744 \uac00\ub9ac\ucf1c \uad6c\uccb4 \ud0c0\uc785(concrete type) \uc774\ub77c\uace0 \ud55c\ub2e4. \ucd94\uc0c1 \ud0c0\uc785(abstract type)\uacfc \ubc18\ub300\ub418\ub294 \uc758\ubbf8\uc778\ub370, \uc774 \ucd94\uc0c1 \ud0c0\uc785\uc740 \uc778\ud130\ud398\uc774\uc2a4 \ubc16\uc5d0 \uc5c6\uae30 \ub54c\ubb38\uc5d0 \uc0ac\uc6a9\uc790 \ucf54\ub4dc\uac00 \uad6c\ud604\ucf54\ub4dc\ub85c\ubd80\ud130 \ub354 \ubd84\ub9ac \ub41c\ub2e4.<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt; color: #7030a0;\"><strong>2.5.4 \ucd94\uc0c1 \ud0c0\uc785 <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>stack \uc774\ub780 \ud0c0\uc785\uc744 \ub098\ud0c0\ub0b4\ub294 \ubb38\uc81c\ub97c \ubaa8\ub4c8 \ud615\ud0dc\uc758 &#8216;\uc720\uc0ac \ud0c0\uc785&#8217;\uc5d0\uc11c \uc9c4\uc9dc \ud0c0\uc785\uc73c\ub85c \uc62e\uae30\uba74 \uc88b\uc740 \uc810\ub3c4 \uc788\uc9c0\ub9cc \uc548\ud0c0\uae5d\uac8c\ub3c4 \ud55c \uac00\uc9c0 \uc131\uc9c8\uc744 \uc783\uac8c \ub41c\ub2e4. \ubc14\ub85c \ub370\uc774\ud130\ud45c\ud604\ubd80\uac00 \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\uc640 \ub5a8\uc5b4\uc9c0\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\ub85c \ub0a8\ub294\ub2e4\ub294 \uc810\uc774\ub2e4.<\/p>\n<p>\uc0ac\uc6a9\ud558\ub294 \ud0c0\uc785\uc774 \uc790\uc8fc \ubc14\ub00c\uc9c0 \uc54a\ub294\ub2e4\ub4e0\uc9c0 \uc9c0\uc5ed \ubcc0\uc218\ub97c \uc0ac\uc6a9\ud574\uc11c \uae54\ub054\ud558\uace0 \ud6a8\uc728\uc801\uc73c\ub85c \uc791\uc5c5\ud560 \uc218 \uc788\ub294 \uacbd\uc6b0\uc5d0\ub294 \uad6c\uccb4 \ud0c0\uc785\uc774 \uc774\uc0c1\uc801\uc77c \ub54c\uac00 \ub9ce\ub2e4. \ud558\uc9c0\ub9cc \uc2a4\ud0dd\uc744 \uc0ac\uc6a9\ud558\ub294 \ud504\ub85c\uadf8\ub798\uba38\uc640 \uc2a4\ud0dd \uad6c\ud604\ubd80\uc640\uc758 \uad00\uacc4\ub97c \uc644\uc804\ud788 \ub04a\uc5b4 \ubc84\ub824\uc57c \ud560 \ub54c\ub3c4 \uc788\ub294\ub370, \uc774 \uacbd\uc6b0\uc5d0\ub294 stack \ud074\ub798\uc2a4\ub85c\ub3c4 \uc5b4\ub9bc\uc5c6\ub2e4. \ud574\uacb0\ucc45\uc740 \ub2e8 \ud558\ub098, \uc778\ud130\ud398\uc774\uc2a4\uc640 \ub370\uc774\ud130\ud45c\ud604\ubd80\ub97c \ub5bc\uc5b4 \ub193\uace0 \uc9c0\uc5ed \ubcc0\uc218\ub97c \ud3ec\uae30\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n<p>\uc6b0\uc120, \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc774\ub807\uac8c \uc815\uc758\ud55c\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; class stack { public: class underflow { }; class overflow { }; virtual void ush(char c) = 0; virtual char pop( ) = 0; }; &lt;\/TEXTAREA&gt;<\/p>\n<p>virtual \uc774\ub780 \ud0a4\uc6cc\ub4dc\uac00 \ubd99\uc740 \ud568\uc218\ub294 \uc774 \ud074\ub798\uc2a4\ub85c\ubd80\ud130 \ud30c\uc0dd\ub41c \ud074\ub798\uc2a4\uc5d0\uc11c \ub098\uc911\uc5d0 \uc7ac\uc815\uc758\ub420 \uc218 \uc788\ub2e4\ub294 \uac83\uc744 \uc758\ubbf8 \ud55c\ub2e4. \uc815\ub9ac\ud558\uba74, \uc774 stack\uc740 <span style=\"font-size: 10pt;\"><strong><em>push( )<\/em><\/strong><\/span>\uc640 <span style=\"font-size: 10pt;\"><strong><em>pop( ) <\/em><\/strong><\/span>\ud568\uc218\ub97c &#8216;\uad6c\ud604&#8217; \ud558\uac8c \ub420 \ubbf8\uc9c0\uc758 \ud074\ub798\uc2a4\uc5d0\uac8c \uc778\ud130\ud398\uc774\uc2a4, \uc989 \ud2c0\ub9cc\uc744 \uc81c\uacf5\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n<p>\uc774 stack\uc740 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9 \ub420\uae4c? \ub2e4\uc74c\uc744 \ubcf4\uc790.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; void f(stack&amp; s_ref) { s_ref.push(&#8216;c&#8217;); if(s_ref:pop( ) != &#8216;c&#8217;) trow bad_pop( ); } &lt;\/TEXTAREA&gt;<\/p>\n<p><span style=\"font-size: 10pt;\"><strong><em>f( )<\/em><\/strong><\/span>\ub294 \uc2e4\uc81c \uad6c\ud604\ubd80\ub97c \uc804\ud600 \ubaa8\ub974\uace0\ub3c4 stack \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9 \ud558\uace0 \uc788\ub2e4. \uc774\ub807\uac8c \ub2e4\ub978 \ud074\ub798\uc2a4\uac00 \uc4f8 \uc218 \uc788\ub294 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc81c\uacf5\ud558\ub294 \ud074\ub798\uc2a4\ub97c \uac00\ub9ac\ucf1c \ub2e4\ud615\uc131 \ud0c0\uc785(polymorphic type)\uc774\ub77c\uace0 \ud55c\ub2e4.<\/p>\n<p>stack\uc774 \uc778\ud130\ud398\uc774\uc2a4\uac00 \ub410\uc73c\ubbc0\ub85c, stack\uc774 \uad6c\uccb4 \ud0c0\uc785\uc774\uc5c8\uc744 \ub54c \uac00\uc9c0\uace0 \uc788\ub358 \uac83\ub4e4\uc744 \uc804\ubd80 \ub5bc\uc5b4 \ub0b4\uba74 \uad6c\ud604\ubd80\ub97c \uad6c\uc131\ud560 \uc218 \uc788\uc744 \uac83\uc774\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>&#8212;&#8211;<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt; color: #7030a0;\"><strong>2.5.5 \uac00\uc0c1 \ud568\uc218 <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 10pt;\"><strong><em>f( )<\/em><\/strong><\/span>\uc5d0 \ub4e4\uc5b4\uc788\ub294 <span style=\"font-size: 10pt;\"><strong><em>s_ref:pop( )<\/em><\/strong><\/span>\uc740 \uc5b4\ub5bb\uac8c \ud574\ub2f9 \ud074\ub798\uc2a4\uc758 \ud568\uc218 \uc815\uc758\ubd80\ub85c \uc815\ud655\ud788 \ud574\uc11d(resolve)\ub418\ub294 \uac83\uc77c\uae4c? <span style=\"font-size: 10pt;\"><strong><em>h( )<\/em><\/strong><\/span>\uc5d0\uc11c \ud638\ucd9c\ub418\ub294 <span style=\"font-size: 10pt;\"><strong><em>f( )<\/em><\/strong><\/span>\uc5d0\uc11c\ub294 <span style=\"font-size: 10pt;\"><strong><em>list_stack::pop( )<\/em><\/strong><\/span>\uc774 \ud638\ucd9c \ub418\uc5b4\uc57c \ud558\uace0 <span style=\"font-size: 10pt;\"><strong><em>g( )<\/em><\/strong><\/span>\uc5d0\uc11c <span style=\"font-size: 10pt;\"><strong><em>f( )<\/em><\/strong><\/span>\uac00 \ud638\ucd9c\ub418\ub294 \uacbd\uc6b0\uc5d0\ub294 <span style=\"font-size: 10pt;\"><strong><em>array_stack::pop( )<\/em><\/strong><\/span>\uc774 \ud638\ucd9c\ub418\uc5b4\uc57c \ud55c\ub2e4. \uc801\uc808\ud55c \ud568\uc218 \uc815\uc758\ub97c \ucc3e\uc544\ub0b4\ub824\uba74, \ub7f0\ud0c0\uc784\uc5d0 \ud638\ucd9c\ub420 \ud568\uc218\ub97c \uac00\ub9ac\ud0a4\ub294 \uc815\ubcf4\uac00 stack\uac1d\uccb4 \uc5b4\ub518\uac00\uc5d0 \ub4e4\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4. \uc774 \ub9e4\ucee4\ub2c8\uc998\uc740 \uc77c\ubc18\uc801\uc73c\ub85c \ucef4\ud30c\uc77c\ub7ec \ucabd\uc5d0\uc11c virtual \ud0a4\uc6cc\ub4dc\uac00 \ubd99\uc740 \ud568\uc218\uc758 \uc774\ub984\uc744 \ud568\uc218 \ud3ec\uc778\ud130 \ud14c\uc774\ube14\uc758 \uc0c9\uc778\ubc88\ud638\ub85c \ubc14\uafb8\ub294 \uc2dd\uc73c\ub85c \ub9cc\ub4e4\uc5b4\uc838 \uc788\ub2e4. \uc774 \ud14c\uc774\ube14\uc744 \uac00\ub9ac\ucf1c \uac00\uc0c1 \ud568\uc218 \ud14c\uc774\ube14(virtual function table) \uc774\ub77c\uace0 \ud558\uba70, \uc9e7\uac8c vtbl\uc774\ub77c\uace0 \ud55c\ub2e4.<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 14pt; color: #0070c0;\"><strong>2.6 \uac1d\uccb4 \uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\uc0ac\uc6a9\uc790 \uc815\uc758 \ud0c0\uc785\ub9cc \uc37c\uc744 \ub54c \uc0dd\uae30\ub294 \ubb38\uc81c \uadf8\ub9ac\uace0 \uc774 \ubb38\uc81c\ub97c \ub6f0\uc5b4\ub118\ub294 \ud574\uacb0\ucc45\uc778 \ud074\ub798\uc2a4 \uacc4\ud1b5\uc774\ub780 \uac83\uc744 \uc0b4\ud3b4\ubcf4\uc790<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt; color: #7030a0;\"><strong>2.6.1 \uad6c\uccb4 \ud0c0\uc785\uc758 \uacb0\uc815\uc801 \uc57d\uc810 <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\uad6c\uccb4\ud0c0\uc785\uc740 \uc77c\ub2e8 \ud55c\ubc88 \ub9cc\ub4e4\uc5b4\uc9c0\uace0 \ub098\uba74 \uc678\ubd80\uc5d0\uc11c \ud1b5\ud560 \uc218 \uc788\ub294 \uae38\uc774 \uadf9\ud788 \ud55c\uc815\ub418\uc5b4 \uc788\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \uadf8\ub798\ud53d \uc2dc\uc2a4\ud15c\uc5d0 \uc0ac\uc6a9 \ud558\ub824\uace0 shape\ub780 \ud0c0\uc785\uc744 \ud558\ub098 \uc815\uc758 \ud55c\ub2e4\uace0 \uac00\uc815\ud574 \ubcf4\uc790. \uadf8\ub9ac\uace0 \ub2e4\uc74c\uacfc \uac19\uc740 \ud0c0\uc785\ub3c4 \uc788\ub2e4\uace0 \uac00\uc815\ud558\uc790.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; class Point{\/*&#8230;*\/}; class Color{\/*&#8230;*\/}; &lt;\/TEXTAREA&gt;<\/p>\n<p>\ub3c4\ud615(shape)\uc744 \ub098\ud0c0\ub0b4\ub294 \ud0c0\uc785\uc744 \uc815\uc758\ud574 \ubcf4\uc790<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; enum kind {circle, triangle, square}; \/\/\ub098\uc5f4\uc790 \ud0c0\uc785 class shape { kind k; \/\/\ub3c4\ud615 \ud0c0\uc785 \ud544\ub4dc point center; color col; \/\/ &#8230; public: void draw( ); void rotate(int); \/\/&#8230; }; &lt;\/TEXTAREA&gt;<\/p>\n<p>&#8216;\ub3c4\ud615 \ud0c0\uc785 \ud544\ub4dc&#8217;\ub780 \uc774\ub984\uc774 \ubd99\uc740 k\ub77c\ub294 \ubcc0\uc218\uac00 \uc788\uc5b4\uc57c \ud558\ub294 \uc774\uc720\ub294 draw( )\uc640 rotate( )\uc5d0\uc11c \uc790\uc2e0\uc774 \ucc98\ub9ac\ud558\ub294 \ub3c4\ud615\uc774 \uc5b4\ub5a4 \uac83\uc778\uc9c0\ub97c \uad6c\ubd84\ud560 \uc218 \uc788\uc5b4\uc57c \ud558\uae30 \ub54c\ubb38\uc774\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>&#8230;.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt; color: #7030a0;\"><strong>2.6.2 \ud074\ub798\uc2a4 \uacc4\ud1b5 <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\ubb38\uc81c\uc758 \ud575\uc2ec\uc740, \ub3c4\ud615\ub9c8\ub2e4 \uac00\uc9c0\uace0 \uc788\ub294 \uc77c\ubc18\uc801\uc778 \uc131\uc9c8\uacfc \uadf8 \ub3c4\ud615\ub9cc\uc758 \uace0\uc720\ud55c \uc131\uc9c8\uc774 \uba85\ud655\ud558\uac8c \uac08\ub77c\uc9c0\uc9c0 \uc54a\uc558\ub2e4\ub294 \ub370 \uc788\ub2e4. \uc774 \ucc28\uc774\ub97c \uc5b8\uc5b4\ub85c \ub098\ud0c0\ub0b4\uace0 \uc774\uc6a9\ud558\ub294 \uac83\uc774 \ubc14\ub85c \uac1d\uccb4\uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d\uc774\ub2e4.<\/p>\n<p>\uc77c\ubc18\uc131\uacfc \ud2b9\uc218\uc131\uc758 \uad6c\ubd84\uc744 \uc774\ub8e8\uc5b4 \ub0b4\ub294 \ub2f5\uc740 \ubc14\ub85c \uc0c1\uc18d \uba54\ucee4\ub2c8\uc998\uc774\ub2e4. \uc6b0\uc120 \ub3c4\ud615\ub9c8\ub2e4 \uacf5\ud1b5\uc801\uc73c\ub85c \uac00\uc9c4 \uc131\uc9c8\uc744 \uc815\uc758\ud558\ub294 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4e0\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; class Shape { point center; color col; \/\/&#8230; public: point where( ) {return center;} void move(Point to) { center = to; \/*&#8230;*\/ draw( ); } virtual void draw( ) = 0; virtual void rotate(int angle) = 0; \/\/&#8230; }; &lt;\/TEXTAREA&gt;<\/p>\n<p>\ud638\ucd9c \uc778\ud130\ud398\uc774\uc2a4\ub294 \uc815\uc758\ud560 \uc218 \uc788\uc9c0\ub9cc \uad6c\ud604\ucf54\ub4dc\ub294 \ubc14\ub85c \uc81c\uacf5\ud558\uc9c0 \uc54a\uc544\ub3c4 \ub418\ub294 \ud568\uc218\ub97c \uac00\uc0c1 \ud568\uc218\ub85c \uc120\uc5b8\ub41c\ub2e4. (draw( ), rotate( ) )<\/p>\n<p>\uc774\ub807\uac8c \ud074\ub798\uc2a4\ub97c \uc815\uc758\ud574 \ub450\uc5c8\uc73c\uba74 \ub3c4\ud615\uc5d0 \ub300\ud55c \ud3ec\uc778\ud130\ub97c \ub2f4\uc740 \ubca1\ud130\ub97c \uc870\uc791\ud558\ub294 \uc77c\ubc18\ud568\uc218\ub97c \ub9cc\ub4e4\uc5b4\uc11c \uc77c\uad04\uc801\uc73c\ub85c \ucc98\ub9ac\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;void rotate-all(vetor&lt;Shape*&gt;&amp; v, int angle) \/\/v\uc758 \uc6d0\uc18c\uac00 \ub418\ub294 \uac01 \ub3c4\ud615\uc744 angle\ub3c4 \ub9cc\ud07c \ud68c\uc804 { for (int i = 0; i&lt;v.size(); ++i) v[i] -&gt; rotate(angle); }&lt;\/TEXTAREA&gt;<\/p>\n<p>\uc774\uc81c \ud2b9\uc815\ud55c \ub3c4\ud615\uc744 \uc815\uc758\ud55c\ub2e4. &#8216;\uc774\uac83\uc740 \ub3c4\ud615\uc774\ub2e4&#8217;\ub77c\uace0 \uc54c\ub824 \uc90c\uacfc \ub3d9\uc2dc\uc5d0 \uac1c\ubcc4\uc801\uc778 \uc131\uc9c8\uc744 \uc9c0\uc815\ud574 \uc8fc\ub294 \uac83\uc774\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; class circle : public shape { int radious; public: void draw( ) {\/*&#8230;*\/} void rotate(int) { } \/\/\uc544\ubb34\uac83\ub3c4 \uc548 \ud558\ub294 \ud568\uc218 }; &lt;\/TEXTAREA&gt;<\/p>\n<p>\ud30c\uc0dd \ud074\ub798\uc2a4\ub294 \uae30\ubcf8 \ud074\ub798\uc2a4\uac00 \uac00\uc9c4 \ubaa8\ub4e0 \uac83\uc744 \ubb3c\ub824 \ubc1b\uae30 \ub54c\ubb38\uc5d0, \uc774\ub7f0 \ud074\ub798\uc2a4\uc758 \uad00\uacc4\ub97c \uc774\uc6a9\ud558\ub294 \uac83\uc744 \uc0c1\uc18d \uc774\ub77c\uace0 \ud55c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>\uac1d\uccb4 \uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d\uc758 \uc774\ub860\uc801 \ud2c0\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<ul style=\"margin-left: 40pt;\">\n<li>\n<div style=\"text-align: justify;\">\ubb38\uc81c \ud574\uacb0\uc5d0 \ud544\uc694\ud55c \ud074\ub798\uc2a4\uac00 \ubb34\uc5c7\uc778\uc9c0 \uc815\ud55c\ub2e4.<\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\">\ud074\ub798\uc2a4\uc5d0 \ub300\ud574 \ubaa8\ub4e0 \ud568\uc218 \uc9d1\ud569\uc744 \ub9cc\ub4e4\uc5b4 \uc900\ub2e4.<\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\">\ud074\ub798\uc2a4 \uc0ac\uc774\uc758 \uacf5\ud1b5\uc801\uc778 \ubd80\ubd84\uc744 \uc0c1\uc18d\uad00\uacc4\ub97c \uc368\uc11c \ub4dc\ub7ec\ub0b8\ub2e4.<\/div>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><span style=\"font-size: 14pt; color: #0070c0;\"><strong>2.7 \uc77c\ubc18\ud654 \ud504\ub85c\uadf8\ub798\ubc0d <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\uc77c\ubc18\ud654 \ud504\ub85c\uadf8\ub7a8\uc758 \uc774\ub860\uc801\uc778 \ud2c0\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<ul style=\"margin-left: 40pt;\">\n<li>\n<div style=\"text-align: justify;\">\ubb38\uc81c \ud574\uacb0\uc5d0 \ud544\uc694\ud55c \uc54c\uace0\ub9ac\uc998\uc744 \uc815\ud55c\ub2e4.<\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify;\">\uc774\ub4e4 \uc54c\uace0\ub9ac\uc998\uc774 \uc5ec\ub7ec \uac00\uc9c0\uc758 \ud0c0\uc785\uacfc \uc790\ub8cc \uad6c\uc870\uc5d0 \ub300\ud574 \ub3d9\uc791 \ud560 \uc218 \uc788\ub3c4\ub85d \uc54c\uace0\ub9ac\uc998\uc744 \ub9e4\uac1c\ubcc0\uc218\ud654\ud55c\ub2e4.<\/div>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt; color: #7030a0;\"><strong>2.7.1 \ucee8\ud14c\uc774\ub108 <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>C++\uc5d0\uc11c\ub294 \uc55e\uc5d0\uc11c \ub9cc\ub4e4\ub358 &#8216;\ubb38\uc790\ub9cc \ub2f4\ub294 \uc2a4\ud0dd&#8217; \ud0c0\uc785\uc744 &#8216;\uc5b4\ub290 \uac83\uc774\ub4e0 \ub2f4\ub294 \uc2a4\ud0dd&#8217; \ud0c0\uc785\uc73c\ub85c \ubc14\uafc0\uc218 \uc788\ub294 \ubc29\ubc95\uc774 \uc788\ub294\ub370, \ud0c0\uc785\uc744 \ud15c\ud50c\ub9bf(template)\uc73c\ub85c \ub9cc\ub4e4\uace0 char\ub77c\ub294 \ud2b9\uc815\ud55c \ud0c0\uc785\uc744 \ud0ec\ud50c\ub9bf \ub9e4\uac1c\ubcc0\uc218\ub85c \ubc14\uafb8\ub294 \uac83\uc774\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; template &lt;class T&gt; class stack { T*v; int max_size; int top; public: class underflow{ }; class overflow{ }; stack(int s); \/\/\uc0dd\uc131\uc790 ~stack( ); \/\/\uc18c\uba78\uc790 void push(T); T pop( ); }; &lt;\/TEXTAREA&gt;<\/p>\n<p>&nbsp;<\/p>\n<p>\ud074\ub798\uc2a4 \uc774\ub984\uc758 \uc55e\uc5d0 \ubd99\uc740 <span style=\"font-size: 10pt;\"><strong><em>template&lt;class T&gt; <\/em><\/strong><\/span>\ub77c\ub294 \uc811\ub450\uc0ac\uac00 \ubc14\ub85c T\ub97c \uc774 \ud0c0\uc785\uc758 \ub9e4\uac1c \ubcc0\uc218\ub85c \ub9cc\ub4e4\uc5b4 \uc8fc\ub294 \ubd80\ubd84\uc774\ub2e4.<\/p>\n<p>\uba64\ubc84 \ud568\uc218\uc758 \ucf54\ub4dc \uc815\uc758\ub294 \uc774\uc804\uc758 \uac83\uacfc \ud06c\uac8c \ub2e4\ub974\uc9c0 \uc54a\uc73c\ub098 T\ub97c \uace0\ub824\ud574\uc11c \uc774\ub8e8\uc5b4\uc9c4\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; template&lt;class T&gt; void stack&lt;T&gt;:: push(T c) { if (top == max_size) throw overflow( ); v[top] = c; top = top + 1; } template&lt;class T&gt;T stack&lt;T&gt;:: pop( ) { if ( top == 0 ) throw underflow( ); top = top -1; return v[top]; } &lt;\/TEXTAREA&gt;<\/p>\n<p>\uc774\ub807\uac8c \ub9cc\ub4e0 \uc2a4\ud0dd(\ud15c\ud50c\ub9bf)\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \uc0ac\uc6a9 \ud55c\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; stack&lt;shar&gt;sc(200); \/\/200\uac1c\uc758 \ubb38\uc790\ub97c \ub2f4\ub294 \uc2a4\ud0dd stack&lt;complex&gt;scplx(30); \/\/30\uac1c\uc758 \ubcf5\uc18c\uc218\ub97c \ub2f4\ub294 \uc2a4\ud0dd stack&lt;list&lt;int&gt; &gt; sli(45); \/\/45\uac1c\uc758 \uc815\uc218 \ub9ac\uc2a4\ud2b8\ub97c \ub2f4\ub294 \uc2a4\ud0dd void f( ) { sc.push(&#8216;c&#8217;); if(sc.pop( ) != &#8216;c&#8217;) throw bad_pop( ); scplx.push(complex)(1.2)); if (scplx.pop( ) != complex(1,2)) throw bad_pop( ); } &lt;\/TEXTAREA&gt;<\/p>\n<p>\uc5ec\uae30\uc11c \ubcf4\uc778 \uc2a4\ud0dd\ucc98\ub7fc \ub9ac\uc2a4\ud2b8, \ubca1\ud130, \ub9f5 \uac19\uc740 \uac83\ub4e4\ub3c4 \ud15c\ud50c\ub9bf\uc73c\ub85c \uc815\uc758\ud560 \uc218 \uc788\ub2e4. \uc774\ub807\uac8c \uc5b4\ub5a4 \ud0c0\uc785\uc758 \uc6d0\uc18c\ub97c \ubaa8\uc544\uc11c \ub2f4\uc744 \uc218 \uc788\ub294 \ud074\ub798\uc2a4\ub97c \uac00\ub9ac\ucf1c \ucee8\ud14c\uc774\ub108 \ud074\ub798\uc2a4\ub77c\uace0 \ud55c\ub2e4. \ud3b8\ud558\uac8c \ucee8\ud14c\uc774\ub108(container)\ub77c\uace0 \ubd88\ub7ec \uc8fc\uae30 \ubc14\ub780\ub2e4.<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt; color: #7030a0;\"><strong>2.7.2 \uc77c\ubc18\ud654 \uc54c\uace0\ub9ac\uc998 <\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>C++ \ud45c\uc900 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0\ub294 \uc704\uc5d0\uc11c \uc774\uc57c\uae30\ud55c \ucee8\ud14c\uc774\ub108\ub77c\uace0 \ubd88\ub9ac\ub294 \uac83\ub4e4\uc774 \ub4e4\uc5b4 \uc788\uc73c\uba70, \uc5c6\ub294 \ucee8\ud14c\uc774\ub108\ub294 \uc9c1\uc811 \ub9cc\ub4e4 \uc218 \uc788\ub2e4.<\/p>\n<p>\ucee8\ud14c\uc774\ub108\uac00 \uc815\ud655\ud788 \uc5b4\ub5bb\uac8c \uc0dd\uacbc\ub294\uc9c0 \ubab0\ub77c\ub3c4 \uadf8 \ucee8\ud14c\uc774\ub108\ub97c \uc870\uc791\ud560 \uc218 \uc788\ub294 \uc77c\ubc18\ud654\ub41c \ubc29\ubc95\uc744 \ucc3e\uc544\uc57c \ud55c\ub2e4. \uc5ec\uae30\uc5d0\ub294 \uc5ec\ub7ec \uac00\uc9c0 \ubc29\ubc95\uc774 \uc788\uc744 \uc218 \uc788\uaca0\uc73c\ub098 \ud45c\uc900 C++ \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ucee8\ud14c\uc774\ub108\uc640 \ube44\uc218\uce58\ud615 \uc54c\uace0\ub9ac\uc998\uc5d0\uc11c \ucde8\ud55c \ubc29\ubc95\uc740 \uc6d0\uc18c\ub4e4\uc774 \uc21c\uc11c\ub300\ub85c \uc5f0\uacb0\ub41c \uc2dc\ud038\uc2a4\ub77c\ub294 \uac1c\ub150\uc73c\ub85c \ucee8\ud14c\uc774\ub108\ub97c \ubaa8\ub378\ub9c1\ud558\uace0 \uc774 \uc2dc\ud038\uc2a4\ub97c \ubc18\ubcf5\uc790\ub77c\ub294 \uac83\uc73c\ub85c \uc870\uc791\ud558\uac8c \ub9cc\ub4dc\ub294 \uac83\uc774\uc5c8\ub2e4.<\/p>\n<p>\ud558\ub098\uc758 \uc2dc\ud038\uc2a4\uc5d4 \ubc18\ub4dc\uc2dc \uc2dc\uc791\uacfc \ub05d\uc774 \uc874\uc7ac\ud55c\ub2e4. \ubc18\ubcf5\uc790\ub294 \uc2dc\ud038\uc2a4 \uc548\uc758 \uc6b0\ub108\uc18c\ub97c \uac00\ub9ac\ud0a4\uace0 \uc790\uc2e0\uc774 \ucc38\uc870\ud558\ub294 \uc6d0\uc18c\uc758 \ub2e4\ub984 \uac83\uc73c\ub85c \uc62e\uaca8\uac08 \uc218 \uc788\ub294 \uc5f0\uc0b0\uc744 \uc81c\uacf5\ud55c\ub2e4. \uc77c\ubc18\ud654 \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0\uc11c \uc2dc\ud038\uc2a4\uc758 \ub05d\uc740 \uc2dc\ud038\uc2a4\uc758 \ub9c8\uc9c0\ub9c9 \uc6d0\uc18c\uc758 \ubc14\ub85c \ub2e4\uc74c\uc744 \uac00\ub9ac\ud0a4\ub294 \ubc18\ubcf5\uc790\ub97c \ub73b\ud55c\ub2e4. \ub610\ud55c &#8216;\ubc18\ubcf5\uc790\uac00 \uac00\ub9ac\ud0a4\ub294 \uc6d0\uc18c\uc5d0 \uc811\uadfc\ud558\uae30&#8217;\uc640 &#8216;\ubc18\ubcf5\uc790\ub97c \ub2e4\uc74c \uc6d0\uc18c\ub85c \uc62e\uae30\uae30&#8217; \uac19\uc740 \uae30\ubcf8\uc801\uc778 \uc5f0\uc0b0\uc5d0 \ub300\ud55c \ud45c\uc900 \ubc29\uc2dd\ub3c4 \uc774\ubbf8 \uc815\ud574\uc838 \uc788\ub2e4. \uc6b0\ub9ac\ub4e4\uc774 \uc27d\uac8c \uc811\uadfc\ud558\uace0, \uc99d\uac00 \uc5f0\uc0b0\uc790\uc778 ++\ub97c \uc368\uc11c \ub2e4\uc74c \uc6d0\uc18c\ub85c \uc62e\uaca8 \uac00\uac8c \ud55c\uac83\uc774\ub2e4. \uadf8\ub807\uae30 \ub54c\ubb38\uc5d0 \uc774\ub7f0 \uc2dd\uc758 \ucf54\ub529\uc774 \uac00\ub2a5\ud558\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt;template&lt;class in, class out&gt; void copy(in from, in too_far, out to) { while (from != too_far) { *to = *from; \/\/\ubc18\ubcf5\uc790\uac00 \uc9c0\uae08 \ucc38\uc870\ud558\uace0 \uc788\ub294 \uc6d0\uc18c\ub97c \ubcf5\uc0ac\ud55c\ub2e4. ++to; \/\/\ub300\uc0c1\uc774 \ub418\ub294 \uacf3\uc758 \ubc18\ubcf5\uc790\ub97c \uc99d\uac00\uc2dc\ud0a8\ub2e4. ++from; \/\/\ubc14\ud0d5\uc774 \ub418\ub294 \uacf3\uc758 \ubc18\ubcf5\uc790\ub97c \uc99d\uac00\uc2dc\ud0a8\ub2e4. } } &lt;\/TEXTAREA&gt;<\/p>\n<p>C++\uc5d0\uc11c \uae30\ubcf8\uc801\uc73c\ub85c \uc81c\uacf5\ub418\ub294 \ubc30\uc5f4\uacfc \ud3ec\uc778\ud130 \ud0c0\uc785\uc740 \ubc18\ubcf5\uc790 \uc5f0\uc0b0\uc5d0 \uc815\ud655\ud788 \ub9de\uc544 \ub5a8\uc5b4\uc9c0\uae30 \ub54c\ubb38\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc774 \uc791\uc131\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>&lt;TEXTAREA class=c name=code row=&#8221;10&#8243; col=&#8221;60&#8243;&gt; char vc1[200]; \/\/200\uac1c \ubb38\uc790\ub97c \ub2f4\ub294 \ubc30\uc5f4 char vc2[500]; \/\/500\uac1c \ubb38\uc790\ub97c \ub2f4\ub294 \ubc30\uc5f4 void f( ) { copy(&amp;vc1{0}, &amp;vc1[200], &amp;vc2[0]); } &lt;\/TEXTAREA&gt;<\/p>\n<p>vc1\uc758 \uccab \uc6d0\uc18c\ubd80\ud130 \ub05d \uc6d0\uc18c\uae4c\uc9c0\ub97c vc2\uc5d0 \ubcf5\uc0ac\ud558\ub294 \ucf54\ub4dc\ub85c, \ub300\uc0c1\uc704\uce58\ub294 vc2\uc758 \ucc98\uc74c\ubd80\ud130 \uc2dc\uc791\ud55c\ub2e4.<\/p>\n<p><a class=\"aligncenter\" href=\"http:\/\/192.168.0.71:9090:8080\/wp-content\/uploads\/2008\/08\/hk69.pdf\">hk69.pdf<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; The C++ Programming Language 2\uc7a5 \uc6cc\ubc0d\uc5c5 : C++ \ub458\ub7ec\ubcf4\uae30 &nbsp; 2.1 C++ \uc774\ub780 \ubb34\uc5c7\uc778\uac00? &nbsp; \ubaa8\ub4e0 \uc6a9\ub3c4\uc5d0 \uc4f8\uc218 \uc788\uc73c\uba70 \uc2dc\uc2a4\ud15c \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0 \uac15\ud55c \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4 &nbsp; C++\uc758 \uae30\ubcf8 \uc131\uaca9 C\ub97c \uae30\ubcf8\uc73c\ub85c \ubc1c\uc804\uc2dc\ud0a8 \uc5b8\uc5b4 \ub370\uc774\ud130 \ucd94\uc0c1\ud654\ub97c \uc9c0\uc6d0 \uac1d\uccb4 \uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d\uc744 \uc9c0\uc6d0 \uc77c\ubc18\ud654 \ud504\ub85c\uadf8\ub798\ubc0d\uc744 \uc9c0\uc6d0 2.2 C++\ub294 \ud504\ub85c\uadf8\ub798\ubc0d \ud328\ub7ec\ub2e4\uc784\uc774 \ud55c\ub450 \uac1c\uac00 \uc544\ub2c8\ub2e4 &nbsp; \uac1d\ucc44 \uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d\uc740 &#8216;\ud6cc\ub96d\ud55c&#8217; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[18],"tags":[67,479,254,260],"class_list":["post-2213","post","type-post","status-publish","format-standard","hentry","category-my-workc-tcpl","tag-c","tag-programming","tag-tcpl","tag-the-c-programming-language"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/sXV5a-xfile","_links":{"self":[{"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts\/2213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2213"}],"version-history":[{"count":2,"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts\/2213\/revisions"}],"predecessor-version":[{"id":2272,"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts\/2213\/revisions\/2272"}],"wp:attachment":[{"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}