{"id":876,"date":"2024-10-14T11:43:54","date_gmt":"2024-10-14T03:43:54","guid":{"rendered":"http:\/\/114.55.108.251\/?p=876"},"modified":"2025-02-23T17:22:40","modified_gmt":"2025-02-23T09:22:40","slug":"c%e6%a0%b8%e5%bf%83%e7%bc%96%e7%a8%8b","status":"publish","type":"post","link":"https:\/\/guapicoding.com\/?p=876","title":{"rendered":"C++\u6838\u5fc3\u7f16\u7a0b"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1 \u5185\u5b58\u5206\u533a\u6a21\u578b<\/h2>\n\n\n\n<p>C++\u7a0b\u5e8f\u5728\u6267\u884c\u65f6\uff0c\u5c06\u5185\u5b58\u5927\u65b9\u5411\u5212\u5206\u4e3a<strong>4\u4e2a\u533a\u57df<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4ee3\u7801\u533a\uff1a\u5b58\u653e\u51fd\u6570\u4f53\u7684\u4e8c\u8fdb\u5236\u4ee3\u7801\uff0c\u7531\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u7ba1\u7406 <\/li>\n\n\n\n<li>\u5168\u5c40\u533a\uff1a\u5b58\u653e\u5168\u5c40\u53d8\u91cf\u3001\u9759\u6001\u53d8\u91cf\u4ee5\u53ca\u5e38\u91cf<\/li>\n\n\n\n<li>\u6808\u533a\uff1a\u7531\u7f16\u8bd1\u5668\u81ea\u52a8\u5206\u914d\u91ca\u653e, \u5b58\u653e\u51fd\u6570\u7684\u53c2\u6570\u503c\u3001\u5c40\u90e8\u53d8\u91cf\u7b49<\/li>\n\n\n\n<li>\u5806\u533a\uff1a\u7531\u7a0b\u5e8f\u5458\u5206\u914d\u548c\u91ca\u653e\uff0c\u82e5\u7a0b\u5e8f\u5458\u4e0d\u91ca\u653e\uff0c\u7a0b\u5e8f\u7ed3\u675f\u65f6\u7531\u64cd\u4f5c\u7cfb\u7edf\u56de\u6536<\/li>\n<\/ul>\n\n\n\n<p><strong>\u5185\u5b58\u56db\u533a\u610f\u4e49\uff1a<\/strong><\/p>\n\n\n\n<p>\u4e0d\u540c\u533a\u57df\u5b58\u653e\u7684\u6570\u636e\uff0c\u8d4b\u4e88\u4e0d\u540c\u7684\u751f\u547d\u5468\u671f, \u589e\u52a0\u7f16\u7a0b\u7075\u6d3b\u6027<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 \u7a0b\u5e8f\u8fd0\u884c\u524d<\/h3>\n\n\n\n<p>\u5728\u7a0b\u5e8f\u7f16\u8bd1\u540e\uff0c\u751f\u6210\u4e86exe\u53ef\u6267\u884c\u7a0b\u5e8f\uff0c<strong>\u672a\u6267\u884c\u8be5\u7a0b\u5e8f\u524d<\/strong>\u5206\u4e3a\u4e24\u4e2a\u533a\u57df<\/p>\n\n\n\n<p><strong>\u4ee3\u7801\u533a\uff1a<\/strong><\/p>\n\n\n\n<p>\u5b58\u653e CPU \u6267\u884c\u7684\u673a\u5668\u6307\u4ee4<\/p>\n\n\n\n<p>\u4ee3\u7801\u533a\u662f<strong>\u5171\u4eab<\/strong>\u7684\uff0c\u5171\u4eab\u7684\u76ee\u7684\u662f\u5bf9\u4e8e\u9891\u7e41\u88ab\u6267\u884c\u7684\u7a0b\u5e8f\uff0c\u53ea\u9700\u8981\u5728\u5185\u5b58\u4e2d\u6709\u4e00\u4efd\u4ee3\u7801\u5373\u53ef<\/p>\n\n\n\n<p>\u4ee3\u7801\u533a\u662f<strong>\u53ea\u8bfb<\/strong>\u7684\uff0c\u4f7f\u5176\u53ea\u8bfb\u7684\u539f\u56e0\u662f\u9632\u6b62\u7a0b\u5e8f\u610f\u5916\u5730\u4fee\u6539\u4e86\u5b83\u7684\u6307\u4ee4<\/p>\n\n\n\n<p><strong>\u5168\u5c40\u533a\uff1a<\/strong><\/p>\n\n\n\n<p>\u5168\u5c40\u53d8\u91cf\u548c\u9759\u6001\u53d8\u91cf\u5b58\u653e\u5728\u6b64<\/p>\n\n\n\n<p>\u5168\u5c40\u533a\u8fd8\u5305\u542b\u4e86\u5e38\u91cf\u533a, \u5b57\u7b26\u4e32\u5e38\u91cf\u548c\u5176\u4ed6\u5e38\u91cf\u4e5f\u5b58\u653e\u5728\u6b64<\/p>\n\n\n\n<p>\u8be5\u533a\u57df\u7684\u6570\u636e\u5728\u7a0b\u5e8f\u7ed3\u675f\u540e\u7531\u64cd\u4f5c\u7cfb\u7edf\u91ca\u653e<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u5168\u5c40\u53d8\u91cf<br>int g_a = 10;<br>int g_b = 10;<br>\u200b<br>\/\/\u5168\u5c40\u5e38\u91cf<br>const int c_g_a = 10;<br>const int c_g_b = 10;<br>\u200b<br>int main() {<br>\u200b<br>    \/\/\u5c40\u90e8\u53d8\u91cf<br>    int a = 10;<br>    int b = 10;<br>\u200b<br>    \/\/\u6253\u5370\u5730\u5740<br>    cout &lt;&lt; \"\u5c40\u90e8\u53d8\u91cfa\u5730\u5740\u4e3a\uff1a \" &lt;&lt; (int)&amp;a &lt;&lt; endl;<br>    cout &lt;&lt; \"\u5c40\u90e8\u53d8\u91cfb\u5730\u5740\u4e3a\uff1a \" &lt;&lt; (int)&amp;b &lt;&lt; endl;<br>\u200b<br>    cout &lt;&lt; \"\u5168\u5c40\u53d8\u91cfg_a\u5730\u5740\u4e3a\uff1a \" &lt;&lt;  (int)&amp;g_a &lt;&lt; endl;<br>    cout &lt;&lt; \"\u5168\u5c40\u53d8\u91cfg_b\u5730\u5740\u4e3a\uff1a \" &lt;&lt;  (int)&amp;g_b &lt;&lt; endl;<br>\u200b<br>    \/\/\u9759\u6001\u53d8\u91cf<br>    static int s_a = 10;<br>    static int s_b = 10;<br>\u200b<br>    cout &lt;&lt; \"\u9759\u6001\u53d8\u91cfs_a\u5730\u5740\u4e3a\uff1a \" &lt;&lt; (int)&amp;s_a &lt;&lt; endl;<br>    cout &lt;&lt; \"\u9759\u6001\u53d8\u91cfs_b\u5730\u5740\u4e3a\uff1a \" &lt;&lt; (int)&amp;s_b &lt;&lt; endl;<br>\u200b<br>    cout &lt;&lt; \"\u5b57\u7b26\u4e32\u5e38\u91cf\u5730\u5740\u4e3a\uff1a \" &lt;&lt; (int)&amp;\"hello world\" &lt;&lt; endl;<br>    cout &lt;&lt; \"\u5b57\u7b26\u4e32\u5e38\u91cf\u5730\u5740\u4e3a\uff1a \" &lt;&lt; (int)&amp;\"hello world1\" &lt;&lt; endl;<br>\u200b<br>    cout &lt;&lt; \"\u5168\u5c40\u5e38\u91cfc_g_a\u5730\u5740\u4e3a\uff1a \" &lt;&lt; (int)&amp;c_g_a &lt;&lt; endl;<br>    cout &lt;&lt; \"\u5168\u5c40\u5e38\u91cfc_g_b\u5730\u5740\u4e3a\uff1a \" &lt;&lt; (int)&amp;c_g_b &lt;&lt; endl;<br>\u200b<br>    const int c_l_a = 10;<br>    const int c_l_b = 10;<br>    cout &lt;&lt; \"\u5c40\u90e8\u5e38\u91cfc_l_a\u5730\u5740\u4e3a\uff1a \" &lt;&lt; (int)&amp;c_l_a &lt;&lt; endl;<br>    cout &lt;&lt; \"\u5c40\u90e8\u5e38\u91cfc_l_b\u5730\u5740\u4e3a\uff1a \" &lt;&lt; (int)&amp;c_l_b &lt;&lt; endl;<br>\u200b<br>    system(\"pause\");<br>\u200b<br>    return 0;<br>}<\/pre>\n\n\n\n<p>\u6253\u5370\u7ed3\u679c\uff1anull<\/p>\n\n\n\n<p>\u603b\u7ed3\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5728\u7a0b\u5e8f\u8fd0\u884c\u524d\u5206\u4e3a\u5168\u5c40\u533a\u548c\u4ee3\u7801\u533a<\/li>\n\n\n\n<li>\u4ee3\u7801\u533a\u7279\u70b9\u662f\u5171\u4eab\u548c\u53ea\u8bfb<\/li>\n\n\n\n<li>\u5168\u5c40\u533a\u4e2d\u5b58\u653e\u5168\u5c40\u53d8\u91cf\u3001\u9759\u6001\u53d8\u91cf\u3001\u5e38\u91cf<\/li>\n\n\n\n<li>\u5e38\u91cf\u533a\u4e2d\u5b58\u653econst\u4fee\u9970\u7684\u5168\u5c40\u5e38\u91cf\u548c\u5b57\u7b26\u4e32\u5e38\u91cf<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">1.2 \u7a0b\u5e8f\u8fd0\u884c\u540e<\/h3>\n\n\n\n<p><strong>\u6808\u533a\uff1a<\/strong><\/p>\n\n\n\n<p><strong>\u7531\u7f16\u8bd1\u5668\u81ea\u52a8\u5206\u914d\u91ca\u653e<\/strong>\uff0c\u5b58\u653e\u51fd\u6570\u7684\u53c2\u6570\u503c\u3001\u5c40\u90e8\u53d8\u91cf\u7b49<\/p>\n\n\n\n<p>\u6ce8\u610f\u4e8b\u9879\uff1a\u4e0d\u8981\u8fd4\u56de\u5c40\u90e8\u53d8\u91cf\u7684\u5730\u5740\uff0c\u6808\u533a\u5f00\u8f9f\u7684\u6570\u636e<strong>\u7531\u7f16\u8bd1\u5668\u81ea\u52a8\u91ca\u653e<\/strong><\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">int * func()<br>{<br>    int a = 10;<br>    return &amp;a;<br>}<br>\u200b<br>int main() {<br>\u200b<br>    int *p = func();<br>\u200b<br>    cout &lt;&lt; *p &lt;&lt; endl;<br>    cout &lt;&lt; *p &lt;&lt; endl;<br>\u200b<br>    system(\"pause\");<br>\u200b<br>    return 0;<br>}<\/pre>\n\n\n\n<p><strong>\u5806\u533a\uff1a<\/strong><\/p>\n\n\n\n<p><strong>\u7531\u7a0b\u5e8f\u5458\u5206\u914d\u91ca\u653e<\/strong>\uff0c\u82e5\u7a0b\u5e8f\u5458\u4e0d\u91ca\u653e\uff0c\u7a0b\u5e8f\u7ed3\u675f\u65f6<strong>\u7531\u64cd\u4f5c\u7cfb\u7edf\u56de\u6536<\/strong><\/p>\n\n\n\n<p>\u5728C++\u4e2d\u4e3b\u8981\u5229\u7528new\u5728\u5806\u533a\u5f00\u8f9f\u5185\u5b58<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">int* func()<br>{<br>    int* a = new int(10);<br>    return a;<br>}<br>\u200b<br>int main() {<br>\u200b<br>    int *p = func();<br>\u200b<br>    cout &lt;&lt; *p &lt;&lt; endl;<br>    cout &lt;&lt; *p &lt;&lt; endl;<br> &nbsp; &nbsp;<br>    system(\"pause\");<br>\u200b<br>    return 0;<br>}<\/pre>\n\n\n\n<p><strong>\u603b\u7ed3\uff1a<\/strong><\/p>\n\n\n\n<p>\u5806\u533a\u6570\u636e\u7531\u7a0b\u5e8f\u5458\u7ba1\u7406\u5f00\u8f9f\u548c\u91ca\u653e<\/p>\n\n\n\n<p>\u5806\u533a\u6570\u636e\u5229\u7528new\u5173\u952e\u5b57\u8fdb\u884c\u5f00\u8f9f\u5185\u5b58<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.3 new\u64cd\u4f5c\u7b26<\/h3>\n\n\n\n<p>C++\u4e2d\u5229\u7528<code>new<\/code>\u64cd\u4f5c\u7b26\u5728\u5806\u533a\u5f00\u8f9f\u6570\u636e<\/p>\n\n\n\n<p>\u5806\u533a\u5f00\u8f9f\u7684\u6570\u636e\uff0c\u7531\u7a0b\u5e8f\u5458\u624b\u52a8\u5f00\u8f9f\uff0c\u624b\u52a8\u91ca\u653e\uff0c\u91ca\u653e\u5229\u7528\u64cd\u4f5c\u7b26<code>delete<\/code><\/p>\n\n\n\n<p>\u8bed\u6cd5\uff1a<code>new \u6570\u636e\u7c7b\u578b<\/code><\/p>\n\n\n\n<p>\u5229\u7528new\u521b\u5efa\u7684\u6570\u636e\uff0c\u4f1a\u8fd4\u56de\u8be5\u6570\u636e\u5bf9\u5e94\u7684\u7c7b\u578b\u7684\u6307\u9488<\/p>\n\n\n\n<p><strong>\u793a\u4f8b1\uff1a \u57fa\u672c\u8bed\u6cd5<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">int* func()<br>{<br>    int* a = new int(10);<br>    return a;<br>}<br>\u200b<br>int main() {<br>\u200b<br>    int *p = func();<br>\u200b<br>    cout &lt;&lt; *p &lt;&lt; endl;<br>    cout &lt;&lt; *p &lt;&lt; endl;<br>\u200b<br>    \/\/\u5229\u7528delete\u91ca\u653e\u5806\u533a\u6570\u636e<br>    delete p;<br>\u200b<br>    \/\/cout &lt;&lt; *p &lt;&lt; endl; \/\/\u62a5\u9519\uff0c\u91ca\u653e\u7684\u7a7a\u95f4\u4e0d\u53ef\u8bbf\u95ee<br>\u200b<br>    system(\"pause\");<br>\u200b<br>    return 0;<br>}<\/pre>\n\n\n\n<p><strong>\u793a\u4f8b2\uff1a\u5f00\u8f9f\u6570\u7ec4<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u5806\u533a\u5f00\u8f9f\u6570\u7ec4<br>int main() {<br>\u200b<br>    int* arr = new int[10];<br>\u200b<br>    for (int i = 0; i &lt; 10; i++)<br>    {<br>        arr[i] = i + 100;<br>    }<br>\u200b<br>    for (int i = 0; i &lt; 10; i++)<br>    {<br>        cout &lt;&lt; arr[i] &lt;&lt; endl;<br>    }<br>    \/\/\u91ca\u653e\u6570\u7ec4 delete \u540e\u52a0 []<br>    delete[] arr;<br>\u200b<br>    system(\"pause\");<br>\u200b<br>    return 0;<br>}<br>\u200b<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2 \u5f15\u7528<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 \u5f15\u7528\u7684\u57fa\u672c\u4f7f\u7528<\/h3>\n\n\n\n<p><strong>\u4f5c\u7528\uff1a <\/strong>\u7ed9\u53d8\u91cf\u8d77\u522b\u540d<\/p>\n\n\n\n<p><strong>\u8bed\u6cd5\uff1a<\/strong> <code>\u6570\u636e\u7c7b\u578b &amp;\u522b\u540d = \u539f\u540d<\/code><\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">int main() {<br>\u200b<br>    int a = 10;<br>    int &amp;b = a;<br>\u200b<br>    cout &lt;&lt; \"a = \" &lt;&lt; a &lt;&lt; endl;<br>    cout &lt;&lt; \"b = \" &lt;&lt; b &lt;&lt; endl;<br>\u200b<br>    b = 100;<br>\u200b<br>    cout &lt;&lt; \"a = \" &lt;&lt; a &lt;&lt; endl;<br>    cout &lt;&lt; \"b = \" &lt;&lt; b &lt;&lt; endl;<br>\u200b<br>    system(\"pause\");<br>\u200b<br>    return 0;<br>}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2.2 \u5f15\u7528\u6ce8\u610f\u4e8b\u9879<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5f15\u7528\u5fc5\u987b\u521d\u59cb\u5316<\/li>\n\n\n\n<li>\u5f15\u7528\u5728\u521d\u59cb\u5316\u540e\uff0c\u4e0d\u53ef\u4ee5\u6539\u53d8<\/li>\n<\/ul>\n\n\n\n<p>\u793a\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">int main() {<br>\u200b<br>    int a = 10;<br>    int b = 20;<br>    \/\/int &amp;c; \/\/\u9519\u8bef\uff0c\u5f15\u7528\u5fc5\u987b\u521d\u59cb\u5316<br>    int &amp;c = a; \/\/\u4e00\u65e6\u521d\u59cb\u5316\u540e\uff0c\u5c31\u4e0d\u53ef\u4ee5\u66f4\u6539<br>    c = b; \/\/\u8fd9\u662f\u8d4b\u503c\u64cd\u4f5c\uff0c\u4e0d\u662f\u66f4\u6539\u5f15\u7528<br>\u200b<br>    cout &lt;&lt; \"a = \" &lt;&lt; a &lt;&lt; endl;<br>    cout &lt;&lt; \"b = \" &lt;&lt; b &lt;&lt; endl;<br>    cout &lt;&lt; \"c = \" &lt;&lt; c &lt;&lt; endl;<br>\u200b<br>    system(\"pause\");<br>\u200b<br>    return 0;<br>}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2.3 \u5f15\u7528\u505a\u51fd\u6570\u53c2\u6570<\/h3>\n\n\n\n<p><strong>\u4f5c\u7528\uff1a<\/strong>\u51fd\u6570\u4f20\u53c2\u65f6\uff0c\u53ef\u4ee5\u5229\u7528\u5f15\u7528\u7684\u6280\u672f\u8ba9\u5f62\u53c2\u4fee\u9970\u5b9e\u53c2<\/p>\n\n\n\n<p><strong>\u4f18\u70b9\uff1a<\/strong>\u53ef\u4ee5\u7b80\u5316\u6307\u9488\u4fee\u6539\u5b9e\u53c2<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/1. \u503c\u4f20\u9012<br>void mySwap01(int a, int b) {<br>    int temp = a;<br>    a = b;<br>    b = temp;<br>}<br>\u200b<br>\/\/2. \u5730\u5740\u4f20\u9012<br>void mySwap02(int* a, int* b) {<br>    int temp = *a;<br>    *a = *b;<br>    *b = temp;<br>}<br>\u200b<br>\/\/3. \u5f15\u7528\u4f20\u9012<br>void mySwap03(int&amp; a, int&amp; b) {<br>    int temp = a;<br>    a = b;<br>    b = temp;<br>}<br>\u200b<br>int main() {<br>\u200b<br>    int a = 10;<br>    int b = 20;<br>\u200b<br>    mySwap01(a, b);<br>    cout &lt;&lt; \"a:\" &lt;&lt; a &lt;&lt; \" b:\" &lt;&lt; b &lt;&lt; endl;<br>\u200b<br>    mySwap02(&amp;a, &amp;b);<br>    cout &lt;&lt; \"a:\" &lt;&lt; a &lt;&lt; \" b:\" &lt;&lt; b &lt;&lt; endl;<br>\u200b<br>    mySwap03(a, b);<br>    cout &lt;&lt; \"a:\" &lt;&lt; a &lt;&lt; \" b:\" &lt;&lt; b &lt;&lt; endl;<br>\u200b<br>    system(\"pause\");<br>\u200b<br>    return 0;<br>}<br>\u200b<\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u603b\u7ed3\uff1a\u901a\u8fc7\u5f15\u7528\u53c2\u6570\u4ea7\u751f\u7684\u6548\u679c\u540c\u6309\u5730\u5740\u4f20\u9012\u662f\u4e00\u6837\u7684\u3002\u5f15\u7528\u7684\u8bed\u6cd5\u66f4\u6e05\u695a\u7b80\u5355<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">2.4 \u5f15\u7528\u505a\u51fd\u6570\u8fd4\u56de\u503c<\/h3>\n\n\n\n<p>\u4f5c\u7528\uff1a\u5f15\u7528\u662f\u53ef\u4ee5\u4f5c\u4e3a\u51fd\u6570\u7684\u8fd4\u56de\u503c\u5b58\u5728\u7684<\/p>\n\n\n\n<p>\u6ce8\u610f\uff1a<strong>\u4e0d\u80fd\u8fd4\u56de\u5c40\u90e8\u53d8\u91cf\u5f15\u7528<\/strong>\uff08\u56e0\u4e3a\u5c40\u90e8\u53d8\u91cf\u662f\u5728\u6808\u4e0a\u5206\u914d\u7684\uff0c\u51fd\u6570\u6267\u884c\u5b8c\u6bd5\u540e\u5b83\u7684\u5185\u5b58\u4f1a\u88ab\u91ca\u653e\uff0c\u8fd4\u56de\u5bf9\u5b83\u7684\u5f15\u7528\u540e\uff0c\u4f1a\u6307\u5411\u5df2\u7ecf\u88ab\u91ca\u653e\u7684\u5185\u5b58\uff09<\/p>\n\n\n\n<p>\u7528\u6cd5\uff1a\u51fd\u6570\u8c03\u7528\u4f5c\u4e3a\u5de6\u503c<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u8fd4\u56de\u5c40\u90e8\u53d8\u91cf\u5f15\u7528<br>int&amp; test01() {<br>\tint a = 10; \/\/\u5c40\u90e8\u53d8\u91cf<br>\treturn a;<br>}<br><br>\/\/\u8fd4\u56de\u9759\u6001\u53d8\u91cf\u5f15\u7528<br>int&amp; test02() {<br>\tstatic int a = 20;<br>\treturn a;<br>}<br><br>int main() {<br><br>\t\/\/\u4e0d\u80fd\u8fd4\u56de\u5c40\u90e8\u53d8\u91cf\u7684\u5f15\u7528<br>\tint&amp; ref = test01();<br>\tcout &lt;&lt; \"ref = \" &lt;&lt; ref &lt;&lt; endl;<br>\tcout &lt;&lt; \"ref = \" &lt;&lt; ref &lt;&lt; endl;<br><br>\t\/\/\u5982\u679c\u51fd\u6570\u4f5c\u4e3a\u5de6\u503c\uff0c\u90a3\u4e48\u5fc5\u987b\u8fd4\u56de\u5f15\u7528\uff0c\u56e0\u4e3a\u53f3\u503c\u65e0\u6cd5\u88ab\u4fee\u6539<br>\tint&amp; ref2 = test02();<br>\tcout &lt;&lt; \"ref2 = \" &lt;&lt; ref2 &lt;&lt; endl;<br>\tcout &lt;&lt; \"ref2 = \" &lt;&lt; ref2 &lt;&lt; endl;<br><br>\ttest02() = 1000;<br><br>\tcout &lt;&lt; \"ref2 = \" &lt;&lt; ref2 &lt;&lt; endl;<br>\tcout &lt;&lt; \"ref2 = \" &lt;&lt; ref2 &lt;&lt; endl;<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2.5 \u5f15\u7528\u7684\u672c\u8d28<\/h3>\n\n\n\n<p>\u672c\u8d28\uff1a<strong>\u5f15\u7528\u7684\u672c\u8d28\u662f\u5728C++\u5185\u90e8\u5b9e\u73b0\u4e00\u4e2a\u6307\u9488\u5e38\u91cf<\/strong><\/p>\n\n\n\n<p>\u8bb2\u89e3\u793a\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u53d1\u73b0\u662f\u5f15\u7528\uff0c\u8f6c\u6362\u4e3a int* const ref = &amp;a;<br>void func(int&amp; ref){<br>\tref = 100; \/\/ ref\u662f\u5f15\u7528\uff0c\u8f6c\u6362\u4e3a*ref = 100<br>}<br>int main(){<br>\tint a = 10;<br>    <br>    \/\/\u81ea\u52a8\u8f6c\u6362\u4e3a int* const ref = &amp;a; \u6307\u9488\u5e38\u91cf\u662f\u6307\u9488\u6307\u5411\u4e0d\u53ef\u6539\uff0c\u4e5f\u8bf4\u660e\u4e3a\u4ec0\u4e48\u5f15\u7528\u4e0d\u53ef\u66f4\u6539<br>\tint&amp; ref = a; <br>\tref = 20; \/\/\u5185\u90e8\u53d1\u73b0ref\u662f\u5f15\u7528\uff0c\u81ea\u52a8\u5e2e\u6211\u4eec\u8f6c\u6362\u4e3a: *ref = 20;<br>    <br>\tcout &lt;&lt; \"a:\" &lt;&lt; a &lt;&lt; endl;<br>\tcout &lt;&lt; \"ref:\" &lt;&lt; ref &lt;&lt; endl;<br>    <br>\tfunc(a);<br>\treturn 0;<br>}<\/pre>\n\n\n\n<p>\u7ed3\u8bba\uff1aC++\u63a8\u8350\u7528\u5f15\u7528\u6280\u672f\uff0c\u56e0\u4e3a\u8bed\u6cd5\u65b9\u4fbf\uff0c\u5f15\u7528\u672c\u8d28\u662f\u6307\u9488\u5e38\u91cf\uff0c\u4f46\u662f\u6240\u6709\u7684\u6307\u9488\u64cd\u4f5c\u7f16\u8bd1\u5668\u90fd\u5e2e\u6211\u4eec\u505a\u4e86<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.6 \u5e38\u91cf\u5f15\u7528<\/h3>\n\n\n\n<p><strong>\u4f5c\u7528\uff1a<\/strong>\u5e38\u91cf\u5f15\u7528\u4e3b\u8981\u7528\u6765\u4fee\u9970\u5f62\u53c2\uff0c\u9632\u6b62\u8bef\u64cd\u4f5c <\/p>\n\n\n\n<p>\u5728\u51fd\u6570\u5f62\u53c2\u5217\u8868\u4e2d\uff0c\u53ef\u4ee5\u52a0<code>const<\/code>\u4fee\u9970\u5f62\u53c2\uff0c\u9632\u6b62\u5f62\u53c2\u6539\u53d8\u5b9e\u53c2<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u5f15\u7528\u4f7f\u7528\u7684\u573a\u666f\uff0c\u901a\u5e38\u7528\u6765\u4fee\u9970\u5f62\u53c2<br>void showValue(const int&amp; v) {<br>\t\/\/v += 10;<br>\tcout &lt;&lt; v &lt;&lt; endl;<br>}<br><br>int main() {<br><br>\t\/\/int&amp; ref = 10;  \u5f15\u7528\u672c\u8eab\u9700\u8981\u4e00\u4e2a\u5408\u6cd5\u7684\u5185\u5b58\u7a7a\u95f4\uff0c\u56e0\u6b64\u8fd9\u884c\u9519\u8bef<br>\t\/\/\u52a0\u5165const\u5c31\u53ef\u4ee5\u4e86\uff0c\u7f16\u8bd1\u5668\u4f18\u5316\u4ee3\u7801\uff0cint temp = 10; const int&amp; ref = temp;<br>\tconst int&amp; ref = 10;<br><br>\t\/\/ref = 100;  \/\/\u52a0\u5165const\u540e\u4e0d\u53ef\u4ee5\u4fee\u6539\u53d8\u91cf<br>\tcout &lt;&lt; ref &lt;&lt; endl;<br><br>\t\/\/\u51fd\u6570\u4e2d\u5229\u7528\u5e38\u91cf\u5f15\u7528\u9632\u6b62\u8bef\u64cd\u4f5c\u4fee\u6539\u5b9e\u53c2<br>\tint a = 10;<br>\tshowValue(a);<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3 \u51fd\u6570\u63d0\u9ad8<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 \u51fd\u6570\u9ed8\u8ba4\u53c2\u6570<\/h3>\n\n\n\n<p>\u5728C++\u4e2d\uff0c\u51fd\u6570\u7684\u5f62\u53c2\u5217\u8868\u4e2d\u7684\u5f62\u53c2\u662f\u53ef\u4ee5\u6709\u9ed8\u8ba4\u503c\u7684 <\/p>\n\n\n\n<p>\u8bed\u6cd5\uff1a<code>\u8fd4\u56de\u503c\u7c7b\u578b \u51fd\u6570\u540d(\u53c2\u6570 = \u9ed8\u8ba4\u503c) {}<\/code><\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">int func(int a, int b = 10, int c = 10) {<br>\treturn a + b + c;<br>}<br><br>\/\/1. \u5982\u679c\u67d0\u4e2a\u4f4d\u7f6e\u53c2\u6570\u6709\u9ed8\u8ba4\u503c\uff0c\u90a3\u4e48\u4ece\u8fd9\u4e2a\u4f4d\u7f6e\u5f80\u540e\uff0c\u4ece\u5de6\u5411\u53f3\uff0c\u5fc5\u987b\u90fd\u8981\u6709\u9ed8\u8ba4\u503c<br>\/\/2. \u5982\u679c\u51fd\u6570\u58f0\u660e\u6709\u9ed8\u8ba4\u503c\uff0c\u51fd\u6570\u5b9e\u73b0\u7684\u65f6\u5019\u5c31\u4e0d\u80fd\u6709\u9ed8\u8ba4\u53c2\u6570<br>int func2(int a = 10, int b = 10);<br>int func2(int a, int b) {<br>\treturn a + b;<br>}<br><br>int main() {<br><br>\tcout &lt;&lt; \"ret = \" &lt;&lt; func(20, 20) &lt;&lt; endl;<br>\tcout &lt;&lt; \"ret = \" &lt;&lt; func(100) &lt;&lt; endl;<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 \u51fd\u6570\u5360\u4f4d\u53c2\u6570<\/h3>\n\n\n\n<p>C++\u4e2d\u51fd\u6570\u7684\u5f62\u53c2\u5217\u8868\u91cc\u53ef\u4ee5\u6709\u5360\u4f4d\u53c2\u6570\uff0c\u7528\u6765\u505a\u5360\u4f4d\uff0c\u8c03\u7528\u51fd\u6570\u65f6\u5fc5\u987b\u586b\u8865\u8be5\u4f4d\u7f6e<\/p>\n\n\n\n<p><strong>\u8bed\u6cd5\uff1a<\/strong> <code>\u8fd4\u56de\u503c\u7c7b\u578b \u51fd\u6570\u540d(\u6570\u636e\u7c7b\u578b) {}<\/code><\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u51fd\u6570\u5360\u4f4d\u53c2\u6570\uff0c\u5360\u4f4d\u53c2\u6570\u4e5f\u53ef\u4ee5\u6709\u9ed8\u8ba4\u53c2\u6570<br>void func(int a, int) {<br>\tcout &lt;&lt; \"this is func\" &lt;&lt; endl;<br>}<br><br>int main() {<br><br>\tfunc(10,10); \/\/\u5360\u4f4d\u53c2\u6570\u5fc5\u987b\u586b\u8865<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3.3 \u51fd\u6570\u91cd\u8f7d<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">3.3.1 \u51fd\u6570\u91cd\u8f7d\u6982\u8ff0<\/h4>\n\n\n\n<p><strong>\u4f5c\u7528\uff1a<\/strong>\u51fd\u6570\u540d\u53ef\u4ee5\u76f8\u540c\uff0c\u63d0\u9ad8\u590d\u7528\u6027<\/p>\n\n\n\n<p><strong>\u51fd\u6570\u91cd\u8f7d\u6ee1\u8db3\u6761\u4ef6\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u540c\u4e00\u4e2a\u4f5c\u7528\u57df\u4e0b<\/li>\n\n\n\n<li>\u51fd\u6570<strong>\u540d\u79f0\u76f8\u540c<\/strong><\/li>\n\n\n\n<li>\u51fd\u6570<strong>\u53c2\u6570\u7c7b\u578b\u4e0d\u540c<\/strong>\u6216\u8005<strong>\u4e2a\u6570\u4e0d\u540c<\/strong>\u6216\u8005<strong>\u987a\u5e8f\u4e0d\u540c<\/strong><\/li>\n<\/ul>\n\n\n\n<p><strong>\u6ce8\u610f<\/strong>\uff1a\u51fd\u6570\u7684\u8fd4\u56de\u503c\u4e0d\u53ef\u4ee5\u4f5c\u4e3a\u51fd\u6570\u91cd\u8f7d\u7684\u6761\u4ef6<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u51fd\u6570\u91cd\u8f7d\u9700\u8981\u51fd\u6570\u90fd\u5728\u540c\u4e00\u4e2a\u4f5c\u7528\u57df\u4e0b<br>void func()<br>{<br>\tcout &lt;&lt; \"func \u7684\u8c03\u7528\uff01\" &lt;&lt; endl;<br>}<br>void func(int a)<br>{<br>\tcout &lt;&lt; \"func (int a) \u7684\u8c03\u7528\uff01\" &lt;&lt; endl;<br>}<br>void func(double a)<br>{<br>\tcout &lt;&lt; \"func (double a)\u7684\u8c03\u7528\uff01\" &lt;&lt; endl;<br>}<br>void func(int a ,double b)<br>{<br>\tcout &lt;&lt; \"func (int a ,double b) \u7684\u8c03\u7528\uff01\" &lt;&lt; endl;<br>}<br>void func(double a ,int b)<br>{<br>\tcout &lt;&lt; \"func (double a ,int b)\u7684\u8c03\u7528\uff01\" &lt;&lt; endl;<br>}<br><br>\/\/\u51fd\u6570\u8fd4\u56de\u503c\u4e0d\u53ef\u4ee5\u4f5c\u4e3a\u51fd\u6570\u91cd\u8f7d\u6761\u4ef6<br>\/\/int func(double a, int b)<br>\/\/{<br>\/\/\tcout &lt;&lt; \"func (double a ,int b)\u7684\u8c03\u7528\uff01\" &lt;&lt; endl;<br>\/\/}<br><br><br>int main() {<br><br>\tfunc();<br>\tfunc(10);<br>\tfunc(3.14);<br>\tfunc(10,3.14);<br>\tfunc(3.14 , 10);<br>\t<br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">3.3.2 \u51fd\u6570\u91cd\u8f7d\u6ce8\u610f\u4e8b\u9879<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5f15\u7528\u4f5c\u4e3a\u91cd\u8f7d\u6761\u4ef6<\/li>\n\n\n\n<li>\u51fd\u6570\u91cd\u8f7d\u78b0\u5230\u51fd\u6570\u9ed8\u8ba4\u53c2\u6570<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u51fd\u6570\u91cd\u8f7d\u6ce8\u610f\u4e8b\u9879<br>\/\/1\u3001\u5f15\u7528\u4f5c\u4e3a\u91cd\u8f7d\u6761\u4ef6<br><br>void func(int &amp;a)<br>{<br>\tcout &lt;&lt; \"func (int &amp;a) \u8c03\u7528 \" &lt;&lt; endl;<br>}<br><br>void func(const int &amp;a)<br>{<br>\tcout &lt;&lt; \"func (const int &amp;a) \u8c03\u7528 \" &lt;&lt; endl;<br>}<br><br><br>\/\/2\u3001\u51fd\u6570\u91cd\u8f7d\u78b0\u5230\u51fd\u6570\u9ed8\u8ba4\u53c2\u6570<br><br>void func2(int a, int b = 10)<br>{<br>\tcout &lt;&lt; \"func2(int a, int b = 10) \u8c03\u7528\" &lt;&lt; endl;<br>}<br><br>void func2(int a)<br>{<br>\tcout &lt;&lt; \"func2(int a) \u8c03\u7528\" &lt;&lt; endl;<br>}<br><br>int main() {<br>\t<br>\tint a = 10;<br>\tfunc(a); \/\/\u8c03\u7528\u65e0const<br>\tfunc(10);\/\/\u8c03\u7528\u6709const<br><br><br>\t\/\/func2(10); \/\/\u78b0\u5230\u9ed8\u8ba4\u53c2\u6570\u4ea7\u751f\u6b67\u4e49\uff0c\u9700\u8981\u907f\u514d<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4<\/strong> \u7c7b\u548c\u5bf9\u8c61 <\/h2>\n\n\n\n<p>C++\u9762\u5411\u5bf9\u8c61\u7684\u4e09\u5927\u7279\u6027\u4e3a\uff1a<strong>\u5c01\u88c5<\/strong>\u3001<strong>\u7ee7\u627f<\/strong>\u3001<strong>\u591a\u6001<\/strong><\/p>\n\n\n\n<p>C++\u8ba4\u4e3a\u4e07\u4e8b\u4e07\u7269\u90fd\u7686\u4e3a\u5bf9\u8c61\uff0c\u5bf9\u8c61\u4e0a\u6709\u5176\u5c5e\u6027\u548c\u884c\u4e3a<\/p>\n\n\n\n<p><strong>\u4f8b\u5982\uff1a<\/strong><\/p>\n\n\n\n<p>\u4eba\u53ef\u4ee5\u4f5c\u4e3a\u5bf9\u8c61\uff0c\u5c5e\u6027\u6709\u59d3\u540d\u3001\u5e74\u9f84\u3001\u8eab\u9ad8\u3001\u4f53\u91cd&#8230;\uff0c\u884c\u4e3a\u6709\u8d70\u3001\u8dd1\u3001\u8df3\u3001\u5403\u996d\u3001\u5531\u6b4c&#8230;<\/p>\n\n\n\n<p>\u8f66\u4e5f\u53ef\u4ee5\u4f5c\u4e3a\u5bf9\u8c61\uff0c\u5c5e\u6027\u6709\u8f6e\u80ce\u3001\u65b9\u5411\u76d8\u3001\u8f66\u706f&#8230;,\u884c\u4e3a\u6709\u8f7d\u4eba\u3001\u653e\u97f3\u4e50\u3001\u5f00\u7a7a\u8c03&#8230;<\/p>\n\n\n\n<p>\u5177\u6709\u76f8\u540c\u6027\u8d28\u7684<strong>\u5bf9\u8c61<\/strong>\uff0c\u6211\u4eec\u53ef\u4ee5\u62bd\u8c61\u79f0\u4e3a<strong>\u7c7b<\/strong>\uff0c\u4eba\u5c5e\u4e8e\u4eba\u7c7b\uff0c\u8f66\u5c5e\u4e8e\u8f66\u7c7b<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.1 \u5c01\u88c5<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">4.1.1 \u5c01\u88c5\u7684\u610f\u4e49<\/h4>\n\n\n\n<p>\u5c01\u88c5\u662fC++\u9762\u5411\u5bf9\u8c61\u4e09\u5927\u7279\u6027\u4e4b\u4e00<\/p>\n\n\n\n<p>\u5c01\u88c5\u7684\u610f\u4e49\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5c06\u5c5e\u6027\u548c\u884c\u4e3a\u4f5c\u4e3a\u4e00\u4e2a\u6574\u4f53\uff0c\u8868\u73b0\u751f\u6d3b\u4e2d\u7684\u4e8b\u7269<\/li>\n\n\n\n<li>\u5c06\u5c5e\u6027\u548c\u884c\u4e3a\u52a0\u4ee5\u6743\u9650\u63a7\u5236<\/li>\n<\/ul>\n\n\n\n<p><strong>\u5c01\u88c5\u610f\u4e49\u4e00\uff1a<\/strong><\/p>\n\n\n\n<p>\u5728\u8bbe\u8ba1\u7c7b\u7684\u65f6\u5019\uff0c\u5c5e\u6027\u548c\u884c\u4e3a\u5199\u5728\u4e00\u8d77\uff0c\u8868\u73b0\u4e8b\u7269<\/p>\n\n\n\n<p><strong>\u8bed\u6cd5\uff1a<\/strong> <code>class \u7c7b\u540d{ \u8bbf\u95ee\u6743\u9650\uff1a \u5c5e\u6027 \/ \u884c\u4e3a };<\/code><\/p>\n\n\n\n<p><strong>\u793a\u4f8b1\uff1a<\/strong>\u8bbe\u8ba1\u4e00\u4e2a\u5706\u7c7b\uff0c\u6c42\u5706\u7684\u5468\u957f<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\u4ee3\u7801\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u5706\u5468\u7387<br>const double PI = 3.14;<br><br>\/\/1\u3001\u5c01\u88c5\u7684\u610f\u4e49<br>\/\/\u5c06\u5c5e\u6027\u548c\u884c\u4e3a\u4f5c\u4e3a\u4e00\u4e2a\u6574\u4f53\uff0c\u7528\u6765\u8868\u73b0\u751f\u6d3b\u4e2d\u7684\u4e8b\u7269<br><br>\/\/\u5c01\u88c5\u4e00\u4e2a\u5706\u7c7b\uff0c\u6c42\u5706\u7684\u5468\u957f<br>\/\/class\u4ee3\u8868\u8bbe\u8ba1\u4e00\u4e2a\u7c7b\uff0c\u540e\u9762\u8ddf\u7740\u7684\u662f\u7c7b\u540d<br>class Circle<br>{<br>public:  \/\/\u8bbf\u95ee\u6743\u9650  \u516c\u5171\u7684\u6743\u9650<br><br>\t\/\/\u5c5e\u6027<br>\tint m_r;\/\/\u534a\u5f84<br><br>\t\/\/\u884c\u4e3a<br>\t\/\/\u83b7\u53d6\u5230\u5706\u7684\u5468\u957f<br>\tdouble calculateZC()<br>\t{<br>\t\t\/\/2 * pi  * r<br>\t\t\/\/\u83b7\u53d6\u5706\u7684\u5468\u957f<br>\t\treturn  2 * PI * m_r;<br>\t}<br>};<br><br>int main() {<br><br>\t\/\/\u901a\u8fc7\u5706\u7c7b\uff0c\u521b\u5efa\u5706\u7684\u5bf9\u8c61<br>\t\/\/ c1\u5c31\u662f\u4e00\u4e2a\u5177\u4f53\u7684\u5706<br>\tCircle c1;<br>\tc1.m_r = 10; \/\/\u7ed9\u5706\u5bf9\u8c61\u7684\u534a\u5f84 \u8fdb\u884c\u8d4b\u503c\u64cd\u4f5c<br><br>\t\/\/2 * pi * 10 = = 62.8<br>\tcout &lt;&lt; \"\u5706\u7684\u5468\u957f\u4e3a\uff1a \" &lt;&lt; c1.calculateZC() &lt;&lt; endl;<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<p><strong>\u793a\u4f8b2\uff1a<\/strong>\u8bbe\u8ba1\u4e00\u4e2a\u5b66\u751f\u7c7b\uff0c\u5c5e\u6027\u6709\u59d3\u540d\u548c\u5b66\u53f7\uff0c\u53ef\u4ee5\u7ed9\u59d3\u540d\u548c\u5b66\u53f7\u8d4b\u503c\uff0c\u53ef\u4ee5\u663e\u793a\u5b66\u751f\u7684\u59d3\u540d\u548c\u5b66\u53f7<\/p>\n\n\n\n<p><strong>\u793a\u4f8b2\u4ee3\u7801\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u5b66\u751f\u7c7b<br>class Student {<br>public:<br>\tvoid setName(string name) {<br>\t\tm_name = name;<br>\t}<br>\tvoid setID(int id) {<br>\t\tm_id = id;<br>\t}<br><br>\tvoid showStudent() {<br>\t\tcout &lt;&lt; \"name:\" &lt;&lt; m_name &lt;&lt; \" ID:\" &lt;&lt; m_id &lt;&lt; endl;<br>\t}<br>public:<br>\tstring m_name;<br>\tint m_id;<br>};<br><br>int main() {<br><br>\tStudent stu;<br>\tstu.setName(\"\u5fb7\u739b\u897f\u4e9a\");<br>\tstu.setID(250);<br>\tstu.showStudent();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<p><strong>\u5c01\u88c5\u610f\u4e49\u4e8c\uff1a<\/strong><\/p>\n\n\n\n<p>\u7c7b\u5728\u8bbe\u8ba1\u65f6\uff0c\u53ef\u4ee5\u628a\u5c5e\u6027\u548c\u884c\u4e3a\u653e\u5728\u4e0d\u540c\u7684\u6743\u9650\u4e0b\uff0c\u52a0\u4ee5\u63a7\u5236<\/p>\n\n\n\n<p>\u8bbf\u95ee\u6743\u9650\u6709\u4e09\u79cd\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>public \u516c\u5171\u6743\u9650\uff1a\u7c7b\u5185\u53ef\u4ee5\u8bbf\u95ee  \u7c7b\u5916\u53ef\u4ee5\u8bbf\u95ee<\/li>\n\n\n\n<li>protected \u4fdd\u62a4\u6743\u9650\uff1a\u7c7b\u5185\u53ef\u4ee5\u8bbf\u95ee  \u7c7b\u5916\u4e0d\u53ef\u4ee5\u8bbf\u95ee<\/li>\n\n\n\n<li>private \u79c1\u6709\u6743\u9650\uff1a\u7c7b\u5185\u53ef\u4ee5\u8bbf\u95ee  \u7c7b\u5916\u4e0d\u53ef\u4ee5\u8bbf\u95ee<\/li>\n<\/ol>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u4e09\u79cd\u6743\u9650<br><br>class Person<br>{<br>\t\/\/\u59d3\u540d  \u516c\u5171\u6743\u9650<br>public:<br>\tstring m_Name;<br><br>\t\/\/\u6c7d\u8f66  \u4fdd\u62a4\u6743\u9650<br>protected:<br>\tstring m_Car;<br><br>\t\/\/\u94f6\u884c\u5361\u5bc6\u7801  \u79c1\u6709\u6743\u9650<br>private:<br>\tint m_Password;<br><br>public:<br>\tvoid func()<br>\t{<br>\t\tm_Name = \"\u5f20\u4e09\";<br>\t\tm_Car = \"\u62d6\u62c9\u673a\";<br>\t\tm_Password = 123456;<br>\t}<br>};<br><br>int main() {<br><br>\tPerson p;<br>\tp.m_Name = \"\u674e\u56db\";<br>\t\/\/p.m_Car = \"\u5954\u9a70\";  \/\/\u4fdd\u62a4\u6743\u9650\u7c7b\u5916\u8bbf\u95ee\u4e0d\u5230<br>\t\/\/p.m_Password = 123; \/\/\u79c1\u6709\u6743\u9650\u7c7b\u5916\u8bbf\u95ee\u4e0d\u5230<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.1.2 struct\u548cclass\u533a\u522b<\/h4>\n\n\n\n<p>\u5728C++\u4e2d struct\u548cclass\u552f\u4e00\u7684<strong>\u533a\u522b<\/strong>\u5c31\u5728\u4e8e<strong>\u9ed8\u8ba4\u8bbf\u95ee\u6743\u9650\u4e0d\u540c<\/strong><\/p>\n\n\n\n<p>\u533a\u522b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>struct \u9ed8\u8ba4\u6743\u9650\u4e3a\u516c\u5171public<\/li>\n\n\n\n<li>class \u9ed8\u8ba4\u6743\u9650\u4e3a\u79c1\u6709private<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">class C1<br>{<br>\tint  m_A; \/\/\u9ed8\u8ba4\u662f\u79c1\u6709\u6743\u9650<br>};<br><br>struct C2<br>{<br>\tint m_A;  \/\/\u9ed8\u8ba4\u662f\u516c\u5171\u6743\u9650<br>};<br><br>int main() {<br><br>\tC1 c1;<br>\tc1.m_A = 10; \/\/\u9519\u8bef\uff0c\u8bbf\u95ee\u6743\u9650\u662f\u79c1\u6709<br><br>\tC2 c2;<br>\tc2.m_A = 10; \/\/\u6b63\u786e\uff0c\u8bbf\u95ee\u6743\u9650\u662f\u516c\u5171<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.1.3 \u6210\u5458\u5c5e\u6027\u8bbe\u7f6e\u4e3a\u79c1\u6709<\/h4>\n\n\n\n<p><strong>\u4f18\u70b91\uff1a<\/strong>\u5c06\u6240\u6709\u6210\u5458\u5c5e\u6027\u8bbe\u7f6e\u4e3a\u79c1\u6709\uff0c\u53ef\u4ee5\u81ea\u5df1\u63a7\u5236\u8bfb\u5199\u6743\u9650<\/p>\n\n\n\n<p><strong>\u4f18\u70b92\uff1a<\/strong>\u5bf9\u4e8e\u5199\u6743\u9650\uff0c\u6211\u4eec\u53ef\u4ee5\u68c0\u6d4b\u6570\u636e\u7684\u6709\u6548\u6027<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person {<br>public:<br><br>\t\/\/\u59d3\u540d\u8bbe\u7f6e\u53ef\u8bfb\u53ef\u5199<br>\tvoid setName(string name) {<br>\t\tm_Name = name;<br>\t}<br>\tstring getName()<br>\t{<br>\t\treturn m_Name;<br>\t}<br><br><br>\t\/\/\u83b7\u53d6\u5e74\u9f84 <br>\tint getAge() {<br>\t\treturn m_Age;<br>\t}<br>\t\/\/\u8bbe\u7f6e\u5e74\u9f84<br>\tvoid setAge(int age) {<br>\t\tif (age &lt; 0 || age &gt; 150) {<br>\t\t\tcout &lt;&lt; \"\u4f60\u4e2a\u8001\u5996\u7cbe!\" &lt;&lt; endl;<br>\t\t\treturn;<br>\t\t}<br>\t\tm_Age = age;<br>\t}<br><br>\t\/\/\u60c5\u4eba\u8bbe\u7f6e\u4e3a\u53ea\u5199<br>\tvoid setLover(string lover) {<br>\t\tm_Lover = lover;<br>\t}<br><br>private:<br>\tstring m_Name; \/\/\u53ef\u8bfb\u53ef\u5199  \u59d3\u540d<br>\t<br>\tint m_Age; \/\/\u53ea\u8bfb  \u5e74\u9f84<br><br>\tstring m_Lover; \/\/\u53ea\u5199  \u60c5\u4eba<br>};<br><br><br>int main() {<br><br>\tPerson p;<br>\t\/\/\u59d3\u540d\u8bbe\u7f6e<br>\tp.setName(\"\u5f20\u4e09\");<br>\tcout &lt;&lt; \"\u59d3\u540d\uff1a \" &lt;&lt; p.getName() &lt;&lt; endl;<br><br>\t\/\/\u5e74\u9f84\u8bbe\u7f6e<br>\tp.setAge(50);<br>\tcout &lt;&lt; \"\u5e74\u9f84\uff1a \" &lt;&lt; p.getAge() &lt;&lt; endl;<br><br>\t\/\/\u60c5\u4eba\u8bbe\u7f6e<br>\tp.setLover(\"null\");<br>\t\/\/cout &lt;&lt; \"\u60c5\u4eba\uff1a \" &lt;&lt; p.m_Lover &lt;&lt; endl;  \/\/\u53ea\u5199\u5c5e\u6027\uff0c\u4e0d\u53ef\u4ee5\u8bfb\u53d6<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4.2 \u5bf9\u8c61\u7684\u521d\u59cb\u5316\u548c\u6e05\u7406<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u751f\u6d3b\u4e2d\u6211\u4eec\u4e70\u7684\u7535\u5b50\u4ea7\u54c1\u90fd\u57fa\u672c\u4f1a\u6709\u51fa\u5382\u8bbe\u7f6e\uff0c\u5728\u67d0\u4e00\u5929\u6211\u4eec\u4e0d\u7528\u65f6\u4e5f\u4f1a\u5220\u9664\u4e00\u4e9b\u81ea\u5df1\u7684\u4fe1\u606f\u6570\u636e\u4fdd\u8bc1\u5b89\u5168<\/li>\n\n\n\n<li>C++\u4e2d\u7684\u9762\u5411\u5bf9\u8c61\u6765\u6e90\u4e8e\u751f\u6d3b\uff0c\u6bcf\u4e2a\u5bf9\u8c61\u4e5f\u90fd\u4f1a\u6709\u521d\u59cb\u8bbe\u7f6e\u4ee5\u53ca\u5bf9\u8c61\u9500\u6bc1\u524d\u7684\u6e05\u7406\u6570\u636e\u7684\u8bbe\u7f6e<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">4.2.1 \u6784\u9020\u51fd\u6570\u548c\u6790\u6784\u51fd\u6570<\/h4>\n\n\n\n<p>\u5bf9\u8c61\u7684<strong>\u521d\u59cb\u5316\u548c\u6e05\u7406<\/strong>\u662f\u4e24\u4e2a\u975e\u5e38\u91cd\u8981\u7684\u5b89\u5168\u95ee\u9898<\/p>\n\n\n\n<p>\u4e00\u4e2a\u5bf9\u8c61\u6216\u8005\u53d8\u91cf\u6ca1\u6709\u521d\u59cb\u72b6\u6001\uff0c\u5bf9\u5176\u4f7f\u7528\u540e\u679c\u662f\u672a\u77e5<\/p>\n\n\n\n<p>\u540c\u6837\u7684\u4f7f\u7528\u5b8c\u4e00\u4e2a\u5bf9\u8c61\u6216\u53d8\u91cf\uff0c\u6ca1\u6709\u53ca\u65f6\u6e05\u7406\uff0c\u4e5f\u4f1a\u9020\u6210\u4e00\u5b9a\u7684\u5b89\u5168\u95ee\u9898<\/p>\n\n\n\n<p>C++\u5229\u7528<strong>\u6784\u9020\u51fd\u6570<\/strong>\u548c<strong>\u6790\u6784\u51fd\u6570<\/strong>\u89e3\u51b3\u4e0a\u8ff0\u95ee\u9898\uff0c\u8fd9\u4e24\u4e2a\u51fd\u6570\u5c06\u4f1a\u88ab\u7f16\u8bd1\u5668\u81ea\u52a8\u8c03\u7528\uff0c\u5b8c\u6210\u5bf9\u8c61\u521d\u59cb\u5316\u548c\u6e05\u7406\u5de5\u4f5c<\/p>\n\n\n\n<p>\u5bf9\u8c61\u7684\u521d\u59cb\u5316\u548c\u6e05\u7406\u5de5\u4f5c\u662f\u7f16\u8bd1\u5668\u5f3a\u5236\u6211\u4eec\u8981\u505a\u7684\u4e8b\u60c5\uff0c\u56e0\u6b64\u5982\u679c\u6211\u4eec<strong>\u4e0d\u63d0\u4f9b\u6784\u9020\u548c\u6790\u6784<strong>\u51fd\u6570<\/strong>\uff0c\u7f16\u8bd1\u5668\u4f1a\u63d0\u4f9b<\/strong><\/p>\n\n\n\n<p><strong>\u7f16\u8bd1\u5668\u63d0\u4f9b\u7684\u6784\u9020\u51fd\u6570\u548c\u6790\u6784\u51fd\u6570\u662f\u7a7a\u5b9e\u73b0 <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6784\u9020\u51fd\u6570\uff1a\u4e3b\u8981\u4f5c\u7528\u5728\u4e8e<strong>\u521b\u5efa\u5bf9\u8c61<\/strong>\u65f6\u4e3a\u5bf9\u8c61\u7684\u6210\u5458\u5c5e\u6027\u8d4b\u503c\uff0c\u6784\u9020\u51fd\u6570\u7531\u7f16\u8bd1\u5668\u81ea\u52a8\u8c03\u7528\uff0c\u65e0\u987b\u624b\u52a8\u8c03\u7528 <\/li>\n\n\n\n<li>\u6790\u6784\u51fd\u6570\uff1a\u4e3b\u8981\u4f5c\u7528\u5728\u4e8e<strong>\u5bf9\u8c61\u9500\u6bc1<\/strong>\u524d\u7cfb\u7edf\u81ea\u52a8\u8c03\u7528\uff0c\u6267\u884c\u4e00\u4e9b\u6e05\u7406\u5de5\u4f5c <\/li>\n<\/ul>\n\n\n\n<p><strong>\u6784\u9020\u51fd\u6570\u8bed\u6cd5\uff1a<\/strong><code>\u7c7b\u540d(){}<\/code><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u6784\u9020\u51fd\u6570\u6ca1\u6709\u8fd4\u56de\u503c\u4e5f\u4e0d\u5199void<\/li>\n\n\n\n<li>\u51fd\u6570\u540d\u79f0\u4e0e\u7c7b\u540d\u76f8\u540c<\/li>\n\n\n\n<li>\u6784\u9020\u51fd\u6570\u53ef\u4ee5\u6709\u53c2\u6570\uff0c\u56e0\u6b64\u53ef\u4ee5\u91cd\u8f7d<\/li>\n\n\n\n<li>\u7a0b\u5e8f\u5728\u8c03\u7528\u5bf9\u8c61\u65f6\u4f1a\u81ea\u52a8\u8c03\u7528\u6784\u9020\u51fd\u6570\uff0c\u65e0\u987b\u624b\u52a8\u8c03\u7528\uff0c\u800c\u4e14\u53ea\u4f1a\u8c03\u7528\u4e00\u6b21<\/li>\n<\/ol>\n\n\n\n<p><strong>\u6790\u6784\u51fd\u6570\u8bed\u6cd5\uff1a<\/strong> <code>~\u7c7b\u540d(){}<\/code><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u6790\u6784\u51fd\u6570\u6ca1\u6709\u8fd4\u56de\u503c\u4e5f\u4e0d\u5199void<\/li>\n\n\n\n<li>\u51fd\u6570\u540d\u79f0\u4e0e\u7c7b\u540d\u76f8\u540c\uff0c\u5728\u540d\u79f0\u524d\u52a0\u4e0a\u7b26\u53f7 ~<\/li>\n\n\n\n<li>\u6790\u6784\u51fd\u6570\u4e0d\u53ef\u4ee5\u6709\u53c2\u6570\uff0c\u56e0\u6b64\u4e0d\u53ef\u4ee5\u91cd\u8f7d<\/li>\n\n\n\n<li>\u7a0b\u5e8f\u5728\u5bf9\u8c61\u9500\u6bc1\u524d\u4f1a\u81ea\u52a8\u8c03\u7528\u6790\u6784\u51fd\u6570\uff0c\u65e0\u987b\u624b\u52a8\u8c03\u7528\uff0c\u800c\u4e14\u53ea\u4f1a\u8c03\u7528\u4e00\u6b21<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person<br>{<br>public:<br>\t\/\/\u6784\u9020\u51fd\u6570<br>\tPerson()<br>\t{<br>\t\tcout &lt;&lt; \"Person\u7684\u6784\u9020\u51fd\u6570\u8c03\u7528\" &lt;&lt; endl;<br>\t}<br>\t\/\/\u6790\u6784\u51fd\u6570<br>\t~Person()<br>\t{<br>\t\tcout &lt;&lt; \"Person\u7684\u6790\u6784\u51fd\u6570\u8c03\u7528\" &lt;&lt; endl;<br>\t}<br><br>};<br><br>void test01()<br>{<br>\tPerson p;<br>}<br><br>int main() {<br>\t<br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.2.2 \u6784\u9020\u51fd\u6570\u7684\u5206\u7c7b\u53ca\u8c03\u7528<\/h4>\n\n\n\n<p>\u4e24\u79cd\u5206\u7c7b\u65b9\u5f0f\uff1a<\/p>\n\n\n\n<p>\u6309\u53c2\u6570\u5206\u4e3a\uff1a \u6709\u53c2\u6784\u9020\u548c\u65e0\u53c2\u6784\u9020<\/p>\n\n\n\n<p>\u6309\u7c7b\u578b\u5206\u4e3a\uff1a \u666e\u901a\u6784\u9020\u548c\u62f7\u8d1d\u6784\u9020<\/p>\n\n\n\n<p>\u4e09\u79cd\u8c03\u7528\u65b9\u5f0f\uff1a<\/p>\n\n\n\n<p>\u62ec\u53f7\u6cd5<\/p>\n\n\n\n<p>\u663e\u793a\u6cd5<\/p>\n\n\n\n<p>\u9690\u5f0f\u8f6c\u6362\u6cd5<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/1\u3001\u6784\u9020\u51fd\u6570\u5206\u7c7b<br>\/\/ \u6309\u7167\u53c2\u6570\u5206\u7c7b\u5206\u4e3a \u6709\u53c2\u548c\u65e0\u53c2\u6784\u9020  \u65e0\u53c2\u53c8\u79f0\u4e3a\u9ed8\u8ba4\u6784\u9020\u51fd\u6570<br>\/\/ \u6309\u7167\u7c7b\u578b\u5206\u7c7b\u5206\u4e3a \u666e\u901a\u6784\u9020\u548c\u62f7\u8d1d\u6784\u9020<br><br>class Person {<br>public:<br>\t\/\/\u65e0\u53c2\uff08\u9ed8\u8ba4\uff09\u6784\u9020\u51fd\u6570<br>\tPerson() {<br>\t\tcout &lt;&lt; \"\u65e0\u53c2\u6784\u9020\u51fd\u6570!\" &lt;&lt; endl;<br>\t}<br>\t\/\/\u6709\u53c2\u6784\u9020\u51fd\u6570<br>\tPerson(int a) {<br>\t\tage = a;<br>\t\tcout &lt;&lt; \"\u6709\u53c2\u6784\u9020\u51fd\u6570!\" &lt;&lt; endl;<br>\t}<br>\t\/\/\u62f7\u8d1d\u6784\u9020\u51fd\u6570<br>\tPerson(const Person&amp; p) {<br>\t\tage = p.age;<br>\t\tcout &lt;&lt; \"\u62f7\u8d1d\u6784\u9020\u51fd\u6570!\" &lt;&lt; endl;<br>\t}<br>\t\/\/\u6790\u6784\u51fd\u6570<br>\t~Person() {<br>\t\tcout &lt;&lt; \"\u6790\u6784\u51fd\u6570!\" &lt;&lt; endl;<br>\t}<br>public:<br>\tint age;<br>};<br><br>\/\/2\u3001\u6784\u9020\u51fd\u6570\u7684\u8c03\u7528<br>\/\/\u8c03\u7528\u65e0\u53c2\u6784\u9020\u51fd\u6570<br>void test01() {<br>\tPerson p; \/\/\u8c03\u7528\u65e0\u53c2\u6784\u9020\u51fd\u6570<br>}<br><br>\/\/\u8c03\u7528\u6709\u53c2\u7684\u6784\u9020\u51fd\u6570<br>void test02() {<br><br>\t\/\/2.1  \u62ec\u53f7\u6cd5\uff0c\u5e38\u7528<br>\tPerson p1(10);<br>\t\/\/\u6ce8\u610f1\uff1a\u8c03\u7528\u65e0\u53c2\u6784\u9020\u51fd\u6570\u4e0d\u80fd\u52a0\u62ec\u53f7\uff0c\u5982\u679c\u52a0\u4e86\u7f16\u8bd1\u5668\u8ba4\u4e3a\u8fd9\u662f\u4e00\u4e2a\u51fd\u6570\u58f0\u660e<br>\t\/\/Person p2();<br><br>\t\/\/2.2 \u663e\u5f0f\u6cd5<br>\tPerson p2 = Person(10); <br>\tPerson p3 = Person(p2);<br>\t\/\/Person(10)\u5355\u72ec\u5199\u5c31\u662f\u533f\u540d\u5bf9\u8c61  \u5f53\u524d\u884c\u7ed3\u675f\u4e4b\u540e\uff0c\u9a6c\u4e0a\u6790\u6784<br><br>\t\/\/2.3 \u9690\u5f0f\u8f6c\u6362\u6cd5<br>\tPerson p4 = 10; \/\/ Person p4 = Person(10); <br>\tPerson p5 = p4; \/\/ Person p5 = Person(p4); <br><br>\t\/\/\u6ce8\u610f2\uff1a\u4e0d\u80fd\u5229\u7528 \u62f7\u8d1d\u6784\u9020\u51fd\u6570 \u521d\u59cb\u5316\u533f\u540d\u5bf9\u8c61 \u7f16\u8bd1\u5668\u8ba4\u4e3a\u662f\u5bf9\u8c61\u58f0\u660e<br>\t\/\/Person p5(p4);<br>}<br><br>int main() {<br><br>\ttest01();<br>\t\/\/test02();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.2.3 \u62f7\u8d1d\u6784\u9020\u51fd\u6570\u8c03\u7528\u65f6\u673a<\/h4>\n\n\n\n<p>C++\u4e2d\u62f7\u8d1d\u6784\u9020\u51fd\u6570\u8c03\u7528\u65f6\u673a\u901a\u5e38\u6709\u4e09\u79cd\u60c5\u51b5\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528\u4e00\u4e2a\u5df2\u7ecf\u521b\u5efa\u5b8c\u6bd5\u7684\u5bf9\u8c61\u6765\u521d\u59cb\u5316\u4e00\u4e2a\u65b0\u5bf9\u8c61<\/li>\n\n\n\n<li>\u503c\u4f20\u9012\u7684\u65b9\u5f0f\u7ed9\u51fd\u6570\u53c2\u6570\u4f20\u503c<\/li>\n\n\n\n<li>\u4ee5\u503c\u65b9\u5f0f\u8fd4\u56de\u5c40\u90e8\u5bf9\u8c61<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person {<br>public:<br>\tPerson() {<br>\t\tcout &lt;&lt; \"\u65e0\u53c2\u6784\u9020\u51fd\u6570!\" &lt;&lt; endl;<br>\t\tmAge = 0;<br>\t}<br>\tPerson(int age) {<br>\t\tcout &lt;&lt; \"\u6709\u53c2\u6784\u9020\u51fd\u6570!\" &lt;&lt; endl;<br>\t\tmAge = age;<br>\t}<br>\tPerson(const Person&amp; p) {<br>\t\tcout &lt;&lt; \"\u62f7\u8d1d\u6784\u9020\u51fd\u6570!\" &lt;&lt; endl;<br>\t\tmAge = p.mAge;<br>\t}<br>\t\/\/\u6790\u6784\u51fd\u6570\u5728\u91ca\u653e\u5185\u5b58\u4e4b\u524d\u8c03\u7528<br>\t~Person() {<br>\t\tcout &lt;&lt; \"\u6790\u6784\u51fd\u6570!\" &lt;&lt; endl;<br>\t}<br>public:<br>\tint mAge;<br>};<br><br>\/\/1. \u4f7f\u7528\u4e00\u4e2a\u5df2\u7ecf\u521b\u5efa\u5b8c\u6bd5\u7684\u5bf9\u8c61\u6765\u521d\u59cb\u5316\u4e00\u4e2a\u65b0\u5bf9\u8c61<br>void test01() {<br><br>\tPerson man(100); \/\/p\u5bf9\u8c61\u5df2\u7ecf\u521b\u5efa\u5b8c\u6bd5<br>\tPerson newman(man); \/\/\u8c03\u7528\u62f7\u8d1d\u6784\u9020\u51fd\u6570<br>\tPerson newman2 = man; \/\/\u62f7\u8d1d\u6784\u9020<br><br>\t\/\/Person newman3;<br>\t\/\/newman3 = man; \/\/\u4e0d\u662f\u8c03\u7528\u62f7\u8d1d\u6784\u9020\u51fd\u6570\uff0c\u8d4b\u503c\u64cd\u4f5c<br>}<br><br>\/\/2. \u503c\u4f20\u9012\u7684\u65b9\u5f0f\u7ed9\u51fd\u6570\u53c2\u6570\u4f20\u503c<br>\/\/\u76f8\u5f53\u4e8ePerson p1 = p;<br>void doWork(Person p1) {}<br>void test02() {<br>\tPerson p; \/\/\u65e0\u53c2\u6784\u9020\u51fd\u6570<br>\tdoWork(p);<br>}<br><br>\/\/3. \u4ee5\u503c\u65b9\u5f0f\u8fd4\u56de\u5c40\u90e8\u5bf9\u8c61<br>Person doWork2()<br>{<br>\tPerson p1;<br>\tcout &lt;&lt; (int *)&amp;p1 &lt;&lt; endl;<br>\treturn p1;<br>}<br><br>void test03()<br>{<br>\tPerson p = doWork2();<br>\tcout &lt;&lt; (int *)&amp;p &lt;&lt; endl;<br>}<br><br><br>int main() {<br><br>\t\/\/test01();<br>\t\/\/test02();<br>\ttest03();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.2.4 \u6784\u9020\u51fd\u6570\u8c03\u7528\u89c4\u5219<\/h4>\n\n\n\n<p>\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0cc++\u7f16\u8bd1\u5668\u81f3\u5c11\u7ed9\u4e00\u4e2a\u7c7b\u6dfb\u52a03\u4e2a\u51fd\u6570<\/p>\n\n\n\n<p>1\uff0e\u9ed8\u8ba4\u6784\u9020\u51fd\u6570(\u65e0\u53c2\uff0c\u51fd\u6570\u4f53\u4e3a\u7a7a)<\/p>\n\n\n\n<p>2\uff0e\u9ed8\u8ba4\u6790\u6784\u51fd\u6570(\u65e0\u53c2\uff0c\u51fd\u6570\u4f53\u4e3a\u7a7a)<\/p>\n\n\n\n<p>3\uff0e\u9ed8\u8ba4\u62f7\u8d1d\u6784\u9020\u51fd\u6570\uff0c\u5bf9\u5c5e\u6027\u8fdb\u884c\u503c\u62f7\u8d1d<\/p>\n\n\n\n<p>\u6784\u9020\u51fd\u6570\u8c03\u7528\u89c4\u5219\u5982\u4e0b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u7528\u6237\u5b9a\u4e49\u6709\u53c2\u6784\u9020\u51fd\u6570\uff0cC++\u4e0d\u518d\u63d0\u4f9b\u9ed8\u8ba4\u65e0\u53c2\u6784\u9020\uff0c\u4f46\u662f\u4f1a\u63d0\u4f9b\u9ed8\u8ba4\u62f7\u8d1d\u6784\u9020\uff08\u5982\u4eca\u5b58\u7591\uff09<\/li>\n\n\n\n<li>\u5982\u679c\u7528\u6237\u5b9a\u4e49\u62f7\u8d1d\u6784\u9020\u51fd\u6570\uff0cC++\u4e0d\u4f1a\u518d\u63d0\u4f9b\u5176\u4ed6\u6784\u9020\u51fd\u6570<\/li>\n<\/ul>\n\n\n\n<p>\u793a\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person {<br>public:<br>\t\/\/\u65e0\u53c2\uff08\u9ed8\u8ba4\uff09\u6784\u9020\u51fd\u6570<br>\tPerson() {<br>\t\tcout &lt;&lt; \"\u65e0\u53c2\u6784\u9020\u51fd\u6570!\" &lt;&lt; endl;<br>\t}<br>\t\/\/\u6709\u53c2\u6784\u9020\u51fd\u6570<br>\tPerson(int a) {<br>\t\tage = a;<br>\t\tcout &lt;&lt; \"\u6709\u53c2\u6784\u9020\u51fd\u6570!\" &lt;&lt; endl;<br>\t}<br>\t\/\/\u62f7\u8d1d\u6784\u9020\u51fd\u6570<br>\tPerson(const Person&amp; p) {<br>\t\tage = p.age;<br>\t\tcout &lt;&lt; \"\u62f7\u8d1d\u6784\u9020\u51fd\u6570!\" &lt;&lt; endl;<br>\t}<br>\t\/\/\u6790\u6784\u51fd\u6570<br>\t~Person() {<br>\t\tcout &lt;&lt; \"\u6790\u6784\u51fd\u6570!\" &lt;&lt; endl;<br>\t}<br>public:<br>\tint age;<br>};<br><br>void test01()<br>{<br>\tPerson p1(18);<br>\t\/\/\u5982\u679c\u4e0d\u5199\u62f7\u8d1d\u6784\u9020\uff0c\u7f16\u8bd1\u5668\u4f1a\u81ea\u52a8\u6dfb\u52a0\u62f7\u8d1d\u6784\u9020\uff0c\u5e76\u4e14\u505a\u6d45\u62f7\u8d1d\u64cd\u4f5c<br>\tPerson p2(p1);<br><br>\tcout &lt;&lt; \"p2\u7684\u5e74\u9f84\u4e3a\uff1a \" &lt;&lt; p2.age &lt;&lt; endl;<br>}<br><br>void test02()<br>{<br>\t\/\/\u5982\u679c\u7528\u6237\u63d0\u4f9b\u6709\u53c2\u6784\u9020\uff0c\u7f16\u8bd1\u5668\u4e0d\u4f1a\u63d0\u4f9b\u9ed8\u8ba4\u6784\u9020\uff0c\u4f1a\u63d0\u4f9b\u62f7\u8d1d\u6784\u9020<br>\tPerson p1; \/\/\u6b64\u65f6\u5982\u679c\u7528\u6237\u81ea\u5df1\u6ca1\u6709\u63d0\u4f9b\u9ed8\u8ba4\u6784\u9020\uff0c\u4f1a\u51fa\u9519<br>\tPerson p2(10); \/\/\u7528\u6237\u63d0\u4f9b\u7684\u6709\u53c2<br>\tPerson p3(p2); \/\/\u6b64\u65f6\u5982\u679c\u7528\u6237\u6ca1\u6709\u63d0\u4f9b\u62f7\u8d1d\u6784\u9020\uff0c\u7f16\u8bd1\u5668\u4f1a\u63d0\u4f9b<br><br>\t\/\/\u5982\u679c\u7528\u6237\u63d0\u4f9b\u62f7\u8d1d\u6784\u9020\uff0c\u7f16\u8bd1\u5668\u4e0d\u4f1a\u63d0\u4f9b\u5176\u4ed6\u6784\u9020\u51fd\u6570<br>\tPerson p4; \/\/\u6b64\u65f6\u5982\u679c\u7528\u6237\u81ea\u5df1\u6ca1\u6709\u63d0\u4f9b\u9ed8\u8ba4\u6784\u9020\uff0c\u4f1a\u51fa\u9519<br>\tPerson p5(10); \/\/\u6b64\u65f6\u5982\u679c\u7528\u6237\u81ea\u5df1\u6ca1\u6709\u63d0\u4f9b\u6709\u53c2\uff0c\u4f1a\u51fa\u9519<br>\tPerson p6(p5); \/\/\u7528\u6237\u81ea\u5df1\u63d0\u4f9b\u62f7\u8d1d\u6784\u9020<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.2.5 \u6df1\u62f7\u8d1d\u4e0e\u6d45\u62f7\u8d1d<\/h4>\n\n\n\n<p>\u6df1\u6d45\u62f7\u8d1d\u662f\u9762\u8bd5\u7ecf\u5178\u95ee\u9898\uff0c\u4e5f\u662f\u5e38\u89c1\u7684\u4e00\u4e2a\u5751<\/p>\n\n\n\n<p>\u6d45\u62f7\u8d1d\uff1a\u7b80\u5355\u7684\u8d4b\u503c\u62f7\u8d1d\u64cd\u4f5c<\/p>\n\n\n\n<p>\u6df1\u62f7\u8d1d\uff1a\u5728\u5806\u533a\u91cd\u65b0\u7533\u8bf7\u7a7a\u95f4\uff0c\u8fdb\u884c\u62f7\u8d1d\u64cd\u4f5c<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person {<br>public:<br>\t\/\/\u65e0\u53c2\uff08\u9ed8\u8ba4\uff09\u6784\u9020\u51fd\u6570<br>\tPerson() {<br>\t\tcout &lt;&lt; \"\u65e0\u53c2\u6784\u9020\u51fd\u6570!\" &lt;&lt; endl;<br>\t}<br>\t\/\/\u6709\u53c2\u6784\u9020\u51fd\u6570<br>\tPerson(int age ,int height) {<br>\t\t<br>\t\tcout &lt;&lt; \"\u6709\u53c2\u6784\u9020\u51fd\u6570!\" &lt;&lt; endl;<br><br>\t\tm_age = age;<br>\t\tm_height = new int(height);<br>\t\t<br>\t}<br>\t\/\/\u62f7\u8d1d\u6784\u9020\u51fd\u6570  <br>\tPerson(const Person&amp; p) {<br>\t\tcout &lt;&lt; \"\u62f7\u8d1d\u6784\u9020\u51fd\u6570!\" &lt;&lt; endl;<br>\t\t\/\/\u5982\u679c\u4e0d\u5229\u7528\u6df1\u62f7\u8d1d\u5728\u5806\u533a\u521b\u5efa\u65b0\u5185\u5b58\uff0c\u4f1a\u5bfc\u81f4\u6d45\u62f7\u8d1d\u5e26\u6765\u7684\u91cd\u590d\u91ca\u653e\u5806\u533a\u95ee\u9898<br>\t\tm_age = p.m_age;<br>\t\tm_height = new int(*p.m_height);<br>\t\t<br>\t}<br><br>\t\/\/\u6790\u6784\u51fd\u6570<br>\t~Person() {<br>\t\tcout &lt;&lt; \"\u6790\u6784\u51fd\u6570!\" &lt;&lt; endl;<br>\t\tif (m_height != NULL)<br>\t\t{<br>\t\t\tdelete m_height;<br>\t\t}<br>\t}<br>public:<br>\tint m_age;<br>\tint* m_height;<br>};<br><br>void test01()<br>{<br>\tPerson p1(18, 180);<br><br>\tPerson p2(p1);<br><br>\tcout &lt;&lt; \"p1\u7684\u5e74\u9f84\uff1a \" &lt;&lt; p1.m_age &lt;&lt; \" \u8eab\u9ad8\uff1a \" &lt;&lt; *p1.m_height &lt;&lt; endl;<br><br>\tcout &lt;&lt; \"p2\u7684\u5e74\u9f84\uff1a \" &lt;&lt; p2.m_age &lt;&lt; \" \u8eab\u9ad8\uff1a \" &lt;&lt; *p2.m_height &lt;&lt; endl;<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u603b\u7ed3\uff1a\u5982\u679c\u5c5e\u6027\u6709\u5728\u5806\u533a\u5f00\u8f9f\u7684\uff0c\u4e00\u5b9a\u8981\u81ea\u5df1\u63d0\u4f9b\u62f7\u8d1d\u6784\u9020\u51fd\u6570\uff0c\u9632\u6b62\u6d45\u62f7\u8d1d\u5e26\u6765\u7684\u95ee\u9898<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">4.2.6 \u521d\u59cb\u5316\u5217\u8868<\/h4>\n\n\n\n<p><strong>\u4f5c\u7528\uff1a<\/strong><\/p>\n\n\n\n<p>C++\u63d0\u4f9b\u4e86\u521d\u59cb\u5316\u5217\u8868\u8bed\u6cd5\uff0c\u7528\u6765\u521d\u59cb\u5316\u5c5e\u6027<\/p>\n\n\n\n<p><strong>\u8bed\u6cd5\uff1a<\/strong><code>\u6784\u9020\u51fd\u6570()\uff1a\u5c5e\u60271(\u503c1),\u5c5e\u60272\uff08\u503c2\uff09... {}<\/code><\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person {<br>public:<br><br>\t\/\/\/\/\u4f20\u7edf\u65b9\u5f0f\u521d\u59cb\u5316<br>\t\/\/Person(int a, int b, int c) {<br>\t\/\/\tm_A = a;<br>\t\/\/\tm_B = b;<br>\t\/\/\tm_C = c;<br>\t\/\/}<br><br>\t\/\/\u521d\u59cb\u5316\u5217\u8868\u65b9\u5f0f\u521d\u59cb\u5316<br>\tPerson(int a, int b, int c) :m_A(a), m_B(b), m_C(c) {}<br>\tvoid PrintPerson() {<br>\t\tcout &lt;&lt; \"mA:\" &lt;&lt; m_A &lt;&lt; endl;<br>\t\tcout &lt;&lt; \"mB:\" &lt;&lt; m_B &lt;&lt; endl;<br>\t\tcout &lt;&lt; \"mC:\" &lt;&lt; m_C &lt;&lt; endl;<br>\t}<br>private:<br>\tint m_A;<br>\tint m_B;<br>\tint m_C;<br>};<br><br>int main() {<br><br>\tPerson p(1, 2, 3);<br>\tp.PrintPerson();<br><br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.2.7 \u7c7b\u5bf9\u8c61\u4f5c\u4e3a\u7c7b\u6210\u5458<\/h4>\n\n\n\n<p>C++\u7c7b\u4e2d\u7684\u6210\u5458\u53ef\u4ee5\u662f\u53e6\u4e00\u4e2a\u7c7b\u7684\u5bf9\u8c61\uff0c\u6211\u4eec\u79f0\u8be5\u6210\u5458\u4e3a<strong>\u5bf9\u8c61\u6210\u5458<\/strong><\/p>\n\n\n\n<p>\u4f8b\u5982\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class A {}<br>class B<br>{<br>    A a\uff1b<br>}<\/pre>\n\n\n\n<p>B\u7c7b\u4e2d\u6709\u5bf9\u8c61A\u4f5c\u4e3a\u6210\u5458\uff0cA\u4e3a\u5bf9\u8c61\u6210\u5458<\/p>\n\n\n\n<p>\u90a3\u4e48\u5f53\u521b\u5efaB\u5bf9\u8c61\u65f6\uff0cA\u4e0eB\u7684\u6784\u9020\u548c\u6790\u6784\u7684\u987a\u5e8f\u662f\u8c01\u5148\u8c01\u540e\uff1f<\/p>\n\n\n\n<p>\u5148\u8c03\u7528\u5bf9\u8c61\u6210\u5458\u7684\u6784\u9020\uff0c\u518d\u8c03\u7528\u672c\u7c7b\u6784\u9020\uff1b\u6790\u6784\u987a\u5e8f\u4e0e\u6784\u9020\u76f8\u53cd<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Phone<br>{<br>public:<br>\tPhone(string name)<br>\t{<br>\t\tm_PhoneName = name;<br>\t\tcout &lt;&lt; \"Phone\u6784\u9020\" &lt;&lt; endl;<br>\t}<br><br>\t~Phone()<br>\t{<br>\t\tcout &lt;&lt; \"Phone\u6790\u6784\" &lt;&lt; endl;<br>\t}<br><br>\tstring m_PhoneName;<br><br>};<br><br><br>class Person<br>{<br>public:<br><br>\t\/\/\u521d\u59cb\u5316\u5217\u8868\u53ef\u4ee5\u544a\u8bc9\u7f16\u8bd1\u5668\u8c03\u7528\u54ea\u4e00\u4e2a\u6784\u9020\u51fd\u6570<br>\tPerson(string name, string pName) :m_Name(name), m_Phone(pName)<br>\t{<br>\t\tcout &lt;&lt; \"Person\u6784\u9020\" &lt;&lt; endl;<br>\t}<br><br>\t~Person()<br>\t{<br>\t\tcout &lt;&lt; \"Person\u6790\u6784\" &lt;&lt; endl;<br>\t}<br><br>\tvoid playGame()<br>\t{<br>\t\tcout &lt;&lt; m_Name &lt;&lt; \" \u4f7f\u7528\" &lt;&lt; m_Phone.m_PhoneName &lt;&lt; \" \u724c\u624b\u673a! \" &lt;&lt; endl;<br>\t}<br><br>\tstring m_Name;<br>\tPhone m_Phone;<br><br>};<br>void test01()<br>{<br>\t\/\/\u5f53\u7c7b\u4e2d\u6210\u5458\u662f\u5176\u4ed6\u7c7b\u5bf9\u8c61\u65f6\uff0c\u6211\u4eec\u79f0\u8be5\u6210\u5458\u4e3a\u5bf9\u8c61\u6210\u5458<br>\t\/\/\u6784\u9020\u7684\u987a\u5e8f\u662f:\u5148\u8c03\u7528\u5bf9\u8c61\u6210\u5458\u7684\u6784\u9020\uff0c\u518d\u8c03\u7528\u672c\u7c7b\u6784\u9020<br>\t\/\/\u6790\u6784\u987a\u5e8f\u4e0e\u6784\u9020\u76f8\u53cd<br>\tPerson p(\"\u5f20\u4e09\" , \"\u82f9\u679cX\");<br>\tp.playGame();<br><br>}<br><br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.2.8 \u9759\u6001\u6210\u5458<\/h4>\n\n\n\n<p>\u9759\u6001\u6210\u5458\u5c31\u662f\u5728\u6210\u5458\u53d8\u91cf\u548c\u6210\u5458\u51fd\u6570\u524d\u52a0\u4e0a\u5173\u952e\u5b57<code>static<\/code>\uff0c\u79f0\u4e3a\u9759\u6001\u6210\u5458<\/p>\n\n\n\n<p>\u9759\u6001\u6210\u5458\u5206\u4e3a\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9759\u6001\u6210\u5458\u53d8\u91cf\n<ul class=\"wp-block-list\">\n<li><strong>\u6240\u6709\u5bf9\u8c61\u5171\u4eab\u540c\u4e00\u4efd\u6570\u636e<\/strong><\/li>\n\n\n\n<li>\u9759\u6001\u6210\u5458\u53d8\u91cf\u662f\u5c5e\u4e8e\u7c7b\u672c\u8eab\u7684\uff0c\u800c\u4e0d\u662f\u7c7b\u7684\u67d0\u4e2a\u5177\u4f53\u5bf9\u8c61<\/li>\n\n\n\n<li>\u5728\u7f16\u8bd1\u9636\u6bb5\u5206\u914d\u5185\u5b58<\/li>\n\n\n\n<li>\u7c7b\u5185\u58f0\u660e\uff0c\u7c7b\u5916\u521d\u59cb\u5316<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u9759\u6001\u6210\u5458\u51fd\u6570\n<ul class=\"wp-block-list\">\n<li>\u6240\u6709\u5bf9\u8c61\u5171\u4eab\u540c\u4e00\u4e2a\u51fd\u6570<\/li>\n\n\n\n<li><strong>\u9759\u6001\u6210\u5458\u51fd\u6570\u53ea\u80fd\u8bbf\u95ee\u9759\u6001\u6210\u5458\u53d8\u91cf<\/strong><\/li>\n\n\n\n<li>\u9759\u6001\u6210\u5458\u51fd\u6570\u4e0d\u80fd\u8bbf\u95ee\u7c7b\u7684\u975e\u9759\u6001\u6210\u5458\u53d8\u91cf\u548c\u975e\u9759\u6001\u6210\u5458\u51fd\u6570\uff0c\u56e0\u4e3a\u5b83<strong>\u6ca1\u6709<code>this<\/code>\u6307\u9488<\/strong> <\/li>\n\n\n\n<li>\u975e\u9759\u6001\u6210\u5458\u51fd\u6570\u53ef\u4ee5\u8bbf\u95ee\u9759\u6001\u6210\u5458\u53d8\u91cf\u548c\u9759\u6001\u6210\u5458\u51fd\u6570<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b1 \uff1a<\/strong>\u9759\u6001\u6210\u5458\u53d8\u91cf<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person<br>{<br>\t<br>public:<br><br>\tstatic int m_A; \/\/\u9759\u6001\u6210\u5458\u53d8\u91cf<br><br>\t\/\/\u9759\u6001\u6210\u5458\u53d8\u91cf\u7279\u70b9\uff1a<br>\t\/\/1 \u5728\u7f16\u8bd1\u9636\u6bb5\u5206\u914d\u5185\u5b58<br>\t\/\/2 \u7c7b\u5185\u58f0\u660e\uff0c\u7c7b\u5916\u521d\u59cb\u5316<br>\t\/\/3 \u6240\u6709\u5bf9\u8c61\u5171\u4eab\u540c\u4e00\u4efd\u6570\u636e<br><br>private:<br>\tstatic int m_B; \/\/\u9759\u6001\u6210\u5458\u53d8\u91cf\u4e5f\u662f\u6709\u8bbf\u95ee\u6743\u9650\u7684<br>};<br>int Person::m_A = 10;<br>int Person::m_B = 10;<br><br>void test01()<br>{<br>\t\/\/\u9759\u6001\u6210\u5458\u53d8\u91cf\u4e24\u79cd\u8bbf\u95ee\u65b9\u5f0f<br><br>\t\/\/1\u3001\u901a\u8fc7\u5bf9\u8c61<br>\tPerson p1;<br>\tp1.m_A = 100;<br>\tcout &lt;&lt; \"p1.m_A = \" &lt;&lt; p1.m_A &lt;&lt; endl;<br><br>\tPerson p2;<br>\tp2.m_A = 200;<br>\tcout &lt;&lt; \"p1.m_A = \" &lt;&lt; p1.m_A &lt;&lt; endl; \/\/\u5171\u4eab\u540c\u4e00\u4efd\u6570\u636e<br>\tcout &lt;&lt; \"p2.m_A = \" &lt;&lt; p2.m_A &lt;&lt; endl;<br><br>\t\/\/2\u3001\u901a\u8fc7\u7c7b\u540d<br>\tcout &lt;&lt; \"m_A = \" &lt;&lt; Person::m_A &lt;&lt; endl;<br><br><br>\t\/\/cout &lt;&lt; \"m_B = \" &lt;&lt; Person::m_B &lt;&lt; endl; \/\/\u79c1\u6709\u6743\u9650\u8bbf\u95ee\u4e0d\u5230<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<p><strong>\u793a\u4f8b2\uff1a<\/strong>\u9759\u6001\u6210\u5458\u51fd\u6570<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person<br>{<br><br>public:<br><br>\t\/\/\u9759\u6001\u6210\u5458\u51fd\u6570\u7279\u70b9\uff1a<br>\t\/\/1 \u7a0b\u5e8f\u5171\u4eab\u4e00\u4e2a\u51fd\u6570<br>\t\/\/2 \u9759\u6001\u6210\u5458\u51fd\u6570\u53ea\u80fd\u8bbf\u95ee\u9759\u6001\u6210\u5458\u53d8\u91cf<br>\t<br>\tstatic void func()<br>\t{<br>\t\tcout &lt;&lt; \"func\u8c03\u7528\" &lt;&lt; endl;<br>\t\tm_A = 100;<br>\t\t\/\/m_B = 100; \/\/\u9519\u8bef\uff0c\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u975e\u9759\u6001\u6210\u5458\u53d8\u91cf<br>\t}<br><br>\tstatic int m_A; \/\/\u9759\u6001\u6210\u5458\u53d8\u91cf<br>\tint m_B; \/\/ <br>private:<br><br>\t\/\/\u9759\u6001\u6210\u5458\u51fd\u6570\u4e5f\u662f\u6709\u8bbf\u95ee\u6743\u9650\u7684<br>\tstatic void func2()<br>\t{<br>\t\tcout &lt;&lt; \"func2\u8c03\u7528\" &lt;&lt; endl;<br>\t}<br>};<br>int Person::m_A = 10;<br><br><br>void test01()<br>{<br>\t\/\/\u9759\u6001\u6210\u5458\u53d8\u91cf\u4e24\u79cd\u8bbf\u95ee\u65b9\u5f0f<br><br>\t\/\/1\u3001\u901a\u8fc7\u5bf9\u8c61<br>\tPerson p1;<br>\tp1.func();<br><br>\t\/\/2\u3001\u901a\u8fc7\u7c7b\u540d<br>\tPerson::func();<br><br><br>\t\/\/Person::func2(); \/\/\u79c1\u6709\u6743\u9650\u8bbf\u95ee\u4e0d\u5230<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4.3 C++\u5bf9\u8c61\u6a21\u578b\u548cthis\u6307\u9488<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">4.3.1 \u6210\u5458\u53d8\u91cf\u548c\u6210\u5458\u51fd\u6570\u5206\u5f00\u5b58\u50a8<\/h4>\n\n\n\n<p>\u5728C++\u4e2d\uff0c\u7c7b\u5185\u7684\u6210\u5458\u53d8\u91cf\u548c\u6210\u5458\u51fd\u6570\u5206\u5f00\u5b58\u50a8<\/p>\n\n\n\n<p>\u9759\u6001\u6210\u5458\u53d8\u91cf\u662f\u5c5e\u4e8e\u7c7b\u672c\u8eab\u7684\uff0c\u800c\u4e0d\u662f\u7c7b\u7684\u67d0\u4e2a\u5177\u4f53\u5bf9\u8c61\uff1b\u53ea\u6709\u975e\u9759\u6001\u6210\u5458\u53d8\u91cf\u624d\u5c5e\u4e8e\u7c7b\u7684\u5177\u4f53\u5bf9\u8c61\u4e0a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person {<br>public:<br>\tPerson() {<br>\t\tmA = 0;<br>\t}<br>\t\/\/\u975e\u9759\u6001\u6210\u5458\u53d8\u91cf\u5360\u5bf9\u8c61\u7a7a\u95f4<br>\tint mA;<br>\t\/\/\u9759\u6001\u6210\u5458\u53d8\u91cf\u4e0d\u5360\u5bf9\u8c61\u7a7a\u95f4<br>\tstatic int mB; <br>\t\/\/\u51fd\u6570\u4e5f\u4e0d\u5360\u5bf9\u8c61\u7a7a\u95f4\uff0c\u6240\u6709\u51fd\u6570\u5171\u4eab\u4e00\u4e2a\u51fd\u6570\u5b9e\u4f8b<br>\tvoid func() {<br>\t\tcout &lt;&lt; \"mA:\" &lt;&lt; this-&gt;mA &lt;&lt; endl;<br>\t}<br>\t\/\/\u9759\u6001\u6210\u5458\u51fd\u6570\u4e5f\u4e0d\u5360\u5bf9\u8c61\u7a7a\u95f4<br>\tstatic void sfunc() {<br>\t}<br>};<br><br>int main() {<br><br>\tcout &lt;&lt; sizeof(Person) &lt;&lt; endl;<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.3.2 this\u6307\u9488\u6982\u5ff5<\/h4>\n\n\n\n<p>\u901a\u8fc74.3.1\u6211\u4eec\u77e5\u9053\u5728C++\u4e2d\u6210\u5458\u53d8\u91cf\u548c\u6210\u5458\u51fd\u6570\u662f\u5206\u5f00\u5b58\u50a8\u7684<\/p>\n\n\n\n<p>\u6bcf\u4e00\u4e2a\u975e\u9759\u6001\u6210\u5458\u51fd\u6570\u53ea\u4f1a\u8bde\u751f\u4e00\u4efd\u51fd\u6570\u5b9e\u4f8b\uff0c\u4e5f\u5c31\u662f\u8bf4\u591a\u4e2a\u540c\u7c7b\u578b\u7684\u5bf9\u8c61\u4f1a\u5171\u7528\u4e00\u5757\u4ee3\u7801<\/p>\n\n\n\n<p>\u90a3\u4e48\u95ee\u9898\u662f\uff1a\u8fd9\u4e00\u5757\u4ee3\u7801\u662f\u5982\u4f55\u533a\u5206\u90a3\u4e2a\u5bf9\u8c61\u8c03\u7528\u81ea\u5df1\u7684\u5462\uff1f<\/p>\n\n\n\n<p>C++\u901a\u8fc7\u63d0\u4f9b\u7279\u6b8a\u7684\u5bf9\u8c61\u6307\u9488\uff1athis\u6307\u9488\uff0c\u89e3\u51b3\u4e0a\u8ff0\u95ee\u9898 <\/p>\n\n\n\n<p><strong>this\u6307\u9488\u6307\u5411\u88ab\u8c03\u7528\u7684\u6210\u5458\u51fd\u6570\u6240\u5c5e\u7684\u5bf9\u8c61<\/strong><\/p>\n\n\n\n<p>this\u6307\u9488\u662f\u9690\u542b\u5728\u6bcf\u4e00\u4e2a\u975e\u9759\u6001\u6210\u5458\u51fd\u6570\u5185\u7684\u4e00\u79cd\u6307\u9488\uff0c\u4e0d\u9700\u8981\u5b9a\u4e49\uff0c\u76f4\u63a5\u4f7f\u7528\u5373\u53ef<\/p>\n\n\n\n<p>this\u6307\u9488\u7684\u7528\u9014\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5f53\u5f62\u53c2\u548c\u6210\u5458\u53d8\u91cf\u540c\u540d\u65f6\uff0c\u53ef\u7528this\u6307\u9488\u6765\u533a\u5206<\/li>\n\n\n\n<li>\u5728\u7c7b\u7684\u975e\u9759\u6001\u6210\u5458\u51fd\u6570\u4e2d\u8fd4\u56de\u5bf9\u8c61\u672c\u8eab\uff0c\u53ef\u4f7f\u7528<code>return *this<\/code><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person<br>{<br>public:<br><br>\tPerson(int age)<br>\t{<br>\t\t\/\/1\u3001\u5f53\u5f62\u53c2\u548c\u6210\u5458\u53d8\u91cf\u540c\u540d\u65f6\uff0c\u53ef\u7528this\u6307\u9488\u6765\u533a\u5206<br>\t\tthis-&gt;age = age;<br>\t}<br><br>\tPerson&amp; PersonAddPerson(Person p)<br>\t{<br>\t\tthis-&gt;age += p.age;<br>\t\t\/\/\u8fd4\u56de\u5bf9\u8c61\u672c\u8eab<br>\t\treturn *this;<br>\t}<br><br>\tint age;<br>};<br><br>void test01()<br>{<br>\tPerson p1(10);<br>\tcout &lt;&lt; \"p1.age = \" &lt;&lt; p1.age &lt;&lt; endl;<br><br>\tPerson p2(10);<br>\tp2.PersonAddPerson(p1).PersonAddPerson(p1).PersonAddPerson(p1);<br>\tcout &lt;&lt; \"p2.age = \" &lt;&lt; p2.age &lt;&lt; endl;<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.3.3 \u7a7a\u6307\u9488\u8bbf\u95ee\u6210\u5458\u51fd\u6570<\/h4>\n\n\n\n<p>\u5728C++\u4e2d\u7a7a\u6307\u9488\u4e5f\u53ef\u4ee5\u8c03\u7528\u6210\u5458\u51fd\u6570\uff0c\u4f46\u662f\u8981\u6ce8\u610f\u6709\u6ca1\u6709\u7528\u5230this\u6307\u9488<\/p>\n\n\n\n<p>\u5982\u679c\u7528\u5230this\u6307\u9488\uff0c\u9700\u8981\u52a0\u4ee5\u5224\u65ad\u4fdd\u8bc1\u4ee3\u7801\u7684\u5065\u58ee\u6027<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u7a7a\u6307\u9488\u8bbf\u95ee\u6210\u5458\u51fd\u6570<br>class Person {<br>public:<br><br>\tvoid ShowClassName() {<br>\t\tcout &lt;&lt; \"\u6211\u662fPerson\u7c7b!\" &lt;&lt; endl;<br>\t}<br><br>\tvoid ShowPerson() {<br>\t\tif (this == NULL) {<br>\t\t\treturn;<br>\t\t}<br>\t\tcout &lt;&lt; mAge &lt;&lt; endl;<br>\t}<br><br>public:<br>\tint mAge;<br>};<br><br>void test01()<br>{<br>\tPerson * p = NULL;<br>\tp-&gt;ShowClassName(); \/\/\u7a7a\u6307\u9488\uff0c\u53ef\u4ee5\u8c03\u7528\u6210\u5458\u51fd\u6570<br>\tp-&gt;ShowPerson();  \/\/\u4f46\u662f\u5982\u679c\u6210\u5458\u51fd\u6570\u4e2d\u7528\u5230\u4e86this\u6307\u9488\uff0c\u5c31\u4e0d\u53ef\u4ee5\u4e86<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.3.4 const\u4fee\u9970\u6210\u5458\u51fd\u6570<\/h4>\n\n\n\n<p><strong>\u5e38\u51fd\u6570\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5728\u6210\u5458\u51fd\u6570\u540e\u52a0const\u5219\u79f0\u8fd9\u4e2a\u51fd\u6570\u4e3a<strong>\u5e38\u51fd\u6570<\/strong><\/li>\n\n\n\n<li>\u5e38\u51fd\u6570\u5185\u4e0d\u53ef\u4ee5\u4fee\u6539\u666e\u901a\u6210\u5458\u5c5e\u6027<\/li>\n\n\n\n<li>\u6210\u5458\u5c5e\u6027\u58f0\u660e\u65f6\u52a0\u5173\u952e\u5b57mutable\u540e\uff0c\u5728\u5e38\u51fd\u6570\u4e2d\u4f9d\u7136\u53ef\u4ee5\u4fee\u6539<\/li>\n<\/ul>\n\n\n\n<p><strong>\u5e38\u5bf9\u8c61\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u58f0\u660e\u5bf9\u8c61\u524d\u52a0const\u79f0\u8be5\u5bf9\u8c61\u4e3a\u5e38\u5bf9\u8c61<\/li>\n\n\n\n<li>\u5e38\u5bf9\u8c61\u53ea\u80fd\u8c03\u7528\u5e38\u51fd\u6570<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person {<br>public:<br>\tPerson() {<br>\t\tm_A = 0;<br>\t\tm_B = 0;<br>\t}<br><br>\t\/\/this\u6307\u9488\u7684\u672c\u8d28\u662f\u4e00\u4e2a\u6307\u9488\u5e38\u91cf\uff0c\u6307\u9488\u7684\u6307\u5411\u4e0d\u53ef\u4fee\u6539<br>\t\/\/\u5982\u679c\u60f3\u8ba9\u6307\u9488\u6307\u5411\u7684\u503c\u4e5f\u4e0d\u53ef\u4ee5\u4fee\u6539\uff0c\u9700\u8981\u58f0\u660e\u5e38\u51fd\u6570<br>\tvoid ShowPerson() const {<br>\t\t\/\/const Type* const pointer;<br>\t\t\/\/this = NULL; \/\/\u4e0d\u80fd\u4fee\u6539\u6307\u9488\u7684\u6307\u5411 Person* const this;<br>\t\t\/\/this-&gt;mA = 100; \/\/\u4f46\u662fthis\u6307\u9488\u6307\u5411\u7684\u5bf9\u8c61\u7684\u6570\u636e\u662f\u53ef\u4ee5\u4fee\u6539\u7684<br><br>\t\t\/\/const\u4fee\u9970\u6210\u5458\u51fd\u6570\uff0c\u8868\u793a\u6307\u9488\u6307\u5411\u7684\u5185\u5b58\u7a7a\u95f4\u7684\u6570\u636e\u4e0d\u80fd\u4fee\u6539\uff0c\u9664\u4e86mutable\u4fee\u9970\u7684\u53d8\u91cf<br>\t\tthis-&gt;m_B = 100;<br>\t}<br><br>\tvoid MyFunc() const {<br>\t\t\/\/mA = 10000;<br>\t}<br><br>public:<br>\tint m_A;<br>\tmutable int m_B; \/\/\u53ef\u4fee\u6539 \u53ef\u53d8\u7684<br>};<br><br><br>\/\/const\u4fee\u9970\u5bf9\u8c61  \u5e38\u5bf9\u8c61<br>void test01() {<br><br>\tconst Person person; \/\/\u5e38\u91cf\u5bf9\u8c61  <br>\tcout &lt;&lt; person.m_A &lt;&lt; endl;<br>\t\/\/person.mA = 100; \/\/\u5e38\u5bf9\u8c61\u4e0d\u80fd\u4fee\u6539\u6210\u5458\u53d8\u91cf\u7684\u503c,\u4f46\u662f\u53ef\u4ee5\u8bbf\u95ee<br>\tperson.m_B = 100; \/\/\u4f46\u662f\u5e38\u5bf9\u8c61\u53ef\u4ee5\u4fee\u6539mutable\u4fee\u9970\u6210\u5458\u53d8\u91cf<br><br>\t\/\/\u5e38\u5bf9\u8c61\u8bbf\u95ee\u6210\u5458\u51fd\u6570<br>\tperson.MyFunc(); \/\/\u5e38\u5bf9\u8c61\u4e0d\u80fd\u8c03\u7528const\u7684\u51fd\u6570<br><br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4.4 \u53cb\u5143<\/h3>\n\n\n\n<p>\u5728\u73b0\u5b9e\u751f\u6d3b\u4e2d\uff0c\u4f60\u7684\u5bb6\u6709\u5ba2\u5385(Public)\uff0c\u6709\u81ea\u5df1\u7684\u5367\u5ba4(Private)<\/p>\n\n\n\n<p>\u6240\u6709\u6765\u7684\u5ba2\u4eba\u90fd\u53ef\u4ee5\u8fdb\u53bb\u5ba2\u5385\uff0c\u4f46\u4f60\u7684\u5367\u5ba4\u662f\u79c1\u6709\u7684\uff0c\u7406\u8bba\u4e0a\u53ea\u6709\u4f60\u80fd\u8fdb\u53bb<\/p>\n\n\n\n<p>\u4f46\u4e5f\u6709\u4f8b\u5916\u60c5\u51b5\uff0c\u4f60\u53ef\u4ee5\u5141\u8bb8\u4f60\u7684\u597d\u95fa\u871c\u3001\u597d\u57fa\u53cb\u8fdb\u53bb <\/p>\n\n\n\n<p>\u5728\u7a0b\u5e8f\u91cc\uff0c\u6709\u4e9b\u79c1\u6709\u5c5e\u6027\u4e5f\u60f3\u8ba9\u7c7b\u5916\u7684\u4e00\u4e9b\u7279\u6b8a\u51fd\u6570\u6216\u8005\u7c7b\u8fdb\u884c\u8bbf\u95ee\uff0c\u5c31\u9700\u8981\u7528\u5230<strong>\u53cb\u5143<\/strong>\u7684\u6280\u672f<\/p>\n\n\n\n<p>\u53cb\u5143\u7684\u76ee\u7684\u5c31\u662f\u8ba9\u4e00\u4e2a\u51fd\u6570\u6216\u8005\u7c7b\u8bbf\u95ee\u53e6\u4e00\u4e2a\u7c7b\u4e2d\u79c1\u6709\u6210\u5458<\/p>\n\n\n\n<p>\u53cb\u5143\u7684\u5173\u952e\u5b57\u4e3a<code>friend<\/code><\/p>\n\n\n\n<p>\u53cb\u5143\u7684\u4e09\u79cd\u5b9e\u73b0\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5168\u5c40\u51fd\u6570\u505a\u53cb\u5143<\/li>\n\n\n\n<li>\u7c7b\u505a\u53cb\u5143<\/li>\n\n\n\n<li>\u6210\u5458\u51fd\u6570\u505a\u53cb\u5143<\/li>\n<\/ul>\n\n\n\n<p>ps\uff1a\u73b0\u4ee3C++\u7f16\u7a0b\u5f88\u5c11\u7528\u5230<code>friend<\/code><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4.4.1 \u5168\u5c40\u51fd\u6570\u505a\u53cb\u5143<\/h4>\n\n\n\n<pre class=\"wp-block-preformatted\">class Building<br>{<br>\t\/\/\u544a\u8bc9\u7f16\u8bd1\u5668 goodGay\u5168\u5c40\u51fd\u6570\u662fBuilding\u7c7b\u7684\u597d\u670b\u53cb\uff0c\u53ef\u4ee5\u8bbf\u95ee\u7c7b\u4e2d\u7684\u79c1\u6709\u5185\u5bb9<br>\tfriend void goodGay(Building * building);<br><br>public:<br><br>\tBuilding()<br>\t{<br>\t\tthis-&gt;m_SittingRoom = \"\u5ba2\u5385\";<br>\t\tthis-&gt;m_BedRoom = \"\u5367\u5ba4\";<br>\t}<br><br><br>public:<br>\tstring m_SittingRoom; \/\/\u5ba2\u5385<br><br>private:<br>\tstring m_BedRoom; \/\/\u5367\u5ba4<br>};<br><br><br>void goodGay(Building * building)<br>{<br>\tcout &lt;&lt; \"\u597d\u57fa\u53cb\u6b63\u5728\u8bbf\u95ee\uff1a \" &lt;&lt; building-&gt;m_SittingRoom &lt;&lt; endl;<br>\tcout &lt;&lt; \"\u597d\u57fa\u53cb\u6b63\u5728\u8bbf\u95ee\uff1a \" &lt;&lt; building-&gt;m_BedRoom &lt;&lt; endl;<br>}<br><br><br>void test01()<br>{<br>\tBuilding b;<br>\tgoodGay(&amp;b);<br>}<br><br>int main(){<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.4.2 \u7c7b\u505a\u53cb\u5143<\/h4>\n\n\n\n<pre class=\"wp-block-preformatted\">class Building;<br>class goodGay<br>{<br>public:<br><br>\tgoodGay();<br>\tvoid visit();<br><br>private:<br>\tBuilding *building;<br>};<br><br><br>class Building<br>{<br>\t\/\/\u544a\u8bc9\u7f16\u8bd1\u5668 goodGay\u7c7b\u662fBuilding\u7c7b\u7684\u597d\u670b\u53cb\uff0c\u53ef\u4ee5\u8bbf\u95ee\u5230Building\u7c7b\u4e2d\u79c1\u6709\u5185\u5bb9<br>\tfriend class goodGay;<br><br>public:<br>\tBuilding();<br><br>public:<br>\tstring m_SittingRoom; \/\/\u5ba2\u5385<br>private:<br>\tstring m_BedRoom;\/\/\u5367\u5ba4<br>};<br><br>Building::Building()<br>{<br>\tthis-&gt;m_SittingRoom = \"\u5ba2\u5385\";<br>\tthis-&gt;m_BedRoom = \"\u5367\u5ba4\";<br>}<br><br>goodGay::goodGay()<br>{<br>\tbuilding = new Building;<br>}<br><br>void goodGay::visit()<br>{<br>\tcout &lt;&lt; \"\u597d\u57fa\u53cb\u6b63\u5728\u8bbf\u95ee\" &lt;&lt; building-&gt;m_SittingRoom &lt;&lt; endl;<br>\tcout &lt;&lt; \"\u597d\u57fa\u53cb\u6b63\u5728\u8bbf\u95ee\" &lt;&lt; building-&gt;m_BedRoom &lt;&lt; endl;<br>}<br><br>void test01()<br>{<br>\tgoodGay gg;<br>\tgg.visit();<br><br>}<br><br>int main(){<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.4.3 \u6210\u5458\u51fd\u6570\u505a\u53cb\u5143<\/h4>\n\n\n\n<pre class=\"wp-block-preformatted\"><br>class Building;<br>class goodGay<br>{<br>public:<br><br>\tgoodGay();<br>\tvoid visit(); \/\/\u53ea\u8ba9visit\u51fd\u6570\u4f5c\u4e3aBuilding\u7684\u597d\u670b\u53cb\uff0c\u53ef\u4ee5\u53d1\u8bbf\u95eeBuilding\u4e2d\u79c1\u6709\u5185\u5bb9<br>\tvoid visit2(); <br><br>private:<br>\tBuilding *building;<br>};<br><br><br>class Building<br>{<br>\t\/\/\u544a\u8bc9\u7f16\u8bd1\u5668  goodGay\u7c7b\u4e2d\u7684visit\u6210\u5458\u51fd\u6570 \u662fBuilding\u597d\u670b\u53cb\uff0c\u53ef\u4ee5\u8bbf\u95ee\u79c1\u6709\u5185\u5bb9<br>\tfriend void goodGay::visit();<br><br>public:<br>\tBuilding();<br><br>public:<br>\tstring m_SittingRoom; \/\/\u5ba2\u5385<br>private:<br>\tstring m_BedRoom;\/\/\u5367\u5ba4<br>};<br><br>Building::Building()<br>{<br>\tthis-&gt;m_SittingRoom = \"\u5ba2\u5385\";<br>\tthis-&gt;m_BedRoom = \"\u5367\u5ba4\";<br>}<br><br>goodGay::goodGay()<br>{<br>\tbuilding = new Building;<br>}<br><br>void goodGay::visit()<br>{<br>\tcout &lt;&lt; \"\u597d\u57fa\u53cb\u6b63\u5728\u8bbf\u95ee\" &lt;&lt; building-&gt;m_SittingRoom &lt;&lt; endl;<br>\tcout &lt;&lt; \"\u597d\u57fa\u53cb\u6b63\u5728\u8bbf\u95ee\" &lt;&lt; building-&gt;m_BedRoom &lt;&lt; endl;<br>}<br><br>void goodGay::visit2()<br>{<br>\tcout &lt;&lt; \"\u597d\u57fa\u53cb\u6b63\u5728\u8bbf\u95ee\" &lt;&lt; building-&gt;m_SittingRoom &lt;&lt; endl;<br>\t\/\/cout &lt;&lt; \"\u597d\u57fa\u53cb\u6b63\u5728\u8bbf\u95ee\" &lt;&lt; building-&gt;m_BedRoom &lt;&lt; endl;<br>}<br><br>void test01()<br>{<br>\tgoodGay  gg;<br>\tgg.visit();<br><br>}<br><br>int main(){<br>    <br>\ttest01();<br><br>\tsystem(\"pause\");<br>\treturn 0;<br>}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4.5 \u8fd0\u7b97\u7b26\u91cd\u8f7d<\/h3>\n\n\n\n<p>\u8fd0\u7b97\u7b26\u91cd\u8f7d\u6982\u5ff5\uff1a\u5bf9\u5df2\u6709\u7684\u8fd0\u7b97\u7b26\u91cd\u65b0\u8fdb\u884c\u5b9a\u4e49\uff0c\u8d4b\u4e88\u5176\u53e6\u4e00\u79cd\u529f\u80fd\uff0c\u4ee5\u9002\u5e94\u4e0d\u540c\u7684\u6570\u636e\u7c7b\u578b<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4.5.1 \u52a0\u53f7\u8fd0\u7b97\u7b26\u91cd\u8f7d<\/h4>\n\n\n\n<p>\u4f5c\u7528\uff1a\u5b9e\u73b0\u4e24\u4e2a\u81ea\u5b9a\u4e49\u6570\u636e\u7c7b\u578b\u76f8\u52a0\u7684\u8fd0\u7b97<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person {<br>public:<br>\tPerson() {};<br>\tPerson(int a, int b)<br>\t{<br>\t\tthis-&gt;m_A = a;<br>\t\tthis-&gt;m_B = b;<br>\t}<br>\t\/\/\u6210\u5458\u51fd\u6570\u5b9e\u73b0'+'\u53f7\u8fd0\u7b97\u7b26\u91cd\u8f7d<br>\tPerson operator+(const Person&amp; p) {<br>\t\tPerson temp;<br>\t\ttemp.m_A = this-&gt;m_A + p.m_A;<br>\t\ttemp.m_B = this-&gt;m_B + p.m_B;<br>\t\treturn temp;<br>\t}<br><br><br>public:<br>\tint m_A;<br>\tint m_B;<br>};<br><br>\/\/\u5168\u5c40\u51fd\u6570\u5b9e\u73b0'+'\u53f7\u8fd0\u7b97\u7b26\u91cd\u8f7d<br>\/\/Person operator+(const Person&amp; p1, const Person&amp; p2) {<br>\/\/\tPerson temp(0, 0);<br>\/\/\ttemp.m_A = p1.m_A + p2.m_A;<br>\/\/\ttemp.m_B = p1.m_B + p2.m_B;<br>\/\/\treturn temp;<br>\/\/}<br><br>\/\/\u8fd0\u7b97\u7b26\u91cd\u8f7d \u53ef\u4ee5\u53d1\u751f\u51fd\u6570\u91cd\u8f7d <br>Person operator+(const Person&amp; p2, int val)  <br>{<br>\tPerson temp;<br>\ttemp.m_A = p2.m_A + val;<br>\ttemp.m_B = p2.m_B + val;<br>\treturn temp;<br>}<br><br>void test() {<br><br>\tPerson p1(10, 10);<br>\tPerson p2(20, 20);<br><br>\t\/\/\u6210\u5458\u51fd\u6570\u65b9\u5f0f<br>\tPerson p3 = p2 + p1;  \/\/\u76f8\u5f53\u4e8e p2.operaor+(p1)<br>\tcout &lt;&lt; \"mA:\" &lt;&lt; p3.m_A &lt;&lt; \" mB:\" &lt;&lt; p3.m_B &lt;&lt; endl;<br><br><br>\tPerson p4 = p3 + 10; \/\/\u76f8\u5f53\u4e8e operator+(p3,10)<br>\tcout &lt;&lt; \"mA:\" &lt;&lt; p4.m_A &lt;&lt; \" mB:\" &lt;&lt; p4.m_B &lt;&lt; endl;<br><br>}<br><br>int main() {<br><br>\ttest();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u603b\u7ed31\uff1a\u5bf9\u4e8e\u5185\u7f6e\u7684\u6570\u636e\u7c7b\u578b\u7684\u8868\u8fbe\u5f0f\u7684\u7684\u8fd0\u7b97\u7b26\u662f\u4e0d\u53ef\u80fd\u6539\u53d8\u7684<\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u603b\u7ed32\uff1a\u4e0d\u8981\u6ee5\u7528\u8fd0\u7b97\u7b26\u91cd\u8f7d<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">4.5.2 \u5de6\u79fb\u8fd0\u7b97\u7b26\u91cd\u8f7d<\/h4>\n\n\n\n<p>\u4f5c\u7528\uff1a\u53ef\u4ee5\u8f93\u51fa\u81ea\u5b9a\u4e49\u6570\u636e\u7c7b\u578b<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person {<br>\tfriend ostream&amp; operator&lt;&lt;(ostream&amp; out, Person&amp; p);<br><br>public:<br><br>\tPerson(int a, int b)<br>\t{<br>\t\tthis-&gt;m_A = a;<br>\t\tthis-&gt;m_B = b;<br>\t}<br><br>\t\/\/\u6210\u5458\u51fd\u6570\u5b9e\u73b0\u4e0d\u4e86 p &lt;&lt; cout \u4e0d\u662f\u6211\u4eec\u60f3\u8981\u7684\u6548\u679c<br>\t\/\/void operator&lt;&lt;(Person&amp; p){<br>\t\/\/}<br><br>private:<br>\tint m_A;<br>\tint m_B;<br>};<br><br>\/\/\u5168\u5c40\u51fd\u6570\u5b9e\u73b0\u5de6\u79fb\u91cd\u8f7d<br>\/\/ostream\u5bf9\u8c61\u53ea\u80fd\u6709\u4e00\u4e2a<br>\/\/\u8fd4\u56de\u503c\u662fostream&amp;\uff0c\u4e3a\u4e86\u652f\u6301\u94fe\u5f0f\u8c03\u7528<br>ostream&amp; operator&lt;&lt;(ostream&amp; out, Person&amp; p) {<br>\tout &lt;&lt; \"a:\" &lt;&lt; p.m_A &lt;&lt; \" b:\" &lt;&lt; p.m_B;<br>\treturn out;<br>}<br><br>void test() {<br><br>\tPerson p1(10, 20);<br><br>\tcout &lt;&lt; p1 &lt;&lt; \"hello world\" &lt;&lt; endl; \/\/\u94fe\u5f0f\u7f16\u7a0b<br>}<br><br>int main() {<br><br>\ttest();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u603b\u7ed3\uff1a\u91cd\u8f7d\u5de6\u79fb\u8fd0\u7b97\u7b26\u914d\u5408\u53cb\u5143\u53ef\u4ee5\u5b9e\u73b0\u8f93\u51fa\u81ea\u5b9a\u4e49\u6570\u636e\u7c7b\u578b<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">4.5.3 \u9012\u589e\u8fd0\u7b97\u7b26\u91cd\u8f7d<\/h4>\n\n\n\n<p>\u4f5c\u7528\uff1a\u901a\u8fc7\u91cd\u8f7d\u9012\u589e\u8fd0\u7b97\u7b26\uff0c\u5b9e\u73b0\u81ea\u5df1\u7684\u6574\u578b\u6570\u636e<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class MyInteger {<br>\tfriend ostream&amp; operator&lt;&lt;(ostream&amp; out, MyInteger myint);<br><br>public:<br>\tMyInteger() {<br>\t\tm_Num = 0;<br>\t}<br>\t\/\/\u524d\u7f6e++<br>\tMyInteger&amp; operator++() {<br>\t\t\/\/\u5148++<br>\t\tm_Num++;<br>\t\t\/\/\u518d\u8fd4\u56de<br>\t\treturn *this;<br>\t}<br><br>\t\/\/\u540e\u7f6e++<br>\tMyInteger operator++(int) {<br>\t\t\/\/\u5148\u8fd4\u56de<br>\t\tMyInteger temp = *this; \/\/\u8bb0\u5f55\u5f53\u524d\u672c\u8eab\u7684\u503c\uff0c\u7136\u540e\u8ba9\u672c\u8eab\u7684\u503c\u52a01\uff0c\u4f46\u662f\u8fd4\u56de\u7684\u662f\u4ee5\u524d\u7684\u503c\uff0c\u8fbe\u5230\u5148\u8fd4\u56de\u540e++ <br>\t\tm_Num++;<br>\t\treturn temp;<br>\t}<br><br>private:<br>\tint m_Num;<br>};<br><br><br>ostream&amp; operator&lt;&lt;(ostream&amp; out, MyInteger myint) {<br>\tout &lt;&lt; myint.m_Num;<br>\treturn out;<br>}<br><br><br>\/\/\u524d\u7f6e++ \u5148++ \u518d\u8fd4\u56de<br>void test01() {<br>\tMyInteger myInt;<br>\tcout &lt;&lt; ++myInt &lt;&lt; endl;<br>\tcout &lt;&lt; myInt &lt;&lt; endl;<br>}<br><br>\/\/\u540e\u7f6e++ \u5148\u8fd4\u56de \u518d++<br>void test02() {<br><br>\tMyInteger myInt;<br>\tcout &lt;&lt; myInt++ &lt;&lt; endl;<br>\tcout &lt;&lt; myInt &lt;&lt; endl;<br>}<br><br>int main() {<br><br>\ttest01();<br>\t\/\/test02();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u603b\u7ed3\uff1a <strong>\u524d\u7f6e\u9012\u589e\u8fd4\u56de\u5f15\u7528\uff0c\u540e\u7f6e\u9012\u589e\u8fd4\u56de\u503c<\/strong><\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">4.5.4 \u8d4b\u503c\u8fd0\u7b97\u7b26\u91cd\u8f7d<\/h4>\n\n\n\n<p>C++\u7f16\u8bd1\u5668\u81f3\u5c11\u7ed9\u4e00\u4e2a\u7c7b\u6dfb\u52a04\u4e2a\u51fd\u6570\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u9ed8\u8ba4\u6784\u9020\u51fd\u6570(\u65e0\u53c2\uff0c\u51fd\u6570\u4f53\u4e3a\u7a7a)<\/li>\n\n\n\n<li>\u9ed8\u8ba4\u6790\u6784\u51fd\u6570(\u65e0\u53c2\uff0c\u51fd\u6570\u4f53\u4e3a\u7a7a)<\/li>\n\n\n\n<li>\u9ed8\u8ba4\u62f7\u8d1d\u6784\u9020\u51fd\u6570\uff0c\u5bf9\u5c5e\u6027\u8fdb\u884c\u503c\u62f7\u8d1d<\/li>\n\n\n\n<li>\u8d4b\u503c\u8fd0\u7b97\u7b26 operator=, \u5bf9\u5c5e\u6027\u8fdb\u884c\u503c\u62f7\u8d1d<\/li>\n<\/ol>\n\n\n\n<p>ps\uff1a\u5982\u679c\u7c7b\u4e2d\u6709\u5c5e\u6027\u6307\u5411\u5806\u533a\uff0c\u505a\u8d4b\u503c\u64cd\u4f5c\u65f6\u4e5f\u4f1a\u51fa\u73b0\u6df1\u6d45\u62f7\u8d1d\u95ee\u9898<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person<br>{<br>public:<br><br>\tPerson(int age)<br>\t{<br>\t\t\/\/\u5c06\u5e74\u9f84\u6570\u636e\u5f00\u8f9f\u5230\u5806\u533a<br>\t\tm_Age = new int(age);<br>\t}<br><br>\t\/\/\u91cd\u8f7d\u8d4b\u503c\u8fd0\u7b97\u7b26 <br>\tPerson&amp; operator=(Person &amp;p)<br>\t{<br>\t\tif (m_Age != NULL)<br>\t\t{<br>\t\t\tdelete m_Age;<br>\t\t\tm_Age = NULL;<br>\t\t}<br>\t\t\/\/\u7f16\u8bd1\u5668\u63d0\u4f9b\u7684\u4ee3\u7801\u662f\u6d45\u62f7\u8d1d<br>\t\t\/\/m_Age = p.m_Age;<br><br>\t\t\/\/\u63d0\u4f9b\u6df1\u62f7\u8d1d \u89e3\u51b3\u6d45\u62f7\u8d1d\u7684\u95ee\u9898<br>\t\tm_Age = new int(*p.m_Age);<br><br>\t\t\/\/\u8fd4\u56de\u81ea\u8eab<br>\t\treturn *this;<br>\t}<br><br><br>\t~Person()<br>\t{<br>\t\tif (m_Age != NULL)<br>\t\t{<br>\t\t\tdelete m_Age;<br>\t\t\tm_Age = NULL;<br>\t\t}<br>\t}<br><br>\t\/\/\u5e74\u9f84\u7684\u6307\u9488<br>\tint *m_Age;<br><br>};<br><br><br>void test01()<br>{<br>\tPerson p1(18);<br><br>\tPerson p2(20);<br><br>\tPerson p3(30);<br><br>\tp3 = p2 = p1; \/\/\u8d4b\u503c\u64cd\u4f5c<br><br>\tcout &lt;&lt; \"p1\u7684\u5e74\u9f84\u4e3a\uff1a\" &lt;&lt; *p1.m_Age &lt;&lt; endl;<br><br>\tcout &lt;&lt; \"p2\u7684\u5e74\u9f84\u4e3a\uff1a\" &lt;&lt; *p2.m_Age &lt;&lt; endl;<br><br>\tcout &lt;&lt; \"p3\u7684\u5e74\u9f84\u4e3a\uff1a\" &lt;&lt; *p3.m_Age &lt;&lt; endl;<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\t\/\/int a = 10;<br>\t\/\/int b = 20;<br>\t\/\/int c = 30;<br><br>\t\/\/c = b = a;<br>\t\/\/cout &lt;&lt; \"a = \" &lt;&lt; a &lt;&lt; endl;<br>\t\/\/cout &lt;&lt; \"b = \" &lt;&lt; b &lt;&lt; endl;<br>\t\/\/cout &lt;&lt; \"c = \" &lt;&lt; c &lt;&lt; endl;<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.5.5 \u5173\u7cfb\u8fd0\u7b97\u7b26\u91cd\u8f7d<\/h4>\n\n\n\n<p><strong>\u4f5c\u7528\uff1a<\/strong>\u91cd\u8f7d\u5173\u7cfb\u8fd0\u7b97\u7b26\uff0c\u5b9e\u73b0\u8ba9\u4e24\u4e2a\u81ea\u5b9a\u4e49\u7c7b\u578b\u5bf9\u8c61\u8fdb\u884c\u5bf9\u6bd4\u64cd\u4f5c<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Person<br>{<br>public:<br>\tPerson(string name, int age)<br>\t{<br>\t\tthis-&gt;m_Name = name;<br>\t\tthis-&gt;m_Age = age;<br>\t};<br><br>\tbool operator==(Person &amp; p)<br>\t{<br>\t\tif (this-&gt;m_Name == p.m_Name &amp;&amp; this-&gt;m_Age == p.m_Age)<br>\t\t{<br>\t\t\treturn true;<br>\t\t}<br>\t\telse<br>\t\t{<br>\t\t\treturn false;<br>\t\t}<br>\t}<br><br>\tbool operator!=(Person &amp; p)<br>\t{<br>\t\tif (this-&gt;m_Name == p.m_Name &amp;&amp; this-&gt;m_Age == p.m_Age)<br>\t\t{<br>\t\t\treturn false;<br>\t\t}<br>\t\telse<br>\t\t{<br>\t\t\treturn true;<br>\t\t}<br>\t}<br><br>\tstring m_Name;<br>\tint m_Age;<br>};<br><br>void test01()<br>{<br>\t\/\/int a = 0;<br>\t\/\/int b = 0;<br><br>\tPerson a(\"\u5b59\u609f\u7a7a\", 18);<br>\tPerson b(\"\u5b59\u609f\u7a7a\", 18);<br><br>\tif (a == b)<br>\t{<br>\t\tcout &lt;&lt; \"a\u548cb\u76f8\u7b49\" &lt;&lt; endl;<br>\t}<br>\telse<br>\t{<br>\t\tcout &lt;&lt; \"a\u548cb\u4e0d\u76f8\u7b49\" &lt;&lt; endl;<br>\t}<br><br>\tif (a != b)<br>\t{<br>\t\tcout &lt;&lt; \"a\u548cb\u4e0d\u76f8\u7b49\" &lt;&lt; endl;<br>\t}<br>\telse<br>\t{<br>\t\tcout &lt;&lt; \"a\u548cb\u76f8\u7b49\" &lt;&lt; endl;<br>\t}<br>}<br><br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.5.6 \u51fd\u6570\u8c03\u7528\u8fd0\u7b97\u7b26\u91cd\u8f7d<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u51fd\u6570\u8c03\u7528\u8fd0\u7b97\u7b26 () \u4e5f\u53ef\u4ee5\u91cd\u8f7d<\/li>\n\n\n\n<li>\u7531\u4e8e\u91cd\u8f7d\u540e\u4f7f\u7528\u7684\u65b9\u5f0f\u975e\u5e38\u50cf\u51fd\u6570\u7684\u8c03\u7528\uff0c\u56e0\u6b64\u79f0\u4e3a\u4eff\u51fd\u6570<\/li>\n\n\n\n<li>\u4eff\u51fd\u6570\u6ca1\u6709\u56fa\u5b9a\u5199\u6cd5\uff0c\u975e\u5e38\u7075\u6d3b<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class MyPrint<br>{<br>public:<br>\tvoid operator()(string text)<br>\t{<br>\t\tcout &lt;&lt; text &lt;&lt; endl;<br>\t}<br><br>};<br>void test01()<br>{<br>\t\/\/\u91cd\u8f7d\u7684()\u64cd\u4f5c\u7b26 \u4e5f\u79f0\u4e3a\u4eff\u51fd\u6570<br>\tMyPrint myFunc;<br>\tmyFunc(\"hello world\");<br>}<br><br><br>class MyAdd<br>{<br>public:<br>\tint operator()(int v1, int v2)<br>\t{<br>\t\treturn v1 + v2;<br>\t}<br>};<br><br>void test02()<br>{<br>\tMyAdd add;<br>\tint ret = add(10, 10);<br>\tcout &lt;&lt; \"ret = \" &lt;&lt; ret &lt;&lt; endl;<br><br>\t\/\/\u533f\u540d\u5bf9\u8c61\u8c03\u7528  <br>\tcout &lt;&lt; \"MyAdd()(100,100) = \" &lt;&lt; MyAdd()(100, 100) &lt;&lt; endl;<br>}<br><br>int main() {<br><br>\ttest01();<br>\ttest02();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4.6 \u7ee7\u627f<\/h3>\n\n\n\n<p><strong>\u7ee7\u627f\u662f\u9762\u5411\u5bf9\u8c61\u4e09\u5927\u7279\u6027\u4e4b\u4e00<\/strong><\/p>\n\n\n\n<p>\u6709\u4e9b\u7c7b\u4e0e\u7c7b\u4e4b\u95f4\u5b58\u5728\u7279\u6b8a\u7684\u5173\u7cfb\uff0c\u4f8b\u5982\u4e0b\u56fe\u4e2d\uff1a<\/p>\n\n\n\n<p>\u6211\u4eec\u53d1\u73b0\uff0c\u5b9a\u4e49\u8fd9\u4e9b\u7c7b\u65f6\uff0c\u4e0b\u7ea7\u522b\u7684\u6210\u5458\u9664\u4e86\u62e5\u6709\u4e0a\u4e00\u7ea7\u7684\u5171\u6027\uff0c\u8fd8\u6709\u81ea\u5df1\u7684\u7279\u6027\u3002<\/p>\n\n\n\n<p>\u8fd9\u4e2a\u65f6\u5019\u6211\u4eec\u5c31\u53ef\u4ee5\u8003\u8651\u5229\u7528\u7ee7\u627f\u7684\u6280\u672f\uff0c\u51cf\u5c11\u91cd\u590d\u4ee3\u7801<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4.6.1 \u7ee7\u627f\u7684\u57fa\u672c\u8bed\u6cd5<\/h4>\n\n\n\n<p>\u4f8b\u5982\u6211\u4eec\u770b\u5230\u5f88\u591a\u7f51\u7ad9\u4e2d\uff0c\u90fd\u6709\u516c\u5171\u7684\u5934\u90e8\uff0c\u516c\u5171\u7684\u5e95\u90e8\uff0c\u751a\u81f3\u516c\u5171\u7684\u5de6\u4fa7\u5217\u8868\uff0c\u53ea\u6709\u4e2d\u5fc3\u5185\u5bb9\u4e0d\u540c<\/p>\n\n\n\n<p>\u63a5\u4e0b\u6765\u6211\u4eec\u5206\u522b\u5229\u7528\u666e\u901a\u5199\u6cd5\u548c\u7ee7\u627f\u7684\u5199\u6cd5\u6765\u5b9e\u73b0\u7f51\u9875\u4e2d\u7684\u5185\u5bb9\uff0c\u770b\u4e00\u4e0b\u7ee7\u627f\u5b58\u5728\u7684\u610f\u4e49\u4ee5\u53ca\u597d\u5904<\/p>\n\n\n\n<p><strong>\u666e\u901a\u5b9e\u73b0\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/Java\u9875\u9762<br>class Java <br>{<br>public:<br>\tvoid header()<br>\t{<br>\t\tcout &lt;&lt; \"\u9996\u9875\u3001\u516c\u5f00\u8bfe\u3001\u767b\u5f55\u3001\u6ce8\u518c...\uff08\u516c\u5171\u5934\u90e8\uff09\" &lt;&lt; endl;<br>\t}<br>\tvoid footer()<br>\t{<br>\t\tcout &lt;&lt; \"\u5e2e\u52a9\u4e2d\u5fc3\u3001\u4ea4\u6d41\u5408\u4f5c\u3001\u7ad9\u5185\u5730\u56fe...(\u516c\u5171\u5e95\u90e8)\" &lt;&lt; endl;<br>\t}<br>\tvoid left()<br>\t{<br>\t\tcout &lt;&lt; \"Java,Python,C++...(\u516c\u5171\u5206\u7c7b\u5217\u8868)\" &lt;&lt; endl;<br>\t}<br>\tvoid content()<br>\t{<br>\t\tcout &lt;&lt; \"JAVA\u5b66\u79d1\u89c6\u9891\" &lt;&lt; endl;<br>\t}<br>};<br><br>\/\/Python\u9875\u9762<br>class Python<br>{<br>public:<br>\tvoid header()<br>\t{<br>\t\tcout &lt;&lt; \"\u9996\u9875\u3001\u516c\u5f00\u8bfe\u3001\u767b\u5f55\u3001\u6ce8\u518c...\uff08\u516c\u5171\u5934\u90e8\uff09\" &lt;&lt; endl;<br>\t}<br>\tvoid footer()<br>\t{<br>\t\tcout &lt;&lt; \"\u5e2e\u52a9\u4e2d\u5fc3\u3001\u4ea4\u6d41\u5408\u4f5c\u3001\u7ad9\u5185\u5730\u56fe...(\u516c\u5171\u5e95\u90e8)\" &lt;&lt; endl;<br>\t}<br>\tvoid left()<br>\t{<br>\t\tcout &lt;&lt; \"Java,Python,C++...(\u516c\u5171\u5206\u7c7b\u5217\u8868)\" &lt;&lt; endl;<br>\t}<br>\tvoid content()<br>\t{<br>\t\tcout &lt;&lt; \"Python\u5b66\u79d1\u89c6\u9891\" &lt;&lt; endl;<br>\t}<br>};<br><br>\/\/C++\u9875\u9762<br>class CPP <br>{<br>public:<br>\tvoid header()<br>\t{<br>\t\tcout &lt;&lt; \"\u9996\u9875\u3001\u516c\u5f00\u8bfe\u3001\u767b\u5f55\u3001\u6ce8\u518c...\uff08\u516c\u5171\u5934\u90e8\uff09\" &lt;&lt; endl;<br>\t}<br>\tvoid footer()<br>\t{<br>\t\tcout &lt;&lt; \"\u5e2e\u52a9\u4e2d\u5fc3\u3001\u4ea4\u6d41\u5408\u4f5c\u3001\u7ad9\u5185\u5730\u56fe...(\u516c\u5171\u5e95\u90e8)\" &lt;&lt; endl;<br>\t}<br>\tvoid left()<br>\t{<br>\t\tcout &lt;&lt; \"Java,Python,C++...(\u516c\u5171\u5206\u7c7b\u5217\u8868)\" &lt;&lt; endl;<br>\t}<br>\tvoid content()<br>\t{<br>\t\tcout &lt;&lt; \"C++\u5b66\u79d1\u89c6\u9891\" &lt;&lt; endl;<br>\t}<br>};<br><br>void test01()<br>{<br>\t\/\/Java\u9875\u9762<br>\tcout &lt;&lt; \"Java\u4e0b\u8f7d\u89c6\u9891\u9875\u9762\u5982\u4e0b\uff1a \" &lt;&lt; endl;<br>\tJava ja;<br>\tja.header();<br>\tja.footer();<br>\tja.left();<br>\tja.content();<br>\tcout &lt;&lt; \"--------------------\" &lt;&lt; endl;<br><br>\t\/\/Python\u9875\u9762<br>\tcout &lt;&lt; \"Python\u4e0b\u8f7d\u89c6\u9891\u9875\u9762\u5982\u4e0b\uff1a \" &lt;&lt; endl;<br>\tPython py;<br>\tpy.header();<br>\tpy.footer();<br>\tpy.left();<br>\tpy.content();<br>\tcout &lt;&lt; \"--------------------\" &lt;&lt; endl;<br><br>\t\/\/C++\u9875\u9762<br>\tcout &lt;&lt; \"C++\u4e0b\u8f7d\u89c6\u9891\u9875\u9762\u5982\u4e0b\uff1a \" &lt;&lt; endl;<br>\tCPP cp;<br>\tcp.header();<br>\tcp.footer();<br>\tcp.left();<br>\tcp.content();<br><br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<p><strong>\u7ee7\u627f\u5b9e\u73b0\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u516c\u5171\u9875\u9762<br>class BasePage<br>{<br>public:<br>\tvoid header()<br>\t{<br>\t\tcout &lt;&lt; \"\u9996\u9875\u3001\u516c\u5f00\u8bfe\u3001\u767b\u5f55\u3001\u6ce8\u518c...\uff08\u516c\u5171\u5934\u90e8\uff09\" &lt;&lt; endl;<br>\t}<br><br>\tvoid footer()<br>\t{<br>\t\tcout &lt;&lt; \"\u5e2e\u52a9\u4e2d\u5fc3\u3001\u4ea4\u6d41\u5408\u4f5c\u3001\u7ad9\u5185\u5730\u56fe...(\u516c\u5171\u5e95\u90e8)\" &lt;&lt; endl;<br>\t}<br>\tvoid left()<br>\t{<br>\t\tcout &lt;&lt; \"Java,Python,C++...(\u516c\u5171\u5206\u7c7b\u5217\u8868)\" &lt;&lt; endl;<br>\t}<br><br>};<br><br>\/\/Java\u9875\u9762<br>class Java : public BasePage<br>{<br>public:<br>\tvoid content()<br>\t{<br>\t\tcout &lt;&lt; \"JAVA\u5b66\u79d1\u89c6\u9891\" &lt;&lt; endl;<br>\t}<br>};<br>\/\/Python\u9875\u9762<br>class Python : public BasePage<br>{<br>public:<br>\tvoid content()<br>\t{<br>\t\tcout &lt;&lt; \"Python\u5b66\u79d1\u89c6\u9891\" &lt;&lt; endl;<br>\t}<br>};<br>\/\/C++\u9875\u9762<br>class CPP : public BasePage<br>{<br>public:<br>\tvoid content()<br>\t{<br>\t\tcout &lt;&lt; \"C++\u5b66\u79d1\u89c6\u9891\" &lt;&lt; endl;<br>\t}<br>};<br><br>void test01()<br>{<br>\t\/\/Java\u9875\u9762<br>\tcout &lt;&lt; \"Java\u4e0b\u8f7d\u89c6\u9891\u9875\u9762\u5982\u4e0b\uff1a \" &lt;&lt; endl;<br>\tJava ja;<br>\tja.header();<br>\tja.footer();<br>\tja.left();<br>\tja.content();<br>\tcout &lt;&lt; \"--------------------\" &lt;&lt; endl;<br><br>\t\/\/Python\u9875\u9762<br>\tcout &lt;&lt; \"Python\u4e0b\u8f7d\u89c6\u9891\u9875\u9762\u5982\u4e0b\uff1a \" &lt;&lt; endl;<br>\tPython py;<br>\tpy.header();<br>\tpy.footer();<br>\tpy.left();<br>\tpy.content();<br>\tcout &lt;&lt; \"--------------------\" &lt;&lt; endl;<br><br>\t\/\/C++\u9875\u9762<br>\tcout &lt;&lt; \"C++\u4e0b\u8f7d\u89c6\u9891\u9875\u9762\u5982\u4e0b\uff1a \" &lt;&lt; endl;<br>\tCPP cp;<br>\tcp.header();<br>\tcp.footer();<br>\tcp.left();<br>\tcp.content();<br><br><br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<p><strong>\u603b\u7ed3\uff1a<\/strong><\/p>\n\n\n\n<p>\u7ee7\u627f\u7684\u597d\u5904\uff1a\u53ef\u4ee5<strong>\u51cf\u5c11\u91cd\u590d\u7684\u4ee3\u7801<\/strong><\/p>\n\n\n\n<p>class A : public B;<\/p>\n\n\n\n<p>A \u7c7b\u79f0\u4e3a\u5b50\u7c7b \u6216 \u6d3e\u751f\u7c7b<\/p>\n\n\n\n<p>B \u7c7b\u79f0\u4e3a\u7236\u7c7b \u6216 \u57fa\u7c7b<\/p>\n\n\n\n<p>\u6d3e\u751f\u7c7b\u4e2d\u7684\u6210\u5458\uff0c\u5305\u62ec<strong>\u4e24\u90e8\u5206<\/strong>\uff1a<\/p>\n\n\n\n<p>\u4e00\u90e8\u5206\u662f\u4ece\u57fa\u7c7b\u7ee7\u627f\u8fc7\u6765\u7684\uff0c\u4e00\u90e8\u5206\u662f\u81ea\u5df1\u589e\u52a0\u7684\u6210\u5458<\/p>\n\n\n\n<p>\u4ece\u57fa\u7c7b\u7ee7\u627f\u8fc7\u8fc7\u6765\u7684\u8868\u73b0\u5176\u5171\u6027\uff0c\u800c\u65b0\u589e\u7684\u6210\u5458\u4f53\u73b0\u5176\u4e2a\u6027<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4.6.2 \u7ee7\u627f\u65b9\u5f0f<\/h4>\n\n\n\n<p>\u7ee7\u627f\u7684\u8bed\u6cd5\uff1a<code>class \u5b50\u7c7b : \u7ee7\u627f\u65b9\u5f0f \u7236\u7c7b<\/code><\/p>\n\n\n\n<p><strong>\u7ee7\u627f\u65b9\u5f0f\u4e00\u5171\u6709\u4e09\u79cd\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u516c\u5171\u7ee7\u627f<\/li>\n\n\n\n<li>\u4fdd\u62a4\u7ee7\u627f<\/li>\n\n\n\n<li>\u79c1\u6709\u7ee7\u627f<\/li>\n<\/ul>\n\n\n\n<p><strong>\u7ee7\u627f\u539f\u5219\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u539f\u6765\u662fpublic\uff0c\u88abprotected\u6216\u8005private\u7ee7\u627f\uff0c\u5219\u53d8\u4e3aprotected\u6216\u8005private<\/li>\n\n\n\n<li>\u5982\u679c\u539f\u6765\u662fprotected\uff0c\u88abpublic\u7ee7\u627f\uff0c\u5219\u4f9d\u7136\u4e3aprotected<\/li>\n\n\n\n<li>\u5982\u679c\u539f\u6765\u662fprivate\uff0c\u65e0\u8bba\u54ea\u79cd\u7ee7\u627f\uff0cprivate\u6210\u5458\u90fd\u4e0d\u4f1a\u88ab\u7ee7\u627f\u4e0b\u53bb<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Base1<br>{<br>public: <br>\tint m_A;<br>protected:<br>\tint m_B;<br>private:<br>\tint m_C;<br>};<br><br>\/\/\u516c\u5171\u7ee7\u627f<br>class Son1 :public Base1<br>{<br>public:<br>\tvoid func()<br>\t{<br>\t\tm_A; \/\/\u53ef\u8bbf\u95ee\uff0c\u4fdd\u6301 public \u6743\u9650<br>\t\tm_B; \/\/\u53ef\u8bbf\u95ee\uff0c\u4fdd\u6301 protected \u6743\u9650<br>\t\t\/\/m_C; \/\/\u4e0d\u53ef\u8bbf\u95ee\uff0cprivate \u6210\u5458\u4e0d\u4f1a\u88ab\u7ee7\u627f<br>\t}<br>};<br><br>void myClass()<br>{<br>\tSon1 s1;<br>\ts1.m_A; \/\/ \u53ef\u8bbf\u95ee\uff0cpublic \u7ee7\u627f\u540e m_A \u4ecd\u7136\u662f public<br>\t\/\/ s1.m_B; \/\/ \u4e0d\u53ef\u8bbf\u95ee\uff0cprotected \u7ee7\u627f\u540e m_B \u4e0d\u80fd\u88ab\u5916\u90e8\u8bbf\u95ee<br>\t\/\/ s1.m_C; \/\/ \u4e0d\u53ef\u8bbf\u95ee\uff0cprivate \u6210\u5458\u4e0d\u4f1a\u88ab\u7ee7\u627f<br>}<br><br>\/\/\u4fdd\u62a4\u7ee7\u627f<br>class Base2<br>{<br>public:<br>\tint m_A;<br>protected:<br>\tint m_B;<br>private:<br>\tint m_C;<br>};<br>class Son2:protected Base2<br>{<br>public:<br>\tvoid func()<br>\t{<br>\t\tm_A; \/\/\u53ef\u8bbf\u95ee\uff0c\u53d8\u6210 protected<br>\t\tm_B; \/\/\u53ef\u8bbf\u95ee\uff0c\u4fdd\u6301 protected<br>\t\t\/\/m_C; \/\/\u4e0d\u53ef\u8bbf\u95ee\uff0cprivate \u6210\u5458\u4e0d\u4f1a\u88ab\u7ee7\u627f<br>\t}<br>};<br>void myClass2()<br>{<br>\tSon2 s;<br>\t\/\/ s.m_A; \/\/ \u4e0d\u53ef\u8bbf\u95ee\uff0cpublic \u53d8\u6210 protected\uff0c\u5916\u90e8\u65e0\u6cd5\u8bbf\u95ee<br>\t\/\/ s.m_B; \/\/ \u4e0d\u53ef\u8bbf\u95ee\uff0cprotected \u5916\u90e8\u65e0\u6cd5\u8bbf\u95ee<br>}<br><br>\/\/\u79c1\u6709\u7ee7\u627f<br>class Base3<br>{<br>public:<br>\tint m_A;<br>protected:<br>\tint m_B;<br>private:<br>\tint m_C;<br>};<br>class Son3:private Base3<br>{<br>public:<br>\tvoid func()<br>\t{<br>\t\tm_A; \/\/\u53ef\u8bbf\u95ee\uff0c\u53d8\u6210 private<br>\t\tm_B; \/\/\u53ef\u8bbf\u95ee\uff0c\u53d8\u6210 private<br>\t\t\/\/m_C; \/\/\u4e0d\u53ef\u8bbf\u95ee\uff0cprivate \u6210\u5458\u4e0d\u4f1a\u88ab\u7ee7\u627f<br>\t}<br>};<br>class GrandSon3 :public Son3<br>{<br>public:<br>\tvoid func()<br>\t{<br>\t\t\/\/ \u7531\u4e8e Son3 \u79c1\u6709\u7ee7\u627f\u4e86 Base3\uff0c\u6240\u4ee5 Base3 \u7684\u6210\u5458\u5728 GrandSon3 \u4e2d\u4e0d\u53ef\u89c1<br>\t\t\/\/ m_A; \/\/ \u8bbf\u95ee\u4e0d\u5230<br>\t\t\/\/ m_B; \/\/ \u8bbf\u95ee\u4e0d\u5230<br>\t\t\/\/ m_C; \/\/ \u8bbf\u95ee\u4e0d\u5230<br>\t}<br>};<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.6.3 \u7ee7\u627f\u4e2d\u7684\u5bf9\u8c61\u6a21\u578b<\/h4>\n\n\n\n<p><strong>\u95ee\u9898\uff1a<\/strong>\u4ece\u7236\u7c7b\u7ee7\u627f\u8fc7\u6765\u7684\u6210\u5458\uff0c\u54ea\u4e9b\u5c5e\u4e8e\u5b50\u7c7b\u5bf9\u8c61\uff1f<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Base<br>{<br>public:<br>\tint m_A;<br>protected:<br>\tint m_B;<br>private:<br>\tint m_C; \/\/\u79c1\u6709\u6210\u5458\u53ea\u662f\u88ab\u9690\u85cf\u4e86\uff0c\u4f46\u662f\u8fd8\u662f\u4f1a\u7ee7\u627f\u4e0b\u53bb<br>};<br><br>\/\/\u516c\u5171\u7ee7\u627f<br>class Son :public Base<br>{<br>public:<br>\tint m_D;<br>};<br><br>void test01()<br>{<br>\tcout &lt;&lt; \"sizeof Son = \" &lt;&lt; sizeof(Son) &lt;&lt; endl;<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<p>\u5229\u7528\u5de5\u5177\u67e5\u770b\uff1a<\/p>\n\n\n\n<p>\u6253\u5f00\u5de5\u5177\u7a97\u53e3\u540e\uff0c\u5b9a\u4f4d\u5230\u5f53\u524dCPP\u6587\u4ef6\u7684\u76d8\u7b26<\/p>\n\n\n\n<p>\u7136\u540e\u8f93\u5165\uff1a cl \/d1 reportSingleClassLayout\u67e5\u770b\u7684\u7c7b\u540d \u6240\u5c5e\u6587\u4ef6\u540d<\/p>\n\n\n\n<p>\u6548\u679c\u5982\u4e0b\u56fe\uff1a<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u7ed3\u8bba\uff1a \u7236\u7c7b\u4e2d\u79c1\u6709\u6210\u5458\u4e5f\u662f\u88ab\u5b50\u7c7b\u7ee7\u627f\u4e0b\u53bb\u4e86\uff0c\u53ea\u662f\u7531\u7f16\u8bd1\u5668\u7ed9\u9690\u85cf\u540e\u8bbf\u95ee\u4e0d\u5230<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">4.6.4 \u7ee7\u627f\u4e2d\u6784\u9020\u548c\u6790\u6784\u987a\u5e8f<\/h4>\n\n\n\n<p>\u5b50\u7c7b\u7ee7\u627f\u7236\u7c7b\u540e\uff0c\u5f53\u521b\u5efa\u5b50\u7c7b\u5bf9\u8c61\uff0c\u4e5f\u4f1a\u8c03\u7528\u7236\u7c7b\u7684\u6784\u9020\u51fd\u6570<\/p>\n\n\n\n<p>\u95ee\u9898\uff1a\u7236\u7c7b\u548c\u5b50\u7c7b\u7684\u6784\u9020\u548c\u6790\u6784\u987a\u5e8f\u662f\u8c01\u5148\u8c01\u540e\uff1f<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Base <br>{<br>public:<br>\tBase()<br>\t{<br>\t\tcout &lt;&lt; \"Base\u6784\u9020\u51fd\u6570!\" &lt;&lt; endl;<br>\t}<br>\t~Base()<br>\t{<br>\t\tcout &lt;&lt; \"Base\u6790\u6784\u51fd\u6570!\" &lt;&lt; endl;<br>\t}<br>};<br><br>class Son : public Base<br>{<br>public:<br>\tSon()<br>\t{<br>\t\tcout &lt;&lt; \"Son\u6784\u9020\u51fd\u6570!\" &lt;&lt; endl;<br>\t}<br>\t~Son()<br>\t{<br>\t\tcout &lt;&lt; \"Son\u6790\u6784\u51fd\u6570!\" &lt;&lt; endl;<br>\t}<br><br>};<br><br><br>void test01()<br>{<br>\t\/\/\u7ee7\u627f\u4e2d \u5148\u8c03\u7528\u7236\u7c7b\u6784\u9020\u51fd\u6570\uff0c\u518d\u8c03\u7528\u5b50\u7c7b\u6784\u9020\u51fd\u6570\uff0c\u6790\u6784\u987a\u5e8f\u4e0e\u6784\u9020\u76f8\u53cd<br>\tSon s;<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u603b\u7ed3\uff1a\u7ee7\u627f\u4e2d\u5148\u8c03\u7528\u7236\u7c7b\u6784\u9020\u51fd\u6570\uff0c\u518d\u8c03\u7528\u5b50\u7c7b\u6784\u9020\u51fd\u6570\uff0c\u6790\u6784\u987a\u5e8f\u4e0e\u6784\u9020\u76f8\u53cd<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">4.6.5 \u7ee7\u627f\u540c\u540d\u6210\u5458\u5904\u7406\u65b9\u5f0f<\/h4>\n\n\n\n<p>\u95ee\u9898\uff1a\u5f53\u5b50\u7c7b\u4e0e\u7236\u7c7b\u51fa\u73b0\u540c\u540d\u7684\u6210\u5458\uff0c\u5982\u4f55\u901a\u8fc7\u5b50\u7c7b\u5bf9\u8c61\uff0c\u8bbf\u95ee\u5230\u5b50\u7c7b\u6216\u7236\u7c7b\u4e2d\u540c\u540d\u7684\u6570\u636e\uff1f<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8bbf\u95ee\u5b50\u7c7b\u540c\u540d\u6210\u5458 \u76f4\u63a5\u8bbf\u95ee\u5373\u53ef<\/li>\n\n\n\n<li>\u8bbf\u95ee\u7236\u7c7b\u540c\u540d\u6210\u5458 \u9700\u8981\u52a0\u4f5c\u7528\u57df<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Base {<br>public:<br>\tBase()<br>\t{<br>\t\tm_A = 100;<br>\t}<br><br>\tvoid func()<br>\t{<br>\t\tcout &lt;&lt; \"Base - func()\u8c03\u7528\" &lt;&lt; endl;<br>\t}<br><br>\tvoid func(int a)<br>\t{<br>\t\tcout &lt;&lt; \"Base - func(int a)\u8c03\u7528\" &lt;&lt; endl;<br>\t}<br><br>public:<br>\tint m_A;<br>};<br><br><br>class Son : public Base {<br>public:<br>\tSon()<br>\t{<br>\t\tm_A = 200;<br>\t}<br><br>\t\/\/\u82e5\u5b50\u7c7b\u4e0e\u7236\u7c7b\u62e5\u6709\u540c\u540d\u7684\u6210\u5458\u51fd\u6570\uff0c\u5b50\u7c7b\u4f1a\u9690\u85cf\u7236\u7c7b\u4e2d\u6240\u6709\u7248\u672c\u7684\u540c\u540d\u6210\u5458\u51fd\u6570<br>\t\/\/\u5982\u679c\u60f3\u8bbf\u95ee\u7236\u7c7b\u4e2d\u88ab\u9690\u85cf\u7684\u540c\u540d\u6210\u5458\u51fd\u6570\uff0c\u9700\u8981\u52a0\u7236\u7c7b\u7684\u4f5c\u7528\u57df<br>\tvoid func()<br>\t{<br>\t\tcout &lt;&lt; \"Son - func()\u8c03\u7528\" &lt;&lt; endl;<br>\t}<br>public:<br>\tint m_A;<br>};<br><br>void test01()<br>{<br>\tSon s;<br><br>\tcout &lt;&lt; \"Son\u4e0b\u7684m_A = \" &lt;&lt; s.m_A &lt;&lt; endl;<br>\tcout &lt;&lt; \"Base\u4e0b\u7684m_A = \" &lt;&lt; s.Base::m_A &lt;&lt; endl;<br><br>\ts.func();<br>\ts.Base::func();<br>\ts.Base::func(10);<br><br>}<br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br>\treturn EXIT_SUCCESS;<br>}<\/pre>\n\n\n\n<p>\u603b\u7ed3\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5b50\u7c7b\u5bf9\u8c61\u53ef\u4ee5\u76f4\u63a5\u8bbf\u95ee\u5230\u5b50\u7c7b\u4e2d\u540c\u540d\u6210\u5458<\/li>\n\n\n\n<li>\u5b50\u7c7b\u5bf9\u8c61\u52a0\u4f5c\u7528\u57df\u53ef\u4ee5\u8bbf\u95ee\u5230\u7236\u7c7b\u540c\u540d\u6210\u5458<\/li>\n\n\n\n<li>\u5f53\u5b50\u7c7b\u4e0e\u7236\u7c7b\u62e5\u6709\u540c\u540d\u7684\u6210\u5458\u51fd\u6570\uff0c\u5b50\u7c7b\u4f1a\u9690\u85cf\u7236\u7c7b\u4e2d\u540c\u540d\u6210\u5458\u51fd\u6570\uff0c\u52a0\u4f5c\u7528\u57df\u624d\u53ef\u4ee5\u8bbf\u95ee\u5230\u7236\u7c7b\u4e2d\u540c\u540d\u51fd\u6570<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">4.6.6 \u7ee7\u627f\u540c\u540d\u9759\u6001\u6210\u5458\u5904\u7406\u65b9\u5f0f<\/h4>\n\n\n\n<p>\u95ee\u9898\uff1a\u7ee7\u627f\u4e2d\u540c\u540d\u7684\u9759\u6001\u6210\u5458\u5728\u5b50\u7c7b\u5bf9\u8c61\u4e0a\u5982\u4f55\u8fdb\u884c\u8bbf\u95ee\uff1f<\/p>\n\n\n\n<p>\u9759\u6001\u6210\u5458\u548c\u975e\u9759\u6001\u6210\u5458\u51fa\u73b0\u540c\u540d\uff0c\u5904\u7406\u65b9\u5f0f\u4e00\u81f4<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8bbf\u95ee\u5b50\u7c7b\u540c\u540d\u6210\u5458 \u76f4\u63a5\u8bbf\u95ee\u5373\u53ef<\/li>\n\n\n\n<li>\u8bbf\u95ee\u7236\u7c7b\u540c\u540d\u6210\u5458 \u9700\u8981\u52a0\u4f5c\u7528\u57df<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Base {<br>public:<br>\tstatic void func()<br>\t{<br>\t\tcout &lt;&lt; \"Base - static void func()\" &lt;&lt; endl;<br>\t}<br>\tstatic void func(int a)<br>\t{<br>\t\tcout &lt;&lt; \"Base - static void func(int a)\" &lt;&lt; endl;<br>\t}<br><br>\tstatic int m_A;<br>};<br><br>int Base::m_A = 100;<br><br>class Son : public Base {<br>public:<br>\tstatic void func()<br>\t{<br>\t\tcout &lt;&lt; \"Son - static void func()\" &lt;&lt; endl;<br>\t}<br>\tstatic int m_A;<br>};<br><br>int Son::m_A = 200;<br><br>\/\/\u540c\u540d\u6210\u5458\u5c5e\u6027<br>void test01()<br>{<br>\t\/\/\u901a\u8fc7\u5bf9\u8c61\u8bbf\u95ee<br>\tcout &lt;&lt; \"\u901a\u8fc7\u5bf9\u8c61\u8bbf\u95ee\uff1a \" &lt;&lt; endl;<br>\tSon s;<br>\tcout &lt;&lt; \"Son  \u4e0b m_A = \" &lt;&lt; s.m_A &lt;&lt; endl;<br>\tcout &lt;&lt; \"Base \u4e0b m_A = \" &lt;&lt; s.Base::m_A &lt;&lt; endl;<br><br>\t\/\/\u901a\u8fc7\u7c7b\u540d\u8bbf\u95ee<br>\tcout &lt;&lt; \"\u901a\u8fc7\u7c7b\u540d\u8bbf\u95ee\uff1a \" &lt;&lt; endl;<br>\tcout &lt;&lt; \"Son  \u4e0b m_A = \" &lt;&lt; Son::m_A &lt;&lt; endl;<br>\tcout &lt;&lt; \"Base \u4e0b m_A = \" &lt;&lt; Son::Base::m_A &lt;&lt; endl;<br>}<br><br>\/\/\u540c\u540d\u6210\u5458\u51fd\u6570<br>void test02()<br>{<br>\t\/\/\u901a\u8fc7\u5bf9\u8c61\u8bbf\u95ee<br>\tcout &lt;&lt; \"\u901a\u8fc7\u5bf9\u8c61\u8bbf\u95ee\uff1a \" &lt;&lt; endl;<br>\tSon s;<br>\ts.func();<br>\ts.Base::func();<br><br>\tcout &lt;&lt; \"\u901a\u8fc7\u7c7b\u540d\u8bbf\u95ee\uff1a \" &lt;&lt; endl;<br>\tSon::func();<br>\tSon::Base::func();<br>\t\/\/\u51fa\u73b0\u540c\u540d\uff0c\u5b50\u7c7b\u4f1a\u9690\u85cf\u6389\u7236\u7c7b\u4e2d\u6240\u6709\u540c\u540d\u6210\u5458\u51fd\u6570\uff0c\u9700\u8981\u52a0\u4f5c\u4f5c\u7528\u57df\u8bbf\u95ee<br>\tSon::Base::func(100);<br>}<br>int main() {<br><br>\t\/\/test01();<br>\ttest02();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u603b\u7ed3\uff1a\u540c\u540d\u9759\u6001\u6210\u5458\u5904\u7406\u65b9\u5f0f\u548c\u975e\u9759\u6001\u5904\u7406\u65b9\u5f0f\u4e00\u6837\uff0c\u53ea\u4e0d\u8fc7\u6709\u4e24\u79cd\u8bbf\u95ee\u7684\u65b9\u5f0f\uff08\u901a\u8fc7\u5bf9\u8c61 \u548c \u901a\u8fc7\u7c7b\u540d\uff09<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">4.6.7 \u591a\u7ee7\u627f\u8bed\u6cd5<\/h4>\n\n\n\n<p>C++\u5141\u8bb8<strong>\u4e00\u4e2a\u7c7b\u7ee7\u627f\u591a\u4e2a\u7c7b<\/strong><\/p>\n\n\n\n<p>\u8bed\u6cd5\uff1a<code>class \u5b50\u7c7b \uff1a\u7ee7\u627f\u65b9\u5f0f \u7236\u7c7b1 \uff0c \u7ee7\u627f\u65b9\u5f0f \u7236\u7c7b2...<\/code><\/p>\n\n\n\n<p>\u591a\u7ee7\u627f\u53ef\u80fd\u4f1a\u5f15\u53d1\u7236\u7c7b\u4e2d\u6709\u540c\u540d\u6210\u5458\u51fa\u73b0\uff0c\u9700\u8981\u52a0\u4f5c\u7528\u57df\u533a\u5206<\/p>\n\n\n\n<p>C++\u5b9e\u9645\u5f00\u53d1\u4e2d<strong>\u4e0d\u5efa\u8bae\u4f7f\u7528\u591a\u7ee7\u627f<\/strong><\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Base1 {<br>public:<br>\tBase1()<br>\t{<br>\t\tm_A = 100;<br>\t}<br>public:<br>\tint m_A;<br>};<br><br>class Base2 {<br>public:<br>\tBase2()<br>\t{<br>\t\tm_A = 200;  \/\/\u5f00\u59cb\u662fm_B \u4e0d\u4f1a\u51fa\u95ee\u9898\uff0c\u4f46\u662f\u6539\u4e3amA\u5c31\u4f1a\u51fa\u73b0\u4e0d\u660e\u786e<br>\t}<br>public:<br>\tint m_A;<br>};<br><br>\/\/\u8bed\u6cd5\uff1aclass \u5b50\u7c7b\uff1a\u7ee7\u627f\u65b9\u5f0f \u7236\u7c7b1 \uff0c\u7ee7\u627f\u65b9\u5f0f \u7236\u7c7b2 <br>class Son : public Base2, public Base1 <br>{<br>public:<br>\tSon()<br>\t{<br>\t\tm_C = 300;<br>\t\tm_D = 400;<br>\t}<br>public:<br>\tint m_C;<br>\tint m_D;<br>};<br><br><br>\/\/\u591a\u7ee7\u627f\u5bb9\u6613\u4ea7\u751f\u6210\u5458\u540c\u540d\u7684\u60c5\u51b5<br>\/\/\u901a\u8fc7\u4f7f\u7528\u7c7b\u540d\u4f5c\u7528\u57df\u53ef\u4ee5\u533a\u5206\u8c03\u7528\u54ea\u4e00\u4e2a\u57fa\u7c7b\u7684\u6210\u5458<br>void test01()<br>{<br>\tSon s;<br>\tcout &lt;&lt; \"sizeof Son = \" &lt;&lt; sizeof(s) &lt;&lt; endl;<br>\tcout &lt;&lt; s.Base1::m_A &lt;&lt; endl;<br>\tcout &lt;&lt; s.Base2::m_A &lt;&lt; endl;<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u603b\u7ed3\uff1a \u591a\u7ee7\u627f\u4e2d\u5982\u679c\u7236\u7c7b\u4e2d\u51fa\u73b0\u4e86\u540c\u540d\u60c5\u51b5\uff0c\u5b50\u7c7b\u4f7f\u7528\u65f6\u5019\u8981\u52a0\u4f5c\u7528\u57df<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">4.6.8 \u83f1\u5f62\u7ee7\u627f<\/h4>\n\n\n\n<p><strong>\u83f1\u5f62\u7ee7\u627f\u6982\u5ff5\uff1a<\/strong><\/p>\n\n\n\n<p>\u4e24\u4e2a\u6d3e\u751f\u7c7b\u7ee7\u627f\u540c\u4e00\u4e2a\u57fa\u7c7b<\/p>\n\n\n\n<p>\u53c8\u6709\u67d0\u4e2a\u7c7b\u540c\u65f6\u7ee7\u627f\u8005\u4e24\u4e2a\u6d3e\u751f\u7c7b<\/p>\n\n\n\n<p>\u8fd9\u79cd\u7ee7\u627f\u88ab\u79f0\u4e3a\u83f1\u5f62\u7ee7\u627f\uff0c\u6216\u8005\u94bb\u77f3\u7ee7\u627f<\/p>\n\n\n\n<p><strong>\u83f1\u5f62\u7ee7\u627f\u95ee\u9898\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u7f8a\u7ee7\u627f\u4e86\u52a8\u7269\u7684\u6570\u636e\uff0c\u9a7c\u540c\u6837\u7ee7\u627f\u4e86\u52a8\u7269\u7684\u6570\u636e\uff0c\u5f53\u8349\u6ce5\u9a6c\u4f7f\u7528\u6570\u636e\u65f6\uff0c\u5c31\u4f1a\u4ea7\u751f\u4e8c\u4e49\u6027<\/li>\n\n\n\n<li>\u8349\u6ce5\u9a6c\u7ee7\u627f\u81ea\u52a8\u7269\u7684\u6570\u636e\u7ee7\u627f\u4e86\u4e24\u4efd\uff0c\u5176\u5b9e\u6211\u4eec\u5e94\u8be5\u6e05\u695a\uff0c\u8fd9\u4efd\u6570\u636e\u6211\u4eec\u53ea\u9700\u8981\u4e00\u4efd\u5c31\u53ef\u4ee5<\/li>\n<\/ol>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Animal<br>{<br>public:<br>\tint m_Age;<br>};<br><br>\/\/\u7ee7\u627f\u524d\u52a0virtual\u5173\u952e\u5b57\u540e\uff0c\u53d8\u4e3a\u865a\u7ee7\u627f<br>\/\/\u6b64\u65f6\u516c\u5171\u7684\u7236\u7c7bAnimal\u79f0\u4e3a\u865a\u57fa\u7c7b<br>class Sheep : virtual public Animal {};<br>class Tuo   : virtual public Animal {};<br>class SheepTuo : public Sheep, public Tuo {};<br><br>void test01()<br>{<br>\tSheepTuo st;<br>\tst.Sheep::m_Age = 100;<br>\tst.Tuo::m_Age = 200;<br><br>\tcout &lt;&lt; \"st.Sheep::m_Age = \" &lt;&lt; st.Sheep::m_Age &lt;&lt; endl;<br>\tcout &lt;&lt; \"st.Tuo::m_Age = \" &lt;&lt;  st.Tuo::m_Age &lt;&lt; endl;<br>\tcout &lt;&lt; \"st.m_Age = \" &lt;&lt; st.m_Age &lt;&lt; endl;<br>}<br><br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<p>\u603b\u7ed3\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u83f1\u5f62\u7ee7\u627f\u5e26\u6765\u7684\u4e3b\u8981\u95ee\u9898\u662f\u5b50\u7c7b\u7ee7\u627f\u4e24\u4efd\u76f8\u540c\u7684\u6570\u636e\uff0c\u5bfc\u81f4\u8d44\u6e90\u6d6a\u8d39\u4ee5\u53ca\u6beb\u65e0\u610f\u4e49<\/li>\n\n\n\n<li>\u5229\u7528\u865a\u7ee7\u627f\u53ef\u4ee5\u89e3\u51b3\u83f1\u5f62\u7ee7\u627f\u95ee\u9898<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4.7 \u591a\u6001<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">4.7.1 \u591a\u6001\u7684\u57fa\u672c\u6982\u5ff5<\/h4>\n\n\n\n<p><strong>\u591a\u6001\u662fC++\u9762\u5411\u5bf9\u8c61\u4e09\u5927\u7279\u6027\u4e4b\u4e00<\/strong><\/p>\n\n\n\n<p>\u591a\u6001\u5206\u4e3a\u4e24\u7c7b<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9759\u6001\u591a\u6001: <strong>\u51fd\u6570\u91cd\u8f7d<\/strong>\u548c<strong>\u8fd0\u7b97\u7b26\u91cd\u8f7d<\/strong>\u5c5e\u4e8e\u9759\u6001\u591a\u6001\uff0c\u590d\u7528\u51fd\u6570\u540d<\/li>\n\n\n\n<li>\u52a8\u6001\u591a\u6001: <strong>\u5b50\u7c7b<\/strong>\u548c<strong>\u865a\u51fd\u6570<\/strong>\u5b9e\u73b0\u8fd0\u884c\u65f6\u591a\u6001<\/li>\n<\/ul>\n\n\n\n<p>\u9759\u6001\u591a\u6001\u548c\u52a8\u6001\u591a\u6001\u533a\u522b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9759\u6001\u591a\u6001\u7684\u51fd\u6570\u5730\u5740\u65e9\u7ed1\u5b9a\u2192\u7f16\u8bd1\u9636\u6bb5\u786e\u5b9a\u51fd\u6570\u5730\u5740<\/li>\n\n\n\n<li>\u52a8\u6001\u591a\u6001\u7684\u51fd\u6570\u5730\u5740\u665a\u7ed1\u5b9a\u2192\u8fd0\u884c\u9636\u6bb5\u786e\u5b9a\u51fd\u6570\u5730\u5740<\/li>\n<\/ul>\n\n\n\n<p>\u4e0b\u9762\u901a\u8fc7\u6848\u4f8b\u8fdb\u884c\u8bb2\u89e3\u591a\u6001<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Animal<br>{<br>public:<br>\t\/\/Speak\u51fd\u6570\u5c31\u662f\u865a\u51fd\u6570<br>\t\/\/\u51fd\u6570\u524d\u9762\u52a0\u4e0avirtual\u5173\u952e\u5b57\uff0c\u53d8\u6210\u865a\u51fd\u6570\uff0c\u90a3\u4e48\u7f16\u8bd1\u5668\u5728\u7f16\u8bd1\u7684\u65f6\u5019\u5c31\u4e0d\u80fd\u786e\u5b9a\u51fd\u6570\u8c03\u7528\u4e86 <br>\tvirtual void speak()<br>\t{<br>\t\tcout &lt;&lt; \"\u52a8\u7269\u5728\u8bf4\u8bdd\" &lt;&lt; endl;<br>\t}<br>};<br><br>class Cat :public Animal<br>{<br>public:<br>\tvoid speak()<br>\t{<br>\t\tcout &lt;&lt; \"\u5c0f\u732b\u5728\u8bf4\u8bdd\" &lt;&lt; endl;<br>\t}<br>};<br><br>class Dog :public Animal<br>{<br>public:<br><br>\tvoid speak()<br>\t{<br>\t\tcout &lt;&lt; \"\u5c0f\u72d7\u5728\u8bf4\u8bdd\" &lt;&lt; endl;<br>\t}<br><br>};<br>\/\/\u6211\u4eec\u5e0c\u671b\u4f20\u5165\u4ec0\u4e48\u5bf9\u8c61\uff0c\u90a3\u4e48\u5c31\u8c03\u7528\u4ec0\u4e48\u5bf9\u8c61\u7684\u51fd\u6570<br>\/\/\u5982\u679c\u51fd\u6570\u5730\u5740\u5728\u7f16\u8bd1\u9636\u6bb5\u5c31\u80fd\u786e\u5b9a\uff0c\u90a3\u4e48\u9759\u6001\u8054\u7f16<br>\/\/\u5982\u679c\u51fd\u6570\u5730\u5740\u5728\u8fd0\u884c\u9636\u6bb5\u624d\u80fd\u786e\u5b9a\uff0c\u5c31\u662f\u52a8\u6001\u8054\u7f16<br><br>void DoSpeak(Animal &amp; animal)<br>{<br>\tanimal.speak();<br>}<br>\/\/<br>\/\/\u591a\u6001\u6ee1\u8db3\u6761\u4ef6\uff1a <br>\/\/1\u3001\u6709\u7ee7\u627f\u5173\u7cfb<br>\/\/2\u3001\u5b50\u7c7b\u91cd\u5199\u7236\u7c7b\u4e2d\u7684\u865a\u51fd\u6570<br>\/\/\u591a\u6001\u4f7f\u7528\uff1a<br>\/\/\u7236\u7c7b\u6307\u9488\u6216\u5f15\u7528\u6307\u5411\u5b50\u7c7b\u5bf9\u8c61<br><br>void test01()<br>{<br>\tCat cat;<br>\tDoSpeak(cat);<br><br><br>\tDog dog;<br>\tDoSpeak(dog);<br>}<br><br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<p>\u603b\u7ed3\uff1a<\/p>\n\n\n\n<p>\u591a\u6001\u6ee1\u8db3\u6761\u4ef6<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6709\u7ee7\u627f\u5173\u7cfb<\/li>\n\n\n\n<li>\u5b50\u7c7b\u91cd\u5199\u7236\u7c7b\u4e2d\u7684\u865a\u51fd\u6570<\/li>\n<\/ul>\n\n\n\n<p>\u591a\u6001\u4f7f\u7528\u6761\u4ef6<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7236\u7c7b<strong>\u6307\u9488<\/strong>\u6216<strong>\u5f15\u7528<\/strong>\u6307\u5411\u5b50\u7c7b\u5bf9\u8c61<\/li>\n<\/ul>\n\n\n\n<p>\u91cd\u5199\uff1a\u51fd\u6570\u8fd4\u56de\u503c\u7c7b\u578b \u51fd\u6570\u540d \u53c2\u6570\u5217\u8868 \u5b8c\u5168\u4e00\u81f4\u79f0\u4e3a\u91cd\u5199<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4.7.2 \u591a\u6001\u6848\u4f8b\u4e00\uff1a\u8ba1\u7b97\u5668\u7c7b<\/h4>\n\n\n\n<p>\u6848\u4f8b\u63cf\u8ff0\uff1a<\/p>\n\n\n\n<p>\u5206\u522b\u5229\u7528\u666e\u901a\u5199\u6cd5\u548c\u591a\u6001\u6280\u672f\uff0c\u8bbe\u8ba1\u5b9e\u73b0\u4e24\u4e2a\u64cd\u4f5c\u6570\u8fdb\u884c\u8fd0\u7b97\u7684\u8ba1\u7b97\u5668\u7c7b<\/p>\n\n\n\n<p>\u591a\u6001\u7684\u4f18\u70b9\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4ee3\u7801\u7ec4\u7ec7\u7ed3\u6784\u6e05\u6670<\/li>\n\n\n\n<li>\u53ef\u8bfb\u6027\u5f3a<\/li>\n\n\n\n<li>\u5229\u4e8e\u524d\u671f\u548c\u540e\u671f\u7684\u6269\u5c55\u4ee5\u53ca\u7ef4\u62a4<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u666e\u901a\u5b9e\u73b0<br>class Calculator {<br>public:<br>\tint getResult(string oper)<br>\t{<br>\t\tif (oper == \"+\") {<br>\t\t\treturn m_Num1 + m_Num2;<br>\t\t}<br>\t\telse if (oper == \"-\") {<br>\t\t\treturn m_Num1 - m_Num2;<br>\t\t}<br>\t\telse if (oper == \"*\") {<br>\t\t\treturn m_Num1 * m_Num2;<br>\t\t}<br>\t\t\/\/\u5982\u679c\u8981\u63d0\u4f9b\u65b0\u7684\u8fd0\u7b97\uff0c\u9700\u8981\u4fee\u6539\u6e90\u7801<br>\t}<br>public:<br>\tint m_Num1;<br>\tint m_Num2;<br>};<br><br>void test01()<br>{<br>\t\/\/\u666e\u901a\u5b9e\u73b0\u6d4b\u8bd5<br>\tCalculator c;<br>\tc.m_Num1 = 10;<br>\tc.m_Num2 = 10;<br>\tcout &lt;&lt; c.m_Num1 &lt;&lt; \" + \" &lt;&lt; c.m_Num2 &lt;&lt; \" = \" &lt;&lt; c.getResult(\"+\") &lt;&lt; endl;<br><br>\tcout &lt;&lt; c.m_Num1 &lt;&lt; \" - \" &lt;&lt; c.m_Num2 &lt;&lt; \" = \" &lt;&lt; c.getResult(\"-\") &lt;&lt; endl;<br><br>\tcout &lt;&lt; c.m_Num1 &lt;&lt; \" * \" &lt;&lt; c.m_Num2 &lt;&lt; \" = \" &lt;&lt; c.getResult(\"*\") &lt;&lt; endl;<br>}<br><br><br><br>\/\/\u591a\u6001\u5b9e\u73b0<br>\/\/\u62bd\u8c61\u8ba1\u7b97\u5668\u7c7b<br>\/\/\u591a\u6001\u4f18\u70b9\uff1a\u4ee3\u7801\u7ec4\u7ec7\u7ed3\u6784\u6e05\u6670\uff0c\u53ef\u8bfb\u6027\u5f3a\uff0c\u5229\u4e8e\u524d\u671f\u548c\u540e\u671f\u7684\u6269\u5c55\u4ee5\u53ca\u7ef4\u62a4<br>class AbstractCalculator<br>{<br>public :<br><br>\tvirtual int getResult()<br>\t{<br>\t\treturn 0;<br>\t}<br><br>\tint m_Num1;<br>\tint m_Num2;<br>};<br><br>\/\/\u52a0\u6cd5\u8ba1\u7b97\u5668<br>class AddCalculator :public AbstractCalculator<br>{<br>public:<br>\tint getResult()<br>\t{<br>\t\treturn m_Num1 + m_Num2;<br>\t}<br>};<br><br>\/\/\u51cf\u6cd5\u8ba1\u7b97\u5668<br>class SubCalculator :public AbstractCalculator<br>{<br>public:<br>\tint getResult()<br>\t{<br>\t\treturn m_Num1 - m_Num2;<br>\t}<br>};<br><br>\/\/\u4e58\u6cd5\u8ba1\u7b97\u5668<br>class MulCalculator :public AbstractCalculator<br>{<br>public:<br>\tint getResult()<br>\t{<br>\t\treturn m_Num1 * m_Num2;<br>\t}<br>};<br><br><br>void test02()<br>{<br>\t\/\/\u521b\u5efa\u52a0\u6cd5\u8ba1\u7b97\u5668<br>\tAbstractCalculator *abc = new AddCalculator;<br>\tabc-&gt;m_Num1 = 10;<br>\tabc-&gt;m_Num2 = 10;<br>\tcout &lt;&lt; abc-&gt;m_Num1 &lt;&lt; \" + \" &lt;&lt; abc-&gt;m_Num2 &lt;&lt; \" = \" &lt;&lt; abc-&gt;getResult() &lt;&lt; endl;<br>\tdelete abc;  \/\/\u7528\u5b8c\u4e86\u8bb0\u5f97\u9500\u6bc1<br><br>\t\/\/\u521b\u5efa\u51cf\u6cd5\u8ba1\u7b97\u5668<br>\tabc = new SubCalculator;<br>\tabc-&gt;m_Num1 = 10;<br>\tabc-&gt;m_Num2 = 10;<br>\tcout &lt;&lt; abc-&gt;m_Num1 &lt;&lt; \" - \" &lt;&lt; abc-&gt;m_Num2 &lt;&lt; \" = \" &lt;&lt; abc-&gt;getResult() &lt;&lt; endl;<br>\tdelete abc;  <br><br>\t\/\/\u521b\u5efa\u4e58\u6cd5\u8ba1\u7b97\u5668<br>\tabc = new MulCalculator;<br>\tabc-&gt;m_Num1 = 10;<br>\tabc-&gt;m_Num2 = 10;<br>\tcout &lt;&lt; abc-&gt;m_Num1 &lt;&lt; \" * \" &lt;&lt; abc-&gt;m_Num2 &lt;&lt; \" = \" &lt;&lt; abc-&gt;getResult() &lt;&lt; endl;<br>\tdelete abc;<br>}<br><br>int main() {<br><br>\t\/\/test01();<br><br>\ttest02();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u603b\u7ed3\uff1aC++\u5f00\u53d1\u63d0\u5021\u5229\u7528\u591a\u6001\u8bbe\u8ba1\u7a0b\u5e8f\u67b6\u6784\uff0c\u56e0\u4e3a\u591a\u6001\u4f18\u70b9\u5f88\u591a<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">4.7.3 \u7eaf\u865a\u51fd\u6570\u548c\u62bd\u8c61\u7c7b<\/h4>\n\n\n\n<p>\u5728\u591a\u6001\u4e2d\uff0c\u901a\u5e38\u7236\u7c7b\u4e2d\u865a\u51fd\u6570\u7684\u5b9e\u73b0\u662f\u6beb\u65e0\u610f\u4e49\u7684\uff0c\u4e3b\u8981\u90fd\u662f\u8c03\u7528\u5b50\u7c7b\u91cd\u5199\u7684\u5185\u5bb9<\/p>\n\n\n\n<p>\u56e0\u6b64\u53ef\u4ee5\u5c06\u865a\u51fd\u6570\u6539\u4e3a<strong>\u7eaf\u865a\u51fd\u6570<\/strong><\/p>\n\n\n\n<p>\u7eaf\u865a\u51fd\u6570\u8bed\u6cd5\uff1a<code>virtual \u8fd4\u56de\u503c\u7c7b\u578b \u51fd\u6570\u540d(\u53c2\u6570\u5217\u8868) = 0;<\/code><\/p>\n\n\n\n<p>\u5f53\u7c7b\u4e2d\u6709\u4e86\u7eaf\u865a\u51fd\u6570\uff0c\u8fd9\u4e2a\u7c7b\u4e5f\u79f0\u4e3a<strong>\u62bd\u8c61\u7c7b<\/strong><\/p>\n\n\n\n<p><strong>\u62bd\u8c61\u7c7b\u7279\u70b9<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5bf9\u8c61<\/li>\n\n\n\n<li>\u5b50\u7c7b\u5fc5\u987b\u91cd\u5199\u62bd\u8c61\u7c7b\u4e2d\u7684\u7eaf\u865a\u51fd\u6570\uff0c\u5426\u5219\u4e5f\u5c5e\u4e8e\u62bd\u8c61\u7c7b<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Base<br>{<br>public:<br>\t\/\/\u7eaf\u865a\u51fd\u6570<br>\t\/\/\u7c7b\u4e2d\u53ea\u8981\u6709\u4e00\u4e2a\u7eaf\u865a\u51fd\u6570\u5c31\u79f0\u4e3a\u62bd\u8c61\u7c7b<br>\t\/\/\u62bd\u8c61\u7c7b\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5bf9\u8c61<br>\t\/\/\u5b50\u7c7b\u5fc5\u987b\u91cd\u5199\u7236\u7c7b\u4e2d\u7684\u7eaf\u865a\u51fd\u6570\uff0c\u5426\u5219\u4e5f\u5c5e\u4e8e\u62bd\u8c61\u7c7b<br>\tvirtual void func() = 0;<br>};<br><br>class Son :public Base<br>{<br>public:<br>\tvirtual void func() <br>\t{<br>\t\tcout &lt;&lt; \"func\u8c03\u7528\" &lt;&lt; endl;<br>\t};<br>};<br><br>void test01()<br>{<br>\tBase * base = NULL;<br>\t\/\/base = new Base; \/\/ \u9519\u8bef\uff0c\u62bd\u8c61\u7c7b\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5bf9\u8c61<br>\tbase = new Son;<br>\tbase-&gt;func();<br>\tdelete base;\/\/\u8bb0\u5f97\u9500\u6bc1<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.7.4 \u591a\u6001\u6848\u4f8b\u4e8c\uff1a\u5236\u4f5c\u996e\u54c1<\/h4>\n\n\n\n<p><strong>\u6848\u4f8b\u63cf\u8ff0\uff1a<\/strong><\/p>\n\n\n\n<p>\u5236\u4f5c\u996e\u54c1\u7684\u5927\u81f4\u6d41\u7a0b\u4e3a\uff1a\u716e\u6c34 &#8211; \u51b2\u6ce1 &#8211; \u5012\u5165\u676f\u4e2d &#8211; \u52a0\u5165\u8f85\u6599<\/p>\n\n\n\n<p>\u5229\u7528\u591a\u6001\u6280\u672f\u5b9e\u73b0\u672c\u6848\u4f8b\uff0c\u63d0\u4f9b\u62bd\u8c61\u5236\u4f5c\u996e\u54c1\u57fa\u7c7b\uff0c\u63d0\u4f9b\u5b50\u7c7b\u5236\u4f5c\u5496\u5561\u548c\u8336\u53f6<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/\u62bd\u8c61\u5236\u4f5c\u996e\u54c1<br>class AbstractDrinking {<br>public:<br>\t\/\/\u70e7\u6c34<br>\tvirtual void Boil() = 0;<br>\t\/\/\u51b2\u6ce1<br>\tvirtual void Brew() = 0;<br>\t\/\/\u5012\u5165\u676f\u4e2d<br>\tvirtual void PourInCup() = 0;<br>\t\/\/\u52a0\u5165\u8f85\u6599<br>\tvirtual void PutSomething() = 0;<br>\t\/\/\u89c4\u5b9a\u6d41\u7a0b<br>\tvoid MakeDrink() {<br>\t\tBoil();<br>\t\tBrew();<br>\t\tPourInCup();<br>\t\tPutSomething();<br>\t}<br>};<br><br>\/\/\u5236\u4f5c\u5496\u5561<br>class Coffee : public AbstractDrinking {<br>public:<br>\t\/\/\u70e7\u6c34<br>\tvirtual void Boil() {<br>\t\tcout &lt;&lt; \"\u716e\u519c\u592b\u5c71\u6cc9!\" &lt;&lt; endl;<br>\t}<br>\t\/\/\u51b2\u6ce1<br>\tvirtual void Brew() {<br>\t\tcout &lt;&lt; \"\u51b2\u6ce1\u5496\u5561!\" &lt;&lt; endl;<br>\t}<br>\t\/\/\u5012\u5165\u676f\u4e2d<br>\tvirtual void PourInCup() {<br>\t\tcout &lt;&lt; \"\u5c06\u5496\u5561\u5012\u5165\u676f\u4e2d!\" &lt;&lt; endl;<br>\t}<br>\t\/\/\u52a0\u5165\u8f85\u6599<br>\tvirtual void PutSomething() {<br>\t\tcout &lt;&lt; \"\u52a0\u5165\u725b\u5976!\" &lt;&lt; endl;<br>\t}<br>};<br><br>\/\/\u5236\u4f5c\u8336\u6c34<br>class Tea : public AbstractDrinking {<br>public:<br>\t\/\/\u70e7\u6c34<br>\tvirtual void Boil() {<br>\t\tcout &lt;&lt; \"\u716e\u81ea\u6765\u6c34!\" &lt;&lt; endl;<br>\t}<br>\t\/\/\u51b2\u6ce1<br>\tvirtual void Brew() {<br>\t\tcout &lt;&lt; \"\u51b2\u6ce1\u8336\u53f6!\" &lt;&lt; endl;<br>\t}<br>\t\/\/\u5012\u5165\u676f\u4e2d<br>\tvirtual void PourInCup() {<br>\t\tcout &lt;&lt; \"\u5c06\u8336\u6c34\u5012\u5165\u676f\u4e2d!\" &lt;&lt; endl;<br>\t}<br>\t\/\/\u52a0\u5165\u8f85\u6599<br>\tvirtual void PutSomething() {<br>\t\tcout &lt;&lt; \"\u52a0\u5165\u67b8\u675e!\" &lt;&lt; endl;<br>\t}<br>};<br><br>\/\/\u4e1a\u52a1\u51fd\u6570<br>void DoWork(AbstractDrinking* drink) {<br>\tdrink-&gt;MakeDrink();<br>\tdelete drink;<br>}<br><br>void test01() {<br>\tDoWork(new Coffee);<br>\tcout &lt;&lt; \"--------------\" &lt;&lt; endl;<br>\tDoWork(new Tea);<br>}<br><br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.7.5 \u865a\u6790\u6784\u548c\u7eaf\u865a\u6790\u6784<\/h4>\n\n\n\n<p>\u591a\u6001\u4f7f\u7528\u65f6\uff0c\u5982\u679c\u5b50\u7c7b\u4e2d\u6709\u5c5e\u6027\u5f00\u8f9f\u5230\u5806\u533a\uff0c\u90a3\u4e48\u7236\u7c7b\u6307\u9488\u5728\u91ca\u653e\u65f6\u65e0\u6cd5\u8c03\u7528\u5230\u5b50\u7c7b\u7684\u6790\u6784\u4ee3\u7801<\/p>\n\n\n\n<p>\u89e3\u51b3\u65b9\u5f0f\uff1a\u5c06\u7236\u7c7b\u4e2d\u7684\u6790\u6784\u51fd\u6570\u6539\u4e3a<strong>\u865a\u6790\u6784<\/strong>\u6216\u8005<strong>\u7eaf\u865a\u6790\u6784<\/strong><\/p>\n\n\n\n<p>\u865a\u6790\u6784\u548c\u7eaf\u865a\u6790\u6784\u5171\u6027\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u53ef\u4ee5\u89e3\u51b3\u7236\u7c7b\u6307\u9488\u91ca\u653e\u5b50\u7c7b\u5bf9\u8c61<\/li>\n\n\n\n<li>\u90fd\u9700\u8981\u6709\u5177\u4f53\u7684\u51fd\u6570\u5b9e\u73b0<\/li>\n<\/ul>\n\n\n\n<p>\u865a\u6790\u6784\u548c\u7eaf\u865a\u6790\u6784\u533a\u522b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u662f\u7eaf\u865a\u6790\u6784\uff0c\u8be5\u7c7b\u5c5e\u4e8e\u62bd\u8c61\u7c7b\uff0c\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5bf9\u8c61<\/li>\n<\/ul>\n\n\n\n<p>\u865a\u6790\u6784\u8bed\u6cd5\uff1a<\/p>\n\n\n\n<p><code>virtual ~\u7c7b\u540d(){}<\/code><\/p>\n\n\n\n<p>\u7eaf\u865a\u6790\u6784\u8bed\u6cd5\uff1a<\/p>\n\n\n\n<p><code>virtual ~\u7c7b\u540d() = 0;<\/code><\/p>\n\n\n\n<p><code>\u7c7b\u540d::~\u7c7b\u540d(){}<\/code><\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Animal {<br>public:<br><br>\tAnimal()<br>\t{<br>\t\tcout &lt;&lt; \"Animal \u6784\u9020\u51fd\u6570\u8c03\u7528\uff01\" &lt;&lt; endl;<br>\t}<br>\tvirtual void Speak() = 0;<br><br>\t\/\/\u6790\u6784\u51fd\u6570\u52a0\u4e0avirtual\u5173\u952e\u5b57\uff0c\u53d8\u6210\u865a\u6790\u6784\u51fd\u6570<br>\t\/\/virtual ~Animal()<br>\t\/\/{<br>\t\/\/\tcout &lt;&lt; \"Animal\u865a\u6790\u6784\u51fd\u6570\u8c03\u7528\uff01\" &lt;&lt; endl;<br>\t\/\/}<br><br><br>\tvirtual ~Animal() = 0;<br>};<br><br>Animal::~Animal()<br>{<br>\tcout &lt;&lt; \"Animal \u7eaf\u865a\u6790\u6784\u51fd\u6570\u8c03\u7528\uff01\" &lt;&lt; endl;<br>}<br><br>\/\/\u548c\u5305\u542b\u666e\u901a\u7eaf\u865a\u51fd\u6570\u7684\u7c7b\u4e00\u6837\uff0c\u5305\u542b\u4e86\u7eaf\u865a\u6790\u6784\u51fd\u6570\u7684\u7c7b\u4e5f\u662f\u4e00\u4e2a\u62bd\u8c61\u7c7b\u3002\u4e0d\u80fd\u591f\u88ab\u5b9e\u4f8b\u5316\u3002<br><br>class Cat : public Animal {<br>public:<br>\tCat(string name)<br>\t{<br>\t\tcout &lt;&lt; \"Cat\u6784\u9020\u51fd\u6570\u8c03\u7528\uff01\" &lt;&lt; endl;<br>\t\tm_Name = new string(name);<br>\t}<br>\tvirtual void Speak()<br>\t{<br>\t\tcout &lt;&lt; *m_Name &lt;&lt;  \"\u5c0f\u732b\u5728\u8bf4\u8bdd!\" &lt;&lt; endl;<br>\t}<br>\t~Cat()<br>\t{<br>\t\tcout &lt;&lt; \"Cat\u6790\u6784\u51fd\u6570\u8c03\u7528!\" &lt;&lt; endl;<br>\t\tif (this-&gt;m_Name != NULL) {<br>\t\t\tdelete m_Name;<br>\t\t\tm_Name = NULL;<br>\t\t}<br>\t}<br><br>public:<br>\tstring *m_Name;<br>};<br><br>void test01()<br>{<br>\tAnimal *animal = new Cat(\"Tom\");<br>\tanimal-&gt;Speak();<br><br>\t\/\/\u901a\u8fc7\u7236\u7c7b\u6307\u9488\u53bb\u91ca\u653e\uff0c\u4f1a\u5bfc\u81f4\u5b50\u7c7b\u5bf9\u8c61\u53ef\u80fd\u6e05\u7406\u4e0d\u5e72\u51c0\uff0c\u9020\u6210\u5185\u5b58\u6cc4\u6f0f<br>\t\/\/\u600e\u4e48\u89e3\u51b3\uff1f\u7ed9\u57fa\u7c7b\u589e\u52a0\u4e00\u4e2a\u865a\u6790\u6784\u51fd\u6570<br>\t\/\/\u865a\u6790\u6784\u51fd\u6570\u5c31\u662f\u7528\u6765\u89e3\u51b3\u901a\u8fc7\u7236\u7c7b\u6307\u9488\u91ca\u653e\u5b50\u7c7b\u5bf9\u8c61<br>\tdelete animal;<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<p>\u603b\u7ed3\uff1a<\/p>\n\n\n\n<p>1. \u865a\u6790\u6784\u6216\u7eaf\u865a\u6790\u6784\u5c31\u662f\u7528\u6765\u89e3\u51b3\u901a\u8fc7\u7236\u7c7b\u6307\u9488\u91ca\u653e\u5b50\u7c7b\u5bf9\u8c61<\/p>\n\n\n\n<p>2. \u5982\u679c\u5b50\u7c7b\u4e2d\u6ca1\u6709\u5806\u533a\u6570\u636e\uff0c\u53ef\u4ee5\u4e0d\u5199\u4e3a\u865a\u6790\u6784\u6216\u7eaf\u865a\u6790\u6784<\/p>\n\n\n\n<p>3. \u62e5\u6709\u7eaf\u865a\u6790\u6784\u51fd\u6570\u7684\u7c7b\u4e5f\u5c5e\u4e8e\u62bd\u8c61\u7c7b<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4.7.6 \u591a\u6001\u6848\u4f8b\u4e09\uff1a\u7535\u8111\u7ec4\u88c5<\/h4>\n\n\n\n<p><strong>\u6848\u4f8b\u63cf\u8ff0\uff1a<\/strong><\/p>\n\n\n\n<p>\u7535\u8111\u4e3b\u8981\u7ec4\u6210\u90e8\u4ef6\u4e3a CPU\uff08\u7528\u4e8e\u8ba1\u7b97\uff09\uff0c\u663e\u5361\uff08\u7528\u4e8e\u663e\u793a\uff09\uff0c\u5185\u5b58\u6761\uff08\u7528\u4e8e\u5b58\u50a8\uff09<\/p>\n\n\n\n<p>\u5c06\u6bcf\u4e2a\u96f6\u4ef6\u5c01\u88c5\u51fa\u62bd\u8c61\u57fa\u7c7b\uff0c\u5e76\u4e14\u63d0\u4f9b\u4e0d\u540c\u7684\u5382\u5546\u751f\u4ea7\u4e0d\u540c\u7684\u96f6\u4ef6\uff0c\u4f8b\u5982Intel\u5382\u5546\u548cLenovo\u5382\u5546<\/p>\n\n\n\n<p>\u521b\u5efa\u7535\u8111\u7c7b\u63d0\u4f9b\u8ba9\u7535\u8111\u5de5\u4f5c\u7684\u51fd\u6570\uff0c\u5e76\u4e14\u8c03\u7528\u6bcf\u4e2a\u96f6\u4ef6\u5de5\u4f5c\u7684\u63a5\u53e3<\/p>\n\n\n\n<p>\u6d4b\u8bd5\u65f6\u7ec4\u88c5\u4e09\u53f0\u4e0d\u540c\u7684\u7535\u8111\u8fdb\u884c\u5de5\u4f5c<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#include&lt;iostream&gt;<br>using namespace std;<br><br>\/\/\u62bd\u8c61CPU\u7c7b<br>class CPU<br>{<br>public:<br>\t\/\/\u62bd\u8c61\u7684\u8ba1\u7b97\u51fd\u6570<br>\tvirtual void calculate() = 0;<br>};<br><br>\/\/\u62bd\u8c61\u663e\u5361\u7c7b<br>class VideoCard<br>{<br>public:<br>\t\/\/\u62bd\u8c61\u7684\u663e\u793a\u51fd\u6570<br>\tvirtual void display() = 0;<br>};<br><br>\/\/\u62bd\u8c61\u5185\u5b58\u6761\u7c7b<br>class Memory<br>{<br>public:<br>\t\/\/\u62bd\u8c61\u7684\u5b58\u50a8\u51fd\u6570<br>\tvirtual void storage() = 0;<br>};<br><br>\/\/\u7535\u8111\u7c7b<br>class Computer<br>{<br>public:<br>\tComputer(CPU * cpu, VideoCard * vc, Memory * mem)<br>\t{<br>\t\tm_cpu = cpu;<br>\t\tm_vc = vc;<br>\t\tm_mem = mem;<br>\t}<br><br>\t\/\/\u63d0\u4f9b\u5de5\u4f5c\u7684\u51fd\u6570<br>\tvoid work()<br>\t{<br>\t\t\/\/\u8ba9\u96f6\u4ef6\u5de5\u4f5c\u8d77\u6765\uff0c\u8c03\u7528\u63a5\u53e3<br>\t\tm_cpu-&gt;calculate();<br><br>\t\tm_vc-&gt;display();<br><br>\t\tm_mem-&gt;storage();<br>\t}<br><br>\t\/\/\u63d0\u4f9b\u6790\u6784\u51fd\u6570 \u91ca\u653e3\u4e2a\u7535\u8111\u96f6\u4ef6<br>\t~Computer()<br>\t{<br><br>\t\t\/\/\u91ca\u653eCPU\u96f6\u4ef6<br>\t\tif (m_cpu != NULL)<br>\t\t{<br>\t\t\tdelete m_cpu;<br>\t\t\tm_cpu = NULL;<br>\t\t}<br><br>\t\t\/\/\u91ca\u653e\u663e\u5361\u96f6\u4ef6<br>\t\tif (m_vc != NULL)<br>\t\t{<br>\t\t\tdelete m_vc;<br>\t\t\tm_vc = NULL;<br>\t\t}<br><br>\t\t\/\/\u91ca\u653e\u5185\u5b58\u6761\u96f6\u4ef6<br>\t\tif (m_mem != NULL)<br>\t\t{<br>\t\t\tdelete m_mem;<br>\t\t\tm_mem = NULL;<br>\t\t}<br>\t}<br><br>private:<br><br>\tCPU * m_cpu; \/\/CPU\u7684\u96f6\u4ef6\u6307\u9488<br>\tVideoCard * m_vc; \/\/\u663e\u5361\u96f6\u4ef6\u6307\u9488<br>\tMemory * m_mem; \/\/\u5185\u5b58\u6761\u96f6\u4ef6\u6307\u9488<br>};<br><br>\/\/\u5177\u4f53\u5382\u5546<br>\/\/Intel\u5382\u5546<br>class IntelCPU :public CPU<br>{<br>public:<br>\tvirtual void calculate()<br>\t{<br>\t\tcout &lt;&lt; \"Intel\u7684CPU\u5f00\u59cb\u8ba1\u7b97\u4e86\uff01\" &lt;&lt; endl;<br>\t}<br>};<br><br>class IntelVideoCard :public VideoCard<br>{<br>public:<br>\tvirtual void display()<br>\t{<br>\t\tcout &lt;&lt; \"Intel\u7684\u663e\u5361\u5f00\u59cb\u663e\u793a\u4e86\uff01\" &lt;&lt; endl;<br>\t}<br>};<br><br>class IntelMemory :public Memory<br>{<br>public:<br>\tvirtual void storage()<br>\t{<br>\t\tcout &lt;&lt; \"Intel\u7684\u5185\u5b58\u6761\u5f00\u59cb\u5b58\u50a8\u4e86\uff01\" &lt;&lt; endl;<br>\t}<br>};<br><br>\/\/Lenovo\u5382\u5546<br>class LenovoCPU :public CPU<br>{<br>public:<br>\tvirtual void calculate()<br>\t{<br>\t\tcout &lt;&lt; \"Lenovo\u7684CPU\u5f00\u59cb\u8ba1\u7b97\u4e86\uff01\" &lt;&lt; endl;<br>\t}<br>};<br><br>class LenovoVideoCard :public VideoCard<br>{<br>public:<br>\tvirtual void display()<br>\t{<br>\t\tcout &lt;&lt; \"Lenovo\u7684\u663e\u5361\u5f00\u59cb\u663e\u793a\u4e86\uff01\" &lt;&lt; endl;<br>\t}<br>};<br><br>class LenovoMemory :public Memory<br>{<br>public:<br>\tvirtual void storage()<br>\t{<br>\t\tcout &lt;&lt; \"Lenovo\u7684\u5185\u5b58\u6761\u5f00\u59cb\u5b58\u50a8\u4e86\uff01\" &lt;&lt; endl;<br>\t}<br>};<br><br><br>void test01()<br>{<br>\t\/\/\u7b2c\u4e00\u53f0\u7535\u8111\u96f6\u4ef6<br>\tCPU * intelCpu = new IntelCPU;<br>\tVideoCard * intelCard = new IntelVideoCard;<br>\tMemory * intelMem = new IntelMemory;<br><br>\tcout &lt;&lt; \"\u7b2c\u4e00\u53f0\u7535\u8111\u5f00\u59cb\u5de5\u4f5c\uff1a\" &lt;&lt; endl;<br>\t\/\/\u521b\u5efa\u7b2c\u4e00\u53f0\u7535\u8111<br>\tComputer * computer1 = new Computer(intelCpu, intelCard, intelMem);<br>\tcomputer1-&gt;work();<br>\tdelete computer1;<br><br>\tcout &lt;&lt; \"-----------------------\" &lt;&lt; endl;<br>\tcout &lt;&lt; \"\u7b2c\u4e8c\u53f0\u7535\u8111\u5f00\u59cb\u5de5\u4f5c\uff1a\" &lt;&lt; endl;<br>\t\/\/\u7b2c\u4e8c\u53f0\u7535\u8111\u7ec4\u88c5<br>\tComputer * computer2 = new Computer(new LenovoCPU, new LenovoVideoCard, new LenovoMemory);;<br>\tcomputer2-&gt;work();<br>\tdelete computer2;<br><br>\tcout &lt;&lt; \"-----------------------\" &lt;&lt; endl;<br>\tcout &lt;&lt; \"\u7b2c\u4e09\u53f0\u7535\u8111\u5f00\u59cb\u5de5\u4f5c\uff1a\" &lt;&lt; endl;<br>\t\/\/\u7b2c\u4e09\u53f0\u7535\u8111\u7ec4\u88c5<br>\tComputer * computer3 = new Computer(new LenovoCPU, new IntelVideoCard, new LenovoMemory);;<br>\tcomputer3-&gt;work();<br>\tdelete computer3;<br><br>}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">5 \u6587\u4ef6\u64cd\u4f5c<\/h2>\n\n\n\n<p>\u7a0b\u5e8f\u8fd0\u884c\u65f6\u4ea7\u751f\u7684\u6570\u636e\u90fd\u5c5e\u4e8e\u4e34\u65f6\u6570\u636e\uff0c\u7a0b\u5e8f\u4e00\u65e6\u8fd0\u884c\u7ed3\u675f\u90fd\u4f1a\u88ab\u91ca\u653e<\/p>\n\n\n\n<p>\u901a\u8fc7<strong>\u6587\u4ef6\u53ef\u4ee5\u5c06\u6570\u636e\u6301\u4e45\u5316<\/strong><\/p>\n\n\n\n<p>C++\u4e2d\u5bf9\u6587\u4ef6\u64cd\u4f5c\u9700\u8981\u5305\u542b\u5934\u6587\u4ef6&lt;fstream&gt;<\/p>\n\n\n\n<p>\u6587\u4ef6\u7c7b\u578b\u5206\u4e3a\u4e24\u79cd\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6587\u672c\u6587\u4ef6<\/strong>\uff1a\u6587\u4ef6\u4ee5\u6587\u672c\u7684<strong>ASCII\u7801<\/strong>\u5f62\u5f0f\u5b58\u50a8\u5728\u8ba1\u7b97\u673a\u4e2d<\/li>\n\n\n\n<li><strong>\u4e8c\u8fdb\u5236\u6587\u4ef6<\/strong>\uff1a\u6587\u4ef6\u4ee5\u6587\u672c\u7684<strong>\u4e8c\u8fdb\u5236<\/strong>\u5f62\u5f0f\u5b58\u50a8\u5728\u8ba1\u7b97\u673a\u4e2d\uff0c\u7528\u6237\u65e0\u6cd5\u76f4\u63a5\u8bfb\u61c2<\/li>\n<\/ol>\n\n\n\n<p>\u64cd\u4f5c\u6587\u4ef6\u7684\u4e09\u5927\u7c7b:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>ofstream\uff1a\u5199\u64cd\u4f5c<\/li>\n\n\n\n<li>ifstream\uff1a \u8bfb\u64cd\u4f5c<\/li>\n\n\n\n<li>fstream \uff1a \u8bfb\u5199\u64cd\u4f5c<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">5.1\u6587\u672c\u6587\u4ef6<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">5.1.1\u5199\u6587\u4ef6<\/h4>\n\n\n\n<p>\u5199\u6587\u4ef6\u6b65\u9aa4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5305\u542b\u5934\u6587\u4ef6\uff1a#include &lt;fstream&gt;<\/li>\n\n\n\n<li>\u521b\u5efa\u6d41\u5bf9\u8c61\uff1aofstream ofs;<\/li>\n\n\n\n<li>\u6253\u5f00\u6587\u4ef6\uff1aofs.open(&#8220;\u6587\u4ef6\u8def\u5f84&#8221;, \u6253\u5f00\u65b9\u5f0f);<\/li>\n\n\n\n<li>\u5199\u6570\u636eofs\uff1a&lt;&lt; &#8220;\u5199\u5165\u7684\u6570\u636e&#8221;;<\/li>\n\n\n\n<li>\u5173\u95ed\u6587\u4ef6\uff1aofs.close();<\/li>\n<\/ol>\n\n\n\n<p>\u6587\u4ef6\u6253\u5f00\u65b9\u5f0f\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u6253\u5f00\u65b9\u5f0f<\/th><th>\u89e3\u91ca<\/th><\/tr><\/thead><tbody><tr><td>ios::in<\/td><td>\u4e3a\u8bfb\u6587\u4ef6\u800c\u6253\u5f00\u6587\u4ef6<\/td><\/tr><tr><td>ios::out<\/td><td>\u4e3a\u5199\u6587\u4ef6\u800c\u6253\u5f00\u6587\u4ef6<\/td><\/tr><tr><td>ios::ate<\/td><td>\u521d\u59cb\u4f4d\u7f6e\uff1a\u6587\u4ef6\u5c3e<\/td><\/tr><tr><td>ios::app<\/td><td>\u8ffd\u52a0\u65b9\u5f0f\u5199\u6587\u4ef6<\/td><\/tr><tr><td>ios::trunc<\/td><td>\u5982\u679c\u6587\u4ef6\u5b58\u5728\u5148\u5220\u9664\uff0c\u518d\u521b\u5efa<\/td><\/tr><tr><td>ios::binary<\/td><td>\u4e8c\u8fdb\u5236\u65b9\u5f0f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>\u6ce8\u610f\uff1a<\/strong> \u6587\u4ef6\u6253\u5f00\u65b9\u5f0f\u53ef\u4ee5\u901a\u8fc7|\u64cd\u4f5c\u7b26\u7ed3\u5408\u4f7f\u7528<\/p>\n\n\n\n<p><strong>\u4f8b\u5982\uff1a<\/strong>\u7528\u4e8c\u8fdb\u5236\u65b9\u5f0f\u5199\u6587\u4ef6 <code>ios::binary | ios:: out<\/code><\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#include &lt;fstream&gt;<br><br>void test01()<br>{<br>\tofstream ofs;<br>\tofs.open(\"test.txt\", ios::out);<br><br>\tofs &lt;&lt; \"\u59d3\u540d\uff1a\u5f20\u4e09\" &lt;&lt; endl;<br>\tofs &lt;&lt; \"\u6027\u522b\uff1a\u7537\" &lt;&lt; endl;<br>\tofs &lt;&lt; \"\u5e74\u9f84\uff1a18\" &lt;&lt; endl;<br><br>\tofs.close();<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<p>\u603b\u7ed3\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6587\u4ef6\u64cd\u4f5c\u5fc5\u987b\u5305\u542b\u5934\u6587\u4ef6&lt;fstream&gt;<\/li>\n\n\n\n<li>\u5199\u6587\u4ef6\u53ef\u4ee5\u5229\u7528ofstream \uff0c\u6216\u8005fstream\u7c7b<\/li>\n\n\n\n<li>\u6253\u5f00\u6587\u4ef6\u65f6\u5019\u9700\u8981\u6307\u5b9a\u64cd\u4f5c\u6587\u4ef6\u7684\u8def\u5f84\uff0c\u4ee5\u53ca\u6253\u5f00\u65b9\u5f0f<\/li>\n\n\n\n<li>\u5229\u7528&lt;&lt;\u53ef\u4ee5\u5411\u6587\u4ef6\u4e2d\u5199\u6570\u636e<\/li>\n\n\n\n<li>\u64cd\u4f5c\u5b8c\u6bd5\uff0c\u8981\u5173\u95ed\u6587\u4ef6<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">5.1.2\u8bfb\u6587\u4ef6<\/h4>\n\n\n\n<p>\u8bfb\u6587\u4ef6\u4e0e\u5199\u6587\u4ef6\u6b65\u9aa4\u76f8\u4f3c\uff0c\u4f46\u662f\u8bfb\u53d6\u65b9\u5f0f\u6bd4\u8f83\u591a<\/p>\n\n\n\n<p>\u8bfb\u6587\u4ef6\u6b65\u9aa4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5305\u542b\u5934\u6587\u4ef6\uff1a#include&lt;fstream&gt;<\/li>\n\n\n\n<li>\u521b\u5efa\u6d41\u5bf9\u8c61\uff1aifstream ifs<\/li>\n\n\n\n<li>\u6253\u5f00\u6587\u4ef6\u5e76\u5224\u65ad\u6587\u4ef6\u662f\u5426\u6253\u5f00\u6210\u529f\uff1aifs.open(&#8220;\u6587\u4ef6\u8def\u5f84&#8221;, \u6253\u5f00\u65b9\u5f0f)<\/li>\n\n\n\n<li>\u8bfb\u6570\u636e\u56db\u79cd\u65b9\u5f0f\u8bfb\u53d6<\/li>\n\n\n\n<li>\u5173\u95ed\u6587\u4ef6\uff1aifs.close()<\/li>\n<\/ol>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#include &lt;fstream&gt;<br>#include &lt;string&gt;<br>void test01()<br>{<br>\tifstream ifs;<br>\tifs.open(\"test.txt\", ios::in);<br><br>\tif (!ifs.is_open())<br>\t{<br>\t\tcout &lt;&lt; \"\u6587\u4ef6\u6253\u5f00\u5931\u8d25\" &lt;&lt; endl;<br>\t\treturn;<br>\t}<br><br>\t\/\/\u7b2c\u4e00\u79cd\u65b9\u5f0f<br>\t\/\/char buf[1024] = { 0 };<br>\t\/\/while (ifs &gt;&gt; buf)<br>\t\/\/{<br>\t\/\/\tcout &lt;&lt; buf &lt;&lt; endl;<br>\t\/\/}<br><br>\t\/\/\u7b2c\u4e8c\u79cd<br>\t\/\/char buf[1024] = { 0 };<br>\t\/\/while (ifs.getline(buf,sizeof(buf)))<br>\t\/\/{<br>\t\/\/\tcout &lt;&lt; buf &lt;&lt; endl;<br>\t\/\/}<br><br>\t\/\/\u7b2c\u4e09\u79cd<br>\t\/\/string buf;<br>\t\/\/while (getline(ifs, buf))<br>\t\/\/{<br>\t\/\/\tcout &lt;&lt; buf &lt;&lt; endl;<br>\t\/\/}<br><br>\tchar c;<br>\twhile ((c = ifs.get()) != EOF)<br>\t{<br>\t\tcout &lt;&lt; c;<br>\t}<br><br>\tifs.close();<br><br><br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<p>\u603b\u7ed3\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8bfb\u6587\u4ef6\u53ef\u4ee5\u5229\u7528ifstream \uff0c\u6216\u8005fstream\u7c7b<\/li>\n\n\n\n<li>\u5229\u7528is_open\u51fd\u6570\u53ef\u4ee5\u5224\u65ad\u6587\u4ef6\u662f\u5426\u6253\u5f00\u6210\u529f<\/li>\n\n\n\n<li>close\u5173\u95ed\u6587\u4ef6<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5.2 \u4e8c\u8fdb\u5236\u6587\u4ef6<\/h3>\n\n\n\n<p>\u4ee5\u4e8c\u8fdb\u5236\u7684\u65b9\u5f0f\u5bf9\u6587\u4ef6\u8fdb\u884c\u8bfb\u5199\u64cd\u4f5c<\/p>\n\n\n\n<p>\u6253\u5f00\u65b9\u5f0f\u8981\u6307\u5b9a\u4e3aios::binary<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">5.2.1 \u5199\u6587\u4ef6<\/h4>\n\n\n\n<p>\u4e8c\u8fdb\u5236\u65b9\u5f0f\u5199\u6587\u4ef6\u4e3b\u8981\u5229\u7528\u6d41\u5bf9\u8c61\u8c03\u7528\u6210\u5458\u51fd\u6570write<\/p>\n\n\n\n<p>\u51fd\u6570\u539f\u578b\uff1a<code>ostream&amp; write(const char * buffer, int len);<\/code><\/p>\n\n\n\n<p>\u53c2\u6570\u89e3\u91ca\uff1a\u5b57\u7b26\u6307\u9488buffer\u6307\u5411\u5185\u5b58\u4e2d\u4e00\u6bb5\u5b58\u50a8\u7a7a\u95f4\uff0clen\u662f\u8bfb\u5199\u7684\u5b57\u8282\u6570<\/p>\n\n\n\n<p><strong>\u793a\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#include &lt;fstream&gt;<br>#include &lt;string&gt;<br><br>class Person<br>{<br>public:<br>\tchar m_Name[64];<br>\tint m_Age;<br>};<br><br>\/\/\u4e8c\u8fdb\u5236\u6587\u4ef6  \u5199\u6587\u4ef6<br>void test01()<br>{<br>\t\/\/1\u3001\u5305\u542b\u5934\u6587\u4ef6<br><br>\t\/\/2\u3001\u521b\u5efa\u8f93\u51fa\u6d41\u5bf9\u8c61<br>\tofstream ofs(\"person.txt\", ios::out | ios::binary);<br>\t<br>\t\/\/3\u3001\u6253\u5f00\u6587\u4ef6<br>\t\/\/ofs.open(\"person.txt\", ios::out | ios::binary);<br><br>\tPerson p = {\"\u5f20\u4e09\"  , 18};<br><br>\t\/\/4\u3001\u5199\u6587\u4ef6<br>\tofs.write((const char *)&amp;p, sizeof(p));<br><br>\t\/\/5\u3001\u5173\u95ed\u6587\u4ef6<br>\tofs.close();<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<p>\u603b\u7ed3\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6587\u4ef6\u8f93\u51fa\u6d41\u5bf9\u8c61\u53ef\u4ee5\u901a\u8fc7write\u51fd\u6570\uff0c\u4ee5\u4e8c\u8fdb\u5236\u65b9\u5f0f\u5199\u6570\u636e<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">5.2.2 \u8bfb\u6587\u4ef6<\/h4>\n\n\n\n<p>\u4e8c\u8fdb\u5236\u65b9\u5f0f\u8bfb\u6587\u4ef6\u4e3b\u8981\u5229\u7528\u6d41\u5bf9\u8c61\u8c03\u7528\u6210\u5458\u51fd\u6570read<\/p>\n\n\n\n<p>\u51fd\u6570\u539f\u578b\uff1a<code>istream&amp; read(char *buffer, int len);<\/code><\/p>\n\n\n\n<p>\u53c2\u6570\u89e3\u91ca\uff1a\u5b57\u7b26\u6307\u9488buffer\u6307\u5411\u5185\u5b58\u4e2d\u4e00\u6bb5\u5b58\u50a8\u7a7a\u95f4\uff0clen\u662f\u8bfb\u5199\u7684\u5b57\u8282\u6570<\/p>\n\n\n\n<p>\u793a\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#include &lt;fstream&gt;<br>#include &lt;string&gt;<br><br>class Person<br>{<br>public:<br>\tchar m_Name[64];<br>\tint m_Age;<br>};<br><br>void test01()<br>{<br>\tifstream ifs(\"person.txt\", ios::in | ios::binary);<br>\tif (!ifs.is_open())<br>\t{<br>\t\tcout &lt;&lt; \"\u6587\u4ef6\u6253\u5f00\u5931\u8d25\" &lt;&lt; endl;<br>\t}<br><br>\tPerson p;<br>\tifs.read((char *)&amp;p, sizeof(p));<br><br>\tcout &lt;&lt; \"\u59d3\u540d\uff1a \" &lt;&lt; p.m_Name &lt;&lt; \" \u5e74\u9f84\uff1a \" &lt;&lt; p.m_Age &lt;&lt; endl;<br>}<br><br>int main() {<br><br>\ttest01();<br><br>\tsystem(\"pause\");<br><br>\treturn 0;<br>}<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6587\u4ef6\u8f93\u5165\u6d41\u5bf9\u8c61\u53ef\u4ee5\u901a\u8fc7read\u51fd\u6570\uff0c\u4ee5\u4e8c\u8fdb\u5236\u65b9\u5f0f\u8bfb\u6570\u636e<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>1 \u5185\u5b58\u5206\u533a\u6a21\u578b C++\u7a0b\u5e8f\u5728\u6267\u884c\u65f6\uff0c\u5c06\u5185\u5b58\u5927\u65b9\u5411\u5212\u5206\u4e3a4\u4e2a\u533a\u57df \u5185\u5b58\u56db\u533a\u610f\u4e49\uff1a \u4e0d\u540c\u533a\u57df\u5b58\u653e\u7684\u6570\u636e\uff0c\u8d4b\u4e88\u4e0d\u540c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[27,38,39],"class_list":["post-876","post","type-post","status-publish","format-standard","hentry","category-cpp","tag-c","tag-38","tag-39"],"_links":{"self":[{"href":"https:\/\/guapicoding.com\/index.php?rest_route=\/wp\/v2\/posts\/876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/guapicoding.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/guapicoding.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/guapicoding.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/guapicoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=876"}],"version-history":[{"count":60,"href":"https:\/\/guapicoding.com\/index.php?rest_route=\/wp\/v2\/posts\/876\/revisions"}],"predecessor-version":[{"id":2543,"href":"https:\/\/guapicoding.com\/index.php?rest_route=\/wp\/v2\/posts\/876\/revisions\/2543"}],"wp:attachment":[{"href":"https:\/\/guapicoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/guapicoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/guapicoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}