[{"data":1,"prerenderedAt":2036},["ShallowReactive",2],{"wiki-page-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-1-feng-zhuang":3,"wiki-doc-items-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-1-feng-zhuang":1606,"language-switcher-data-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-1-feng-zhuang":2020,"wiki-i18n-paths-/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-1-feng-zhuang":2035},{"id":4,"title":5,"body":6,"canonicalPath":1588,"chapter":1589,"chapterSort":1590,"date":1591,"description":66,"docI18nKey":1592,"docKey":1593,"docRoot":1594,"docTitle":1595,"extension":1596,"i18nKey":1597,"isBlogPost":1598,"isWikiDoc":107,"isWikiIndex":1598,"layout":1599,"legacyPath":1600,"locale":1601,"localeSlug":1602,"meta":1603,"navigation":107,"path":1588,"seo":1604,"sourcePath":1600,"sourceStem":1597,"stem":1597,"wikiDepth":73,"__hash__":1605},"content/wiki/2023-10-05-Cplusplus教学/ch13-1-封装.md","封装",{"type":7,"value":8,"toc":1585},"minimark",[9,12,16,20,23,33,39,42,52,55,60,390,396,399,404,641,645,650,653,656,668,673,901,906,909,919,922,930,1068,1072,1075,1078,1081,1085,1542,1546,1551,1554,1557,1560,1567,1572,1575,1581],[10,11,5],"h3",{"id":5},[13,14,15],"h4",{"id":15},"封装的意义",[17,18,19],"p",{},"封装是C++面向对象三大特性之一",[17,21,22],{},"封装的意义：",[24,25,26,30],"ul",{},[27,28,29],"li",{},"将属性和行为作为一个整体，表现生活中的事物",[27,31,32],{},"将属性和行为加以权限控制",[17,34,35],{},[36,37,38],"strong",{},"封装意义一：",[17,40,41],{},"​\t在设计类的时候，属性和行为写在一起，表现事物",[17,43,44,47,48],{},[36,45,46],{},"语法："," ",[49,50,51],"code",{},"class 类名{   访问权限： 属性  / 行为  };",[17,53,54],{},"**示例1：**设计一个圆类，求圆的周长",[17,56,57],{},[36,58,59],{},"示例代码：",[61,62,67],"pre",{"className":63,"code":64,"language":65,"meta":66,"style":66},"language-cpp shiki shiki-themes github-light github-dark","//圆周率\nconst double PI = 3.14;\n\n//1、封装的意义\n//将属性和行为作为一个整体，用来表现生活中的事物\n\n//封装一个圆类，求圆的周长\n//class代表设计一个类，后面跟着的是类名\nclass Circle\n{\npublic:  //访问权限  公共的权限\n\n    //属性\n    int m_r;//半径\n\n    //行为\n    //获取到圆的周长\n    double calculateZC()\n    {\n        //2 * pi  * r\n        //获取圆的周长\n        return  2 * PI * m_r;\n    }\n};\n\nint main() {\n\n    //通过圆类，创建圆的对象\n    // c1就是一个具体的圆\n    Circle c1;\n    c1.m_r = 10; //给圆对象的半径 进行赋值操作\n\n    //2 * pi * 10 = = 62.8\n    cout \u003C\u003C \"圆的周长为： \" \u003C\u003C c1.calculateZC() \u003C\u003C endl;\n\n\n    return 0;\n}\n","cpp","",[49,68,69,78,102,109,115,121,126,132,138,148,154,163,168,174,186,191,197,203,215,221,227,233,253,259,265,270,282,287,293,299,305,322,327,333,363,368,373,384],{"__ignoreMap":66},[70,71,74],"span",{"class":72,"line":73},"line",1,[70,75,77],{"class":76},"sJ8bj","//圆周率\n",[70,79,81,85,88,92,95,99],{"class":72,"line":80},2,[70,82,84],{"class":83},"szBVR","const",[70,86,87],{"class":83}," double",[70,89,91],{"class":90},"sVt8B"," PI ",[70,93,94],{"class":83},"=",[70,96,98],{"class":97},"sj4cs"," 3.14",[70,100,101],{"class":90},";\n",[70,103,105],{"class":72,"line":104},3,[70,106,108],{"emptyLinePlaceholder":107},true,"\n",[70,110,112],{"class":72,"line":111},4,[70,113,114],{"class":76},"//1、封装的意义\n",[70,116,118],{"class":72,"line":117},5,[70,119,120],{"class":76},"//将属性和行为作为一个整体，用来表现生活中的事物\n",[70,122,124],{"class":72,"line":123},6,[70,125,108],{"emptyLinePlaceholder":107},[70,127,129],{"class":72,"line":128},7,[70,130,131],{"class":76},"//封装一个圆类，求圆的周长\n",[70,133,135],{"class":72,"line":134},8,[70,136,137],{"class":76},"//class代表设计一个类，后面跟着的是类名\n",[70,139,141,144],{"class":72,"line":140},9,[70,142,143],{"class":83},"class",[70,145,147],{"class":146},"sScJk"," Circle\n",[70,149,151],{"class":72,"line":150},10,[70,152,153],{"class":90},"{\n",[70,155,157,160],{"class":72,"line":156},11,[70,158,159],{"class":83},"public:",[70,161,162],{"class":76},"  //访问权限  公共的权限\n",[70,164,166],{"class":72,"line":165},12,[70,167,108],{"emptyLinePlaceholder":107},[70,169,171],{"class":72,"line":170},13,[70,172,173],{"class":76},"    //属性\n",[70,175,177,180,183],{"class":72,"line":176},14,[70,178,179],{"class":83},"    int",[70,181,182],{"class":90}," m_r;",[70,184,185],{"class":76},"//半径\n",[70,187,189],{"class":72,"line":188},15,[70,190,108],{"emptyLinePlaceholder":107},[70,192,194],{"class":72,"line":193},16,[70,195,196],{"class":76},"    //行为\n",[70,198,200],{"class":72,"line":199},17,[70,201,202],{"class":76},"    //获取到圆的周长\n",[70,204,206,209,212],{"class":72,"line":205},18,[70,207,208],{"class":83},"    double",[70,210,211],{"class":146}," calculateZC",[70,213,214],{"class":90},"()\n",[70,216,218],{"class":72,"line":217},19,[70,219,220],{"class":90},"    {\n",[70,222,224],{"class":72,"line":223},20,[70,225,226],{"class":76},"        //2 * pi  * r\n",[70,228,230],{"class":72,"line":229},21,[70,231,232],{"class":76},"        //获取圆的周长\n",[70,234,236,239,242,245,247,250],{"class":72,"line":235},22,[70,237,238],{"class":83},"        return",[70,240,241],{"class":97},"  2",[70,243,244],{"class":83}," *",[70,246,91],{"class":90},[70,248,249],{"class":83},"*",[70,251,252],{"class":90}," m_r;\n",[70,254,256],{"class":72,"line":255},23,[70,257,258],{"class":90},"    }\n",[70,260,262],{"class":72,"line":261},24,[70,263,264],{"class":90},"};\n",[70,266,268],{"class":72,"line":267},25,[70,269,108],{"emptyLinePlaceholder":107},[70,271,273,276,279],{"class":72,"line":272},26,[70,274,275],{"class":83},"int",[70,277,278],{"class":146}," main",[70,280,281],{"class":90},"() {\n",[70,283,285],{"class":72,"line":284},27,[70,286,108],{"emptyLinePlaceholder":107},[70,288,290],{"class":72,"line":289},28,[70,291,292],{"class":76},"    //通过圆类，创建圆的对象\n",[70,294,296],{"class":72,"line":295},29,[70,297,298],{"class":76},"    // c1就是一个具体的圆\n",[70,300,302],{"class":72,"line":301},30,[70,303,304],{"class":90},"    Circle c1;\n",[70,306,308,311,313,316,319],{"class":72,"line":307},31,[70,309,310],{"class":90},"    c1.m_r ",[70,312,94],{"class":83},[70,314,315],{"class":97}," 10",[70,317,318],{"class":90},";",[70,320,321],{"class":76}," //给圆对象的半径 进行赋值操作\n",[70,323,325],{"class":72,"line":324},32,[70,326,108],{"emptyLinePlaceholder":107},[70,328,330],{"class":72,"line":329},33,[70,331,332],{"class":76},"    //2 * pi * 10 = = 62.8\n",[70,334,336,339,342,346,349,352,355,358,360],{"class":72,"line":335},34,[70,337,338],{"class":90},"    cout ",[70,340,341],{"class":83},"\u003C\u003C",[70,343,345],{"class":344},"sZZnC"," \"圆的周长为： \"",[70,347,348],{"class":83}," \u003C\u003C",[70,350,351],{"class":90}," c1.",[70,353,354],{"class":146},"calculateZC",[70,356,357],{"class":90},"() ",[70,359,341],{"class":83},[70,361,362],{"class":90}," endl;\n",[70,364,366],{"class":72,"line":365},35,[70,367,108],{"emptyLinePlaceholder":107},[70,369,371],{"class":72,"line":370},36,[70,372,108],{"emptyLinePlaceholder":107},[70,374,376,379,382],{"class":72,"line":375},37,[70,377,378],{"class":83},"    return",[70,380,381],{"class":97}," 0",[70,383,101],{"class":90},[70,385,387],{"class":72,"line":386},38,[70,388,389],{"class":90},"}\n",[17,391,392,395],{},[36,393,394],{},"运行/观察结果："," 运行后会按输出语句打印对应内容，变量值可结合初始化、赋值和函数调用顺序推导。",[17,397,398],{},"**示例2：**设计一个学生类，属性有姓名和学号，可以给姓名和学号赋值，可以显示学生的姓名和学号",[17,400,401],{},[36,402,403],{},"示例2代码：",[61,405,407],{"className":63,"code":406,"language":65,"meta":66,"style":66},"//学生类\nclass Student {\npublic:\n    void setName(string name) {\n        m_name = name;\n    }\n    void setID(int id) {\n        m_id = id;\n    }\n\n    void showStudent() {\n        cout \u003C\u003C \"name:\" \u003C\u003C m_name \u003C\u003C \" ID:\" \u003C\u003C m_id \u003C\u003C endl;\n    }\npublic:\n    string m_name;\n    int m_id;\n};\n\nint main() {\n\n    Student stu;\n    stu.setName(\"德玛西亚\");\n    stu.setID(250);\n    stu.showStudent();\n\n\n    return 0;\n}\n\n",[49,408,409,414,424,429,450,460,464,480,490,494,498,507,536,540,544,549,556,560,564,572,576,581,597,611,621,625,629,637],{"__ignoreMap":66},[70,410,411],{"class":72,"line":73},[70,412,413],{"class":76},"//学生类\n",[70,415,416,418,421],{"class":72,"line":80},[70,417,143],{"class":83},[70,419,420],{"class":146}," Student",[70,422,423],{"class":90}," {\n",[70,425,426],{"class":72,"line":104},[70,427,428],{"class":83},"public:\n",[70,430,431,434,437,440,443,447],{"class":72,"line":111},[70,432,433],{"class":83},"    void",[70,435,436],{"class":146}," setName",[70,438,439],{"class":90},"(",[70,441,442],{"class":146},"string",[70,444,446],{"class":445},"s4XuR"," name",[70,448,449],{"class":90},") {\n",[70,451,452,455,457],{"class":72,"line":117},[70,453,454],{"class":90},"        m_name ",[70,456,94],{"class":83},[70,458,459],{"class":90}," name;\n",[70,461,462],{"class":72,"line":123},[70,463,258],{"class":90},[70,465,466,468,471,473,475,478],{"class":72,"line":128},[70,467,433],{"class":83},[70,469,470],{"class":146}," setID",[70,472,439],{"class":90},[70,474,275],{"class":83},[70,476,477],{"class":445}," id",[70,479,449],{"class":90},[70,481,482,485,487],{"class":72,"line":134},[70,483,484],{"class":90},"        m_id ",[70,486,94],{"class":83},[70,488,489],{"class":90}," id;\n",[70,491,492],{"class":72,"line":140},[70,493,258],{"class":90},[70,495,496],{"class":72,"line":150},[70,497,108],{"emptyLinePlaceholder":107},[70,499,500,502,505],{"class":72,"line":156},[70,501,433],{"class":83},[70,503,504],{"class":146}," showStudent",[70,506,281],{"class":90},[70,508,509,512,514,517,519,522,524,527,529,532,534],{"class":72,"line":165},[70,510,511],{"class":90},"        cout ",[70,513,341],{"class":83},[70,515,516],{"class":344}," \"name:\"",[70,518,348],{"class":83},[70,520,521],{"class":90}," m_name ",[70,523,341],{"class":83},[70,525,526],{"class":344}," \" ID:\"",[70,528,348],{"class":83},[70,530,531],{"class":90}," m_id ",[70,533,341],{"class":83},[70,535,362],{"class":90},[70,537,538],{"class":72,"line":170},[70,539,258],{"class":90},[70,541,542],{"class":72,"line":176},[70,543,428],{"class":83},[70,545,546],{"class":72,"line":188},[70,547,548],{"class":90},"    string m_name;\n",[70,550,551,553],{"class":72,"line":193},[70,552,179],{"class":83},[70,554,555],{"class":90}," m_id;\n",[70,557,558],{"class":72,"line":199},[70,559,264],{"class":90},[70,561,562],{"class":72,"line":205},[70,563,108],{"emptyLinePlaceholder":107},[70,565,566,568,570],{"class":72,"line":217},[70,567,275],{"class":83},[70,569,278],{"class":146},[70,571,281],{"class":90},[70,573,574],{"class":72,"line":223},[70,575,108],{"emptyLinePlaceholder":107},[70,577,578],{"class":72,"line":229},[70,579,580],{"class":90},"    Student stu;\n",[70,582,583,586,589,591,594],{"class":72,"line":235},[70,584,585],{"class":90},"    stu.",[70,587,588],{"class":146},"setName",[70,590,439],{"class":90},[70,592,593],{"class":344},"\"德玛西亚\"",[70,595,596],{"class":90},");\n",[70,598,599,601,604,606,609],{"class":72,"line":255},[70,600,585],{"class":90},[70,602,603],{"class":146},"setID",[70,605,439],{"class":90},[70,607,608],{"class":97},"250",[70,610,596],{"class":90},[70,612,613,615,618],{"class":72,"line":261},[70,614,585],{"class":90},[70,616,617],{"class":146},"showStudent",[70,619,620],{"class":90},"();\n",[70,622,623],{"class":72,"line":267},[70,624,108],{"emptyLinePlaceholder":107},[70,626,627],{"class":72,"line":272},[70,628,108],{"emptyLinePlaceholder":107},[70,630,631,633,635],{"class":72,"line":284},[70,632,378],{"class":83},[70,634,381],{"class":97},[70,636,101],{"class":90},[70,638,639],{"class":72,"line":289},[70,640,389],{"class":90},[17,642,643,395],{},[36,644,394],{},[17,646,647],{},[36,648,649],{},"封装意义二：",[17,651,652],{},"类在设计时，可以把属性和行为放在不同的权限下，加以控制",[17,654,655],{},"访问权限有三种：",[657,658,659,662,665],"ol",{},[27,660,661],{},"public        公共权限",[27,663,664],{},"protected 保护权限",[27,666,667],{},"private      私有权限",[17,669,670],{},[36,671,672],{},"示例：",[61,674,676],{"className":63,"code":675,"language":65,"meta":66,"style":66},"//三种权限\n//公共权限  public     类内可以访问  类外可以访问\n//保护权限  protected  类内可以访问  类外不可以访问\n//私有权限  private    类内可以访问  类外不可以访问\n\nclass Person\n{\n    //姓名  公共权限\npublic:\n    string m_Name;\n\n    //汽车  保护权限\nprotected:\n    string m_Car;\n\n    //银行卡密码  私有权限\nprivate:\n    int m_Password;\n\npublic:\n    void func()\n    {\n        m_Name = \"张三\";\n        m_Car = \"拖拉机\";\n        m_Password = 123456;\n    }\n};\n\nint main() {\n\n    Person p;\n    p.m_Name = \"李四\";\n    //p.m_Car = \"奔驰\";  //保护权限类外访问不到\n    //p.m_Password = 123; //私有权限类外访问不到\n\n\n    return 0;\n}\n",[49,677,678,683,688,693,698,702,709,713,718,722,727,731,736,741,746,750,755,760,767,771,775,784,788,800,812,824,828,832,836,844,848,853,865,873,881,885,889,897],{"__ignoreMap":66},[70,679,680],{"class":72,"line":73},[70,681,682],{"class":76},"//三种权限\n",[70,684,685],{"class":72,"line":80},[70,686,687],{"class":76},"//公共权限  public     类内可以访问  类外可以访问\n",[70,689,690],{"class":72,"line":104},[70,691,692],{"class":76},"//保护权限  protected  类内可以访问  类外不可以访问\n",[70,694,695],{"class":72,"line":111},[70,696,697],{"class":76},"//私有权限  private    类内可以访问  类外不可以访问\n",[70,699,700],{"class":72,"line":117},[70,701,108],{"emptyLinePlaceholder":107},[70,703,704,706],{"class":72,"line":123},[70,705,143],{"class":83},[70,707,708],{"class":146}," Person\n",[70,710,711],{"class":72,"line":128},[70,712,153],{"class":90},[70,714,715],{"class":72,"line":134},[70,716,717],{"class":76},"    //姓名  公共权限\n",[70,719,720],{"class":72,"line":140},[70,721,428],{"class":83},[70,723,724],{"class":72,"line":150},[70,725,726],{"class":90},"    string m_Name;\n",[70,728,729],{"class":72,"line":156},[70,730,108],{"emptyLinePlaceholder":107},[70,732,733],{"class":72,"line":165},[70,734,735],{"class":76},"    //汽车  保护权限\n",[70,737,738],{"class":72,"line":170},[70,739,740],{"class":83},"protected:\n",[70,742,743],{"class":72,"line":176},[70,744,745],{"class":90},"    string m_Car;\n",[70,747,748],{"class":72,"line":188},[70,749,108],{"emptyLinePlaceholder":107},[70,751,752],{"class":72,"line":193},[70,753,754],{"class":76},"    //银行卡密码  私有权限\n",[70,756,757],{"class":72,"line":199},[70,758,759],{"class":83},"private:\n",[70,761,762,764],{"class":72,"line":205},[70,763,179],{"class":83},[70,765,766],{"class":90}," m_Password;\n",[70,768,769],{"class":72,"line":217},[70,770,108],{"emptyLinePlaceholder":107},[70,772,773],{"class":72,"line":223},[70,774,428],{"class":83},[70,776,777,779,782],{"class":72,"line":229},[70,778,433],{"class":83},[70,780,781],{"class":146}," func",[70,783,214],{"class":90},[70,785,786],{"class":72,"line":235},[70,787,220],{"class":90},[70,789,790,793,795,798],{"class":72,"line":255},[70,791,792],{"class":90},"        m_Name ",[70,794,94],{"class":83},[70,796,797],{"class":344}," \"张三\"",[70,799,101],{"class":90},[70,801,802,805,807,810],{"class":72,"line":261},[70,803,804],{"class":90},"        m_Car ",[70,806,94],{"class":83},[70,808,809],{"class":344}," \"拖拉机\"",[70,811,101],{"class":90},[70,813,814,817,819,822],{"class":72,"line":267},[70,815,816],{"class":90},"        m_Password ",[70,818,94],{"class":83},[70,820,821],{"class":97}," 123456",[70,823,101],{"class":90},[70,825,826],{"class":72,"line":272},[70,827,258],{"class":90},[70,829,830],{"class":72,"line":284},[70,831,264],{"class":90},[70,833,834],{"class":72,"line":289},[70,835,108],{"emptyLinePlaceholder":107},[70,837,838,840,842],{"class":72,"line":295},[70,839,275],{"class":83},[70,841,278],{"class":146},[70,843,281],{"class":90},[70,845,846],{"class":72,"line":301},[70,847,108],{"emptyLinePlaceholder":107},[70,849,850],{"class":72,"line":307},[70,851,852],{"class":90},"    Person p;\n",[70,854,855,858,860,863],{"class":72,"line":324},[70,856,857],{"class":90},"    p.m_Name ",[70,859,94],{"class":83},[70,861,862],{"class":344}," \"李四\"",[70,864,101],{"class":90},[70,866,867,870],{"class":72,"line":329},[70,868,869],{"class":76},"    //p.m_Car = \"奔驰\";",[70,871,872],{"class":76},"  //保护权限类外访问不到\n",[70,874,875,878],{"class":72,"line":335},[70,876,877],{"class":76},"    //p.m_Password = 123;",[70,879,880],{"class":76}," //私有权限类外访问不到\n",[70,882,883],{"class":72,"line":365},[70,884,108],{"emptyLinePlaceholder":107},[70,886,887],{"class":72,"line":370},[70,888,108],{"emptyLinePlaceholder":107},[70,890,891,893,895],{"class":72,"line":375},[70,892,378],{"class":83},[70,894,381],{"class":97},[70,896,101],{"class":90},[70,898,899],{"class":72,"line":386},[70,900,389],{"class":90},[17,902,903,905],{},[36,904,394],{}," 这段偏语法定义，通常需要配合调用代码一起编译，重点看定义方式和使用位置。",[13,907,908],{"id":908},"struct和class区别",[17,910,911,912,915,916],{},"在C++中 struct和class唯一的",[36,913,914],{},"区别","就在于 ",[36,917,918],{},"默认的访问权限不同",[17,920,921],{},"区别：",[24,923,924,927],{},[27,925,926],{},"struct 默认权限为公共",[27,928,929],{},"class   默认权限为私有",[61,931,933],{"className":63,"code":932,"language":65,"meta":66,"style":66},"class C1\n{\n    int  m_A; //默认是私有权限\n};\n\nstruct C2\n{\n    int m_A;  //默认是公共权限\n};\n\nint main() {\n\n    C1 c1;\n    c1.m_A = 10; //错误，访问权限是私有\n\n    C2 c2;\n    c2.m_A = 10; //正确，访问权限是公共\n\n\n    return 0;\n}\n",[49,934,935,942,946,956,960,964,972,976,986,990,994,1002,1006,1011,1025,1029,1034,1048,1052,1056,1064],{"__ignoreMap":66},[70,936,937,939],{"class":72,"line":73},[70,938,143],{"class":83},[70,940,941],{"class":146}," C1\n",[70,943,944],{"class":72,"line":80},[70,945,153],{"class":90},[70,947,948,950,953],{"class":72,"line":104},[70,949,179],{"class":83},[70,951,952],{"class":90},"  m_A;",[70,954,955],{"class":76}," //默认是私有权限\n",[70,957,958],{"class":72,"line":111},[70,959,264],{"class":90},[70,961,962],{"class":72,"line":117},[70,963,108],{"emptyLinePlaceholder":107},[70,965,966,969],{"class":72,"line":123},[70,967,968],{"class":83},"struct",[70,970,971],{"class":146}," C2\n",[70,973,974],{"class":72,"line":128},[70,975,153],{"class":90},[70,977,978,980,983],{"class":72,"line":134},[70,979,179],{"class":83},[70,981,982],{"class":90}," m_A;",[70,984,985],{"class":76},"  //默认是公共权限\n",[70,987,988],{"class":72,"line":140},[70,989,264],{"class":90},[70,991,992],{"class":72,"line":150},[70,993,108],{"emptyLinePlaceholder":107},[70,995,996,998,1000],{"class":72,"line":156},[70,997,275],{"class":83},[70,999,278],{"class":146},[70,1001,281],{"class":90},[70,1003,1004],{"class":72,"line":165},[70,1005,108],{"emptyLinePlaceholder":107},[70,1007,1008],{"class":72,"line":170},[70,1009,1010],{"class":90},"    C1 c1;\n",[70,1012,1013,1016,1018,1020,1022],{"class":72,"line":176},[70,1014,1015],{"class":90},"    c1.m_A ",[70,1017,94],{"class":83},[70,1019,315],{"class":97},[70,1021,318],{"class":90},[70,1023,1024],{"class":76}," //错误，访问权限是私有\n",[70,1026,1027],{"class":72,"line":188},[70,1028,108],{"emptyLinePlaceholder":107},[70,1030,1031],{"class":72,"line":193},[70,1032,1033],{"class":90},"    C2 c2;\n",[70,1035,1036,1039,1041,1043,1045],{"class":72,"line":199},[70,1037,1038],{"class":90},"    c2.m_A ",[70,1040,94],{"class":83},[70,1042,315],{"class":97},[70,1044,318],{"class":90},[70,1046,1047],{"class":76}," //正确，访问权限是公共\n",[70,1049,1050],{"class":72,"line":205},[70,1051,108],{"emptyLinePlaceholder":107},[70,1053,1054],{"class":72,"line":217},[70,1055,108],{"emptyLinePlaceholder":107},[70,1057,1058,1060,1062],{"class":72,"line":223},[70,1059,378],{"class":83},[70,1061,381],{"class":97},[70,1063,101],{"class":90},[70,1065,1066],{"class":72,"line":229},[70,1067,389],{"class":90},[17,1069,1070,905],{},[36,1071,394],{},[13,1073,1074],{"id":1074},"成员属性设置为私有",[17,1076,1077],{},"**优点1：**将所有成员属性设置为私有，可以自己控制读写权限",[17,1079,1080],{},"**优点2：**对于写权限，我们可以检测数据的有效性",[17,1082,1083],{},[36,1084,672],{},[61,1086,1088],{"className":63,"code":1087,"language":65,"meta":66,"style":66},"class Person {\npublic:\n\n    //姓名设置可读可写\n    void setName(string name) {\n        m_Name = name;\n    }\n    string getName()\n    {\n        return m_Name;\n    }\n\n    //获取年龄 \n    int getAge() {\n        return m_Age;\n    }\n    //设置年龄\n    void setAge(int age) {\n        if (age \u003C 0 || age > 150) {\n            cout \u003C\u003C \"你个老妖精!\" \u003C\u003C endl;\n            return;\n        }\n        m_Age = age;\n    }\n\n    //情人设置为只写\n    void setLover(string lover) {\n        m_Lover = lover;\n    }\n\nprivate:\n    string m_Name; //可读可写  姓名\n    \n    int m_Age; //只读  年龄\n\n    string m_Lover; //只写  情人\n};\n\nint main() {\n\n    Person p;\n    //姓名设置\n    p.setName(\"张三\");\n    cout \u003C\u003C \"姓名： \" \u003C\u003C p.getName() \u003C\u003C endl;\n\n    //年龄设置\n    p.setAge(50);\n    cout \u003C\u003C \"年龄： \" \u003C\u003C p.getAge() \u003C\u003C endl;\n\n    //情人设置\n    p.setLover(\"苍井\");\n    //cout \u003C\u003C \"情人： \" \u003C\u003C p.m_Lover \u003C\u003C endl;  //只写属性，不可以读取\n\n\n    return 0;\n}\n",[49,1089,1090,1099,1103,1107,1112,1126,1134,1138,1148,1152,1159,1163,1167,1172,1181,1188,1192,1197,1213,1240,1254,1261,1266,1276,1280,1284,1289,1305,1315,1319,1323,1327,1335,1340,1350,1354,1362,1366,1370,1379,1384,1389,1395,1410,1434,1439,1445,1460,1483,1488,1494,1509,1518,1523,1528,1537],{"__ignoreMap":66},[70,1091,1092,1094,1097],{"class":72,"line":73},[70,1093,143],{"class":83},[70,1095,1096],{"class":146}," Person",[70,1098,423],{"class":90},[70,1100,1101],{"class":72,"line":80},[70,1102,428],{"class":83},[70,1104,1105],{"class":72,"line":104},[70,1106,108],{"emptyLinePlaceholder":107},[70,1108,1109],{"class":72,"line":111},[70,1110,1111],{"class":76},"    //姓名设置可读可写\n",[70,1113,1114,1116,1118,1120,1122,1124],{"class":72,"line":117},[70,1115,433],{"class":83},[70,1117,436],{"class":146},[70,1119,439],{"class":90},[70,1121,442],{"class":146},[70,1123,446],{"class":445},[70,1125,449],{"class":90},[70,1127,1128,1130,1132],{"class":72,"line":123},[70,1129,792],{"class":90},[70,1131,94],{"class":83},[70,1133,459],{"class":90},[70,1135,1136],{"class":72,"line":128},[70,1137,258],{"class":90},[70,1139,1140,1143,1146],{"class":72,"line":134},[70,1141,1142],{"class":146},"    string",[70,1144,1145],{"class":146}," getName",[70,1147,214],{"class":90},[70,1149,1150],{"class":72,"line":140},[70,1151,220],{"class":90},[70,1153,1154,1156],{"class":72,"line":150},[70,1155,238],{"class":83},[70,1157,1158],{"class":90}," m_Name;\n",[70,1160,1161],{"class":72,"line":156},[70,1162,258],{"class":90},[70,1164,1165],{"class":72,"line":165},[70,1166,108],{"emptyLinePlaceholder":107},[70,1168,1169],{"class":72,"line":170},[70,1170,1171],{"class":76},"    //获取年龄 \n",[70,1173,1174,1176,1179],{"class":72,"line":176},[70,1175,179],{"class":83},[70,1177,1178],{"class":146}," getAge",[70,1180,281],{"class":90},[70,1182,1183,1185],{"class":72,"line":188},[70,1184,238],{"class":83},[70,1186,1187],{"class":90}," m_Age;\n",[70,1189,1190],{"class":72,"line":193},[70,1191,258],{"class":90},[70,1193,1194],{"class":72,"line":199},[70,1195,1196],{"class":76},"    //设置年龄\n",[70,1198,1199,1201,1204,1206,1208,1211],{"class":72,"line":205},[70,1200,433],{"class":83},[70,1202,1203],{"class":146}," setAge",[70,1205,439],{"class":90},[70,1207,275],{"class":83},[70,1209,1210],{"class":445}," age",[70,1212,449],{"class":90},[70,1214,1215,1218,1221,1224,1226,1229,1232,1235,1238],{"class":72,"line":217},[70,1216,1217],{"class":83},"        if",[70,1219,1220],{"class":90}," (age ",[70,1222,1223],{"class":83},"\u003C",[70,1225,381],{"class":97},[70,1227,1228],{"class":83}," ||",[70,1230,1231],{"class":90}," age ",[70,1233,1234],{"class":83},">",[70,1236,1237],{"class":97}," 150",[70,1239,449],{"class":90},[70,1241,1242,1245,1247,1250,1252],{"class":72,"line":223},[70,1243,1244],{"class":90},"            cout ",[70,1246,341],{"class":83},[70,1248,1249],{"class":344}," \"你个老妖精!\"",[70,1251,348],{"class":83},[70,1253,362],{"class":90},[70,1255,1256,1259],{"class":72,"line":229},[70,1257,1258],{"class":83},"            return",[70,1260,101],{"class":90},[70,1262,1263],{"class":72,"line":235},[70,1264,1265],{"class":90},"        }\n",[70,1267,1268,1271,1273],{"class":72,"line":255},[70,1269,1270],{"class":90},"        m_Age ",[70,1272,94],{"class":83},[70,1274,1275],{"class":90}," age;\n",[70,1277,1278],{"class":72,"line":261},[70,1279,258],{"class":90},[70,1281,1282],{"class":72,"line":267},[70,1283,108],{"emptyLinePlaceholder":107},[70,1285,1286],{"class":72,"line":272},[70,1287,1288],{"class":76},"    //情人设置为只写\n",[70,1290,1291,1293,1296,1298,1300,1303],{"class":72,"line":284},[70,1292,433],{"class":83},[70,1294,1295],{"class":146}," setLover",[70,1297,439],{"class":90},[70,1299,442],{"class":146},[70,1301,1302],{"class":445}," lover",[70,1304,449],{"class":90},[70,1306,1307,1310,1312],{"class":72,"line":289},[70,1308,1309],{"class":90},"        m_Lover ",[70,1311,94],{"class":83},[70,1313,1314],{"class":90}," lover;\n",[70,1316,1317],{"class":72,"line":295},[70,1318,258],{"class":90},[70,1320,1321],{"class":72,"line":301},[70,1322,108],{"emptyLinePlaceholder":107},[70,1324,1325],{"class":72,"line":307},[70,1326,759],{"class":83},[70,1328,1329,1332],{"class":72,"line":324},[70,1330,1331],{"class":90},"    string m_Name;",[70,1333,1334],{"class":76}," //可读可写  姓名\n",[70,1336,1337],{"class":72,"line":329},[70,1338,1339],{"class":90},"    \n",[70,1341,1342,1344,1347],{"class":72,"line":335},[70,1343,179],{"class":83},[70,1345,1346],{"class":90}," m_Age;",[70,1348,1349],{"class":76}," //只读  年龄\n",[70,1351,1352],{"class":72,"line":365},[70,1353,108],{"emptyLinePlaceholder":107},[70,1355,1356,1359],{"class":72,"line":370},[70,1357,1358],{"class":90},"    string m_Lover;",[70,1360,1361],{"class":76}," //只写  情人\n",[70,1363,1364],{"class":72,"line":375},[70,1365,264],{"class":90},[70,1367,1368],{"class":72,"line":386},[70,1369,108],{"emptyLinePlaceholder":107},[70,1371,1373,1375,1377],{"class":72,"line":1372},39,[70,1374,275],{"class":83},[70,1376,278],{"class":146},[70,1378,281],{"class":90},[70,1380,1382],{"class":72,"line":1381},40,[70,1383,108],{"emptyLinePlaceholder":107},[70,1385,1387],{"class":72,"line":1386},41,[70,1388,852],{"class":90},[70,1390,1392],{"class":72,"line":1391},42,[70,1393,1394],{"class":76},"    //姓名设置\n",[70,1396,1398,1401,1403,1405,1408],{"class":72,"line":1397},43,[70,1399,1400],{"class":90},"    p.",[70,1402,588],{"class":146},[70,1404,439],{"class":90},[70,1406,1407],{"class":344},"\"张三\"",[70,1409,596],{"class":90},[70,1411,1413,1415,1417,1420,1422,1425,1428,1430,1432],{"class":72,"line":1412},44,[70,1414,338],{"class":90},[70,1416,341],{"class":83},[70,1418,1419],{"class":344}," \"姓名： \"",[70,1421,348],{"class":83},[70,1423,1424],{"class":90}," p.",[70,1426,1427],{"class":146},"getName",[70,1429,357],{"class":90},[70,1431,341],{"class":83},[70,1433,362],{"class":90},[70,1435,1437],{"class":72,"line":1436},45,[70,1438,108],{"emptyLinePlaceholder":107},[70,1440,1442],{"class":72,"line":1441},46,[70,1443,1444],{"class":76},"    //年龄设置\n",[70,1446,1448,1450,1453,1455,1458],{"class":72,"line":1447},47,[70,1449,1400],{"class":90},[70,1451,1452],{"class":146},"setAge",[70,1454,439],{"class":90},[70,1456,1457],{"class":97},"50",[70,1459,596],{"class":90},[70,1461,1463,1465,1467,1470,1472,1474,1477,1479,1481],{"class":72,"line":1462},48,[70,1464,338],{"class":90},[70,1466,341],{"class":83},[70,1468,1469],{"class":344}," \"年龄： \"",[70,1471,348],{"class":83},[70,1473,1424],{"class":90},[70,1475,1476],{"class":146},"getAge",[70,1478,357],{"class":90},[70,1480,341],{"class":83},[70,1482,362],{"class":90},[70,1484,1486],{"class":72,"line":1485},49,[70,1487,108],{"emptyLinePlaceholder":107},[70,1489,1491],{"class":72,"line":1490},50,[70,1492,1493],{"class":76},"    //情人设置\n",[70,1495,1497,1499,1502,1504,1507],{"class":72,"line":1496},51,[70,1498,1400],{"class":90},[70,1500,1501],{"class":146},"setLover",[70,1503,439],{"class":90},[70,1505,1506],{"class":344},"\"苍井\"",[70,1508,596],{"class":90},[70,1510,1512,1515],{"class":72,"line":1511},52,[70,1513,1514],{"class":76},"    //cout \u003C\u003C \"情人： \" \u003C\u003C p.m_Lover \u003C\u003C endl;",[70,1516,1517],{"class":76},"  //只写属性，不可以读取\n",[70,1519,1521],{"class":72,"line":1520},53,[70,1522,108],{"emptyLinePlaceholder":107},[70,1524,1526],{"class":72,"line":1525},54,[70,1527,108],{"emptyLinePlaceholder":107},[70,1529,1531,1533,1535],{"class":72,"line":1530},55,[70,1532,378],{"class":83},[70,1534,381],{"class":97},[70,1536,101],{"class":90},[70,1538,1540],{"class":72,"line":1539},56,[70,1541,389],{"class":90},[17,1543,1544,395],{},[36,1545,394],{},[17,1547,1548],{},[36,1549,1550],{},"练习案例1：设计立方体类",[17,1552,1553],{},"设计立方体类(Cube)",[17,1555,1556],{},"求出立方体的面积和体积",[17,1558,1559],{},"分别用全局函数和成员函数判断两个立方体是否相等。",[17,1561,1562],{},[1563,1564],"img",{"alt":1565,"src":1566},"1545533548532","https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/10/05/stage3-1545533548532-458ac23a27.webp",[17,1568,1569],{},[36,1570,1571],{},"练习案例2：点和圆的关系",[17,1573,1574],{},"设计一个圆形类（Circle），和一个点类（Point），计算点和圆的关系。",[17,1576,1577],{},[1563,1578],{"alt":1579,"src":1580},"1545533829184","https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/10/05/stage3-1545533829184-a2d0cf0d88.webp",[1582,1583,1584],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":66,"searchDepth":80,"depth":80,"links":1586},[1587],{"id":5,"depth":104,"text":5},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-1-feng-zhuang","13.1",13010000,"2023-10-05","wiki/2023-10-05-cplusplus-jiao-xue","zh-cn:2023-10-05-cplusplus-jiao-xue","/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue","Cplusplus教学","md","wiki/2023-10-05-Cplusplus教学/ch13-1-封装",false,null,"/wiki/2023-10-05-cplusplus-jiao-xue/ch13-1-feng-zhuang","zh-CN","zh-cn",{},{"title":5,"description":66},"lGgNGumHqnBnBp0BeCV7_bRiOhPd8oXKwxVicB-QN2c",[1607,1613,1619,1625,1631,1632,1638,1644,1650,1656,1662,1668,1674,1680,1686,1692,1698,1704,1710,1716,1722,1728,1734,1740,1746,1752,1758,1764,1770,1776,1782,1788,1794,1800,1806,1812,1818,1824,1830,1836,1842,1848,1854,1860,1866,1872,1878,1884,1890,1896,1902,1908,1914,1920,1926,1932,1938,1944,1950,1956,1962,1968,1974,1980,1986,1992,1998,2004,2010,2016],{"path":1608,"stem":1609,"title":1610,"date":1591,"chapter":1611,"chapterSort":1612,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch1-c-ji-chu-chu-shi","wiki/2023-10-05-Cplusplus教学/ch1-C++基础初识","C++基础初识","1",1000000,{"path":1614,"stem":1615,"title":1616,"date":1591,"chapter":1617,"chapterSort":1618,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch10-nei-cun-fen-qu-yu-sheng-ming-zhou-qi","wiki/2023-10-05-Cplusplus教学/ch10-内存分区与生命周期","内存分区与生命周期","10",10000000,{"path":1620,"stem":1621,"title":1622,"date":1591,"chapter":1623,"chapterSort":1624,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch11-yin-yong","wiki/2023-10-05-Cplusplus教学/ch11-引用","引用","11",11000000,{"path":1626,"stem":1627,"title":1628,"date":1591,"chapter":1629,"chapterSort":1630,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch12-han-shu-ti-gao-yu-ming-ming-kong-jian","wiki/2023-10-05-Cplusplus教学/ch12-函数提高与命名空间","函数提高与命名空间","12",12000000,{"path":1588,"stem":1597,"title":5,"date":1591,"chapter":1589,"chapterSort":1590,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},{"path":1633,"stem":1634,"title":1635,"date":1591,"chapter":1636,"chapterSort":1637,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-2-dui-xiang-chu-shi-hua-he-qing-li","wiki/2023-10-05-Cplusplus教学/ch13-2-对象初始化和清理","对象初始化和清理","13.2",13020000,{"path":1639,"stem":1640,"title":1641,"date":1591,"chapter":1642,"chapterSort":1643,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-3-dui-xiang-mo-xing-yu-this-zhi-zhen","wiki/2023-10-05-Cplusplus教学/ch13-3-对象模型与this指针","对象模型与this指针","13.3",13030000,{"path":1645,"stem":1646,"title":1647,"date":1591,"chapter":1648,"chapterSort":1649,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-4-you-yuan-yu-yun-suan-fu-zhong-zai","wiki/2023-10-05-Cplusplus教学/ch13-4-友元与运算符重载","友元与运算符重载","13.4",13040000,{"path":1651,"stem":1652,"title":1653,"date":1591,"chapter":1654,"chapterSort":1655,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-5-ji-cheng","wiki/2023-10-05-Cplusplus教学/ch13-5-继承","继承","13.5",13050000,{"path":1657,"stem":1658,"title":1659,"date":1591,"chapter":1660,"chapterSort":1661,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-6-duo-tai","wiki/2023-10-05-Cplusplus教学/ch13-6-多态","多态","13.6",13060000,{"path":1663,"stem":1664,"title":1665,"date":1591,"chapter":1666,"chapterSort":1667,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch13-lei-he-dui-xiang","wiki/2023-10-05-Cplusplus教学/ch13-类和对象","类和对象","13",13000000,{"path":1669,"stem":1670,"title":1671,"date":1591,"chapter":1672,"chapterSort":1673,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch14-wen-jian-cao-zuo","wiki/2023-10-05-Cplusplus教学/ch14-文件操作","文件操作","14",14000000,{"path":1675,"stem":1676,"title":1677,"date":1591,"chapter":1678,"chapterSort":1679,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch15-mu-ban","wiki/2023-10-05-Cplusplus教学/ch15-模板","模板","15",15000000,{"path":1681,"stem":1682,"title":1683,"date":1591,"chapter":1684,"chapterSort":1685,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-1-stl-chu-shi","wiki/2023-10-05-Cplusplus教学/ch16-1-STL初识","STL初识","16.1",16010000,{"path":1687,"stem":1688,"title":1689,"date":1591,"chapter":1690,"chapterSort":1691,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-2-std-array","wiki/2023-10-05-Cplusplus教学/ch16-2-std-array","std::array","16.2",16020000,{"path":1693,"stem":1694,"title":1695,"date":1591,"chapter":1696,"chapterSort":1697,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-3-string-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-3-string容器","string容器","16.3",16030000,{"path":1699,"stem":1700,"title":1701,"date":1591,"chapter":1702,"chapterSort":1703,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-4-vector-yu-deque-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-4-vector与deque容器","vector与deque容器","16.4",16040000,{"path":1705,"stem":1706,"title":1707,"date":1591,"chapter":1708,"chapterSort":1709,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-5-stack-queue-list-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-5-stack-queue-list容器","stack / queue / list 容器","16.5",16050000,{"path":1711,"stem":1712,"title":1713,"date":1591,"chapter":1714,"chapterSort":1715,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-6-set-map-rong-qi","wiki/2023-10-05-Cplusplus教学/ch16-6-set-map容器","set / map 容器","16.6",16060000,{"path":1717,"stem":1718,"title":1719,"date":1591,"chapter":1720,"chapterSort":1721,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-7-han-shu-dui-xiang-yu-wei-ci","wiki/2023-10-05-Cplusplus教学/ch16-7-函数对象与谓词","函数对象与谓词","16.7",16070000,{"path":1723,"stem":1724,"title":1725,"date":1591,"chapter":1726,"chapterSort":1727,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-8-chang-yong-suan-fa","wiki/2023-10-05-Cplusplus教学/ch16-8-常用算法","常用算法","16.8",16080000,{"path":1729,"stem":1730,"title":1731,"date":1591,"chapter":1732,"chapterSort":1733,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch16-stl-ti-gao-bian-cheng","wiki/2023-10-05-Cplusplus教学/ch16-STL提高编程","STL提高编程","16",16000000,{"path":1735,"stem":1736,"title":1737,"date":1591,"chapter":1738,"chapterSort":1739,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch17-c-lei-xing-zhuan-huan","wiki/2023-10-05-Cplusplus教学/ch17-C++类型转换","C++类型转换","17",17000000,{"path":1741,"stem":1742,"title":1743,"date":1591,"chapter":1744,"chapterSort":1745,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-1-auto","wiki/2023-10-05-Cplusplus教学/ch18-1-auto","auto","18.1",18010000,{"path":1747,"stem":1748,"title":1749,"date":1591,"chapter":1750,"chapterSort":1751,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-10-you-zhi-yin-yong-he-yi-dong-yu-yi","wiki/2023-10-05-Cplusplus教学/ch18-10-右值引用和移动语义","右值引用和移动语义","18.10",18100000,{"path":1753,"stem":1754,"title":1755,"date":1591,"chapter":1756,"chapterSort":1757,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-11-lambda-biao-da-shi","wiki/2023-10-05-Cplusplus教学/ch18-11-Lambda表达式","Lambda 表达式","18.11",18110000,{"path":1759,"stem":1760,"title":1761,"date":1591,"chapter":1762,"chapterSort":1763,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-12-std-function","wiki/2023-10-05-Cplusplus教学/ch18-12-std-function","std::function","18.12",18120000,{"path":1765,"stem":1766,"title":1767,"date":1591,"chapter":1768,"chapterSort":1769,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-13-std-bind","wiki/2023-10-05-Cplusplus教学/ch18-13-std-bind","std::bind","18.13",18130000,{"path":1771,"stem":1772,"title":1773,"date":1591,"chapter":1774,"chapterSort":1775,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-14-std-optional","wiki/2023-10-05-Cplusplus教学/ch18-14-std-optional","std::optional","18.14",18140000,{"path":1777,"stem":1778,"title":1779,"date":1591,"chapter":1780,"chapterSort":1781,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-15-std-variant","wiki/2023-10-05-Cplusplus教学/ch18-15-std-variant","std::variant","18.15",18150000,{"path":1783,"stem":1784,"title":1785,"date":1591,"chapter":1786,"chapterSort":1787,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-16-std-span","wiki/2023-10-05-Cplusplus教学/ch18-16-std-span","std::span","18.16",18160000,{"path":1789,"stem":1790,"title":1791,"date":1591,"chapter":1792,"chapterSort":1793,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-17-std-format-print","wiki/2023-10-05-Cplusplus教学/ch18-17-std-format-print","std::format / std::print","18.17",18170000,{"path":1795,"stem":1796,"title":1797,"date":1591,"chapter":1798,"chapterSort":1799,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-18-std-chrono","wiki/2023-10-05-Cplusplus教学/ch18-18-std-chrono","std::chrono","18.18",18180000,{"path":1801,"stem":1802,"title":1803,"date":1591,"chapter":1804,"chapterSort":1805,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-1-std-thread","wiki/2023-10-05-Cplusplus教学/ch18-19-1-std-thread","std::thread 与 join","18.19.1",18190100,{"path":1807,"stem":1808,"title":1809,"date":1591,"chapter":1810,"chapterSort":1811,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-2-mutex-lock-guard","wiki/2023-10-05-Cplusplus教学/ch18-19-2-mutex-lock-guard","mutex 与 lock_guard","18.19.2",18190200,{"path":1813,"stem":1814,"title":1815,"date":1591,"chapter":1816,"chapterSort":1817,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-3-std-atomic","wiki/2023-10-05-Cplusplus教学/ch18-19-3-std-atomic","std::atomic","18.19.3",18190300,{"path":1819,"stem":1820,"title":1821,"date":1591,"chapter":1822,"chapterSort":1823,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-4-condition-variable","wiki/2023-10-05-Cplusplus教学/ch18-19-4-condition-variable","condition_variable","18.19.4",18190400,{"path":1825,"stem":1826,"title":1827,"date":1591,"chapter":1828,"chapterSort":1829,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-19-bing-fa-bian-cheng","wiki/2023-10-05-Cplusplus教学/ch18-19-并发编程","并发编程","18.19",18190000,{"path":1831,"stem":1832,"title":1833,"date":1591,"chapter":1834,"chapterSort":1835,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-2-nullptr","wiki/2023-10-05-Cplusplus教学/ch18-2-nullptr","nullptr","18.2",18020000,{"path":1837,"stem":1838,"title":1839,"date":1591,"chapter":1840,"chapterSort":1841,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-20-std-filesystem","wiki/2023-10-05-Cplusplus教学/ch18-20-std-filesystem","std::filesystem","18.20",18200000,{"path":1843,"stem":1844,"title":1845,"date":1591,"chapter":1846,"chapterSort":1847,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-21-modules-jian-jie","wiki/2023-10-05-Cplusplus教学/ch18-21-modules简介","modules 简介","18.21",18210000,{"path":1849,"stem":1850,"title":1851,"date":1591,"chapter":1852,"chapterSort":1853,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-3-using","wiki/2023-10-05-Cplusplus教学/ch18-3-using","using","18.3",18030000,{"path":1855,"stem":1856,"title":1857,"date":1591,"chapter":1858,"chapterSort":1859,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-4-enum-class","wiki/2023-10-05-Cplusplus教学/ch18-4-enum-class","enum class","18.4",18040000,{"path":1861,"stem":1862,"title":1863,"date":1591,"chapter":1864,"chapterSort":1865,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-5-fan-wei-for-xun-huan","wiki/2023-10-05-Cplusplus教学/ch18-5-范围for循环","范围 for 循环","18.5",18050000,{"path":1867,"stem":1868,"title":1869,"date":1591,"chapter":1870,"chapterSort":1871,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-6-jie-gou-hua-bang-ding","wiki/2023-10-05-Cplusplus教学/ch18-6-结构化绑定","结构化绑定","18.6",18060000,{"path":1873,"stem":1874,"title":1875,"date":1591,"chapter":1876,"chapterSort":1877,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-7-constexpr","wiki/2023-10-05-Cplusplus教学/ch18-7-constexpr","constexpr","18.7",18070000,{"path":1879,"stem":1880,"title":1881,"date":1591,"chapter":1882,"chapterSort":1883,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-8-raii","wiki/2023-10-05-Cplusplus教学/ch18-8-RAII","RAII","18.8",18080000,{"path":1885,"stem":1886,"title":1887,"date":1591,"chapter":1888,"chapterSort":1889,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-9-zhi-neng-zhi-zhen","wiki/2023-10-05-Cplusplus教学/ch18-9-智能指针","智能指针","18.9",18090000,{"path":1891,"stem":1892,"title":1893,"date":1591,"chapter":1894,"chapterSort":1895,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch18-xian-dai-c","wiki/2023-10-05-Cplusplus教学/ch18-现代C++","现代C++","18",18000000,{"path":1897,"stem":1898,"title":1899,"date":1591,"chapter":1900,"chapterSort":1901,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-1-ding-shi-qi-yu-yi-bu-io","wiki/2023-10-05-Cplusplus教学/ch19-1-1-定时器与异步IO","定时器与异步 IO","19.1.1",19010100,{"path":1903,"stem":1904,"title":1905,"date":1591,"chapter":1906,"chapterSort":1907,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-2-boost-asio-ji-chu","wiki/2023-10-05-Cplusplus教学/ch19-1-2-Boost.Asio基础","Boost.Asio 基础","19.1.2",19010200,{"path":1909,"stem":1910,"title":1911,"date":1591,"chapter":1912,"chapterSort":1913,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-3-chuan-kou-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-3-串口通信","串口通信","19.1.3",19010300,{"path":1915,"stem":1916,"title":1917,"date":1591,"chapter":1918,"chapterSort":1919,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-4-tcp-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-4-TCP通信","TCP 通信","19.1.4",19010400,{"path":1921,"stem":1922,"title":1923,"date":1591,"chapter":1924,"chapterSort":1925,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-5-udp-tong-xin","wiki/2023-10-05-Cplusplus教学/ch19-1-5-UDP通信","UDP 通信","19.1.5",19010500,{"path":1927,"stem":1928,"title":1929,"date":1591,"chapter":1930,"chapterSort":1931,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-6-ji-qi-ren-gong-cheng-xie-fa-yu-ros2-ji-cheng","wiki/2023-10-05-Cplusplus教学/ch19-1-6-机器人工程写法与ROS2集成","机器人工程写法与 ROS2 集成","19.1.6",19010600,{"path":1933,"stem":1934,"title":1935,"date":1591,"chapter":1936,"chapterSort":1937,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-1-boost-asio-yi-bu-io-ku","wiki/2023-10-05-Cplusplus教学/ch19-1-Boost.Asio异步IO库","Boost.Asio异步IO库","19.1",19010000,{"path":1939,"stem":1940,"title":1941,"date":1591,"chapter":1942,"chapterSort":1943,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-2-eigen-xian-xing-dai-shu-ku","wiki/2023-10-05-Cplusplus教学/ch19-2-Eigen线性代数库","Eigen线性代数库","19.2",19020000,{"path":1945,"stem":1946,"title":1947,"date":1591,"chapter":1948,"chapterSort":1949,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-3-opencv-ji-suan-ji-shi-jue-ku","wiki/2023-10-05-Cplusplus教学/ch19-3-OpenCV计算机视觉库","OpenCV计算机视觉库","19.3",19030000,{"path":1951,"stem":1952,"title":1953,"date":1591,"chapter":1954,"chapterSort":1955,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-4-pcl-dian-yun-ku","wiki/2023-10-05-Cplusplus教学/ch19-4-PCL点云库","PCL点云库","19.4",19040000,{"path":1957,"stem":1958,"title":1959,"date":1591,"chapter":1960,"chapterSort":1961,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-5-sophus-li-qun-li-dai-shu-ku","wiki/2023-10-05-Cplusplus教学/ch19-5-Sophus李群李代数库","Sophus 李群李代数库","19.5",19050000,{"path":1963,"stem":1964,"title":1965,"date":1591,"chapter":1966,"chapterSort":1967,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch19-chang-yong-ku","wiki/2023-10-05-Cplusplus教学/ch19-常用库","常用库学习","19",19000000,{"path":1969,"stem":1970,"title":1971,"date":1591,"chapter":1972,"chapterSort":1973,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch2-shu-ju-lei-xing-yu-shu-ju-cun-fang","wiki/2023-10-05-Cplusplus教学/ch2-数据类型与数据存放","数据类型与数据存放","2",2000000,{"path":1975,"stem":1976,"title":1977,"date":1591,"chapter":1978,"chapterSort":1979,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch3-shu-ru-shu-chu","wiki/2023-10-05-Cplusplus教学/ch3-输入输出","输入输出","3",3000000,{"path":1981,"stem":1982,"title":1983,"date":1591,"chapter":1984,"chapterSort":1985,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch4-yun-suan-fu","wiki/2023-10-05-Cplusplus教学/ch4-运算符","运算符","4",4000000,{"path":1987,"stem":1988,"title":1989,"date":1591,"chapter":1990,"chapterSort":1991,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch5-cheng-xu-liu-cheng-jie-gou","wiki/2023-10-05-Cplusplus教学/ch5-程序流程结构","程序流程结构","5",5000000,{"path":1993,"stem":1994,"title":1995,"date":1591,"chapter":1996,"chapterSort":1997,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch6-shu-zu","wiki/2023-10-05-Cplusplus教学/ch6-数组","数组","6",6000000,{"path":1999,"stem":2000,"title":2001,"date":1591,"chapter":2002,"chapterSort":2003,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch7-han-shu-yu-tou-wen-jian","wiki/2023-10-05-Cplusplus教学/ch7-函数与头文件","函数与头文件","7",7000000,{"path":2005,"stem":2006,"title":2007,"date":1591,"chapter":2008,"chapterSort":2009,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch8-zhi-zhen","wiki/2023-10-05-Cplusplus教学/ch8-指针","指针","8",8000000,{"path":2011,"stem":2012,"title":2013,"date":1591,"chapter":2014,"chapterSort":2015,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":1598},"/zh-cn/wiki/2023-10-05-cplusplus-jiao-xue/ch9-jie-gou-ti-yu-gong-yong-ti","wiki/2023-10-05-Cplusplus教学/ch9-结构体与共用体","结构体与共用体","9",9000000,{"path":1594,"stem":2017,"title":2018,"date":1591,"chapter":1599,"chapterSort":2019,"docKey":1593,"docRoot":1594,"docTitle":1595,"isWikiDoc":107,"isWikiIndex":107},"wiki/2023-10-05-Cplusplus教学/index","C/C++教程",0,{"variants":2021},[2022,2025,2028,2031,2034],{"path":2023,"localeSlug":2024,"i18nKey":1597},"/en-us/wiki/2023-10-05-cplusplus-jiao-xue/ch13-1-feng-zhuang","en-us",{"path":2026,"localeSlug":2027,"i18nKey":1597},"/zh-hant/wiki/2023-10-05-cplusplus-jiao-xue/ch13-1-feng-zhuang","zh-hant",{"path":2029,"localeSlug":2030,"i18nKey":1597},"/zh-hk/wiki/2023-10-05-cplusplus-jiao-xue/ch13-1-feng-zhuang","zh-hk",{"path":2032,"localeSlug":2033,"i18nKey":1597},"/zh-tw/wiki/2023-10-05-cplusplus-jiao-xue/ch13-1-feng-zhuang","zh-tw",{"path":1588,"localeSlug":1602,"i18nKey":1597},[2023,1600,2026,1600,2029,1600,2032,1600,1588,1600],1780663030768]