亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 教學--第二十三章 類(一)封裝.htm

?? 《白話c++網頁版》是一本用淺顯易懂的并具有點幽默的語調來講述c++的高深的內容
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0045)http://d2school.com/bcyl/bhcpp/newls/ls23.htm -->
<HTML><HEAD><TITLE>教學--第二十三章 類(一)封裝</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>P {
	MARGIN: 1px 2px; LINE-HEIGHT: 150%
}
.節標題 {
	FONT-WEIGHT: bold; FONT-SIZE: 12pt
}
TD {
	FONT-SIZE: 9pt
}
.tdtitle {
	FONT-SIZE: 20pt
}
.celltopline {
	BORDER-TOP: #000000 1px solid
}
.menucell {
	FONT-SIZE: 10pt
}
#glowtext {
	FONT-SIZE: 10pt; FILTER: glow(color=red,strength=1); WIDTH: 100%
}
A:link {
	FONT: 10pt 宋體; COLOR: blue; TEXT-DECORATION: none
}
A:visited {
	FONT: 10pt 宋體; COLOR: purple; TEXT-DECORATION: none
}
A:active {
	FONT: 10pt 宋體; COLOR: red; TEXT-DECORATION: underline
}
A:hover {
	COLOR: blue; TEXT-DECORATION: underline
}
</STYLE>

<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY leftMargin=0 topMargin=3>
<CENTER>
<TABLE height=105 cellSpacing=4 cellPadding=4 width=760 border=0>
  <TBODY>
  <TR>
    <TD 
    style="FONT-SIZE: 10pt; TEXT-INDENT: 20px; LINE-HEIGHT: 150%; FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;" 
    width="100%" height=210>
      <H2>第二十<SPAN lang=zh-cn>三</SPAN>章&nbsp; <SPAN lang=zh-cn>類/class (一) 
      封裝</SPAN></H2>
      <P> </P>
      <P><A href="http://d2school.com/bcyl/bhcpp/newls/ls23.htm#23.1">23.1 
      從“我吃飯”開始</A> </P>
      <P><A href="http://d2school.com/bcyl/bhcpp/newls/ls23.htm#23.2">23.2 
      從“結構”到“類”</A> </P>
      <P><A href="http://d2school.com/bcyl/bhcpp/newls/ls23.htm#23.3">23.3 
      類的成員數據與成員函數</A> </P>
      <P><SPAN lang=zh-cn>&nbsp; </SPAN><A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls23.htm#23.3.1">23.3.1 
      成員數據初始化的疑問</A> </P>
      <P><SPAN lang=zh-cn>&nbsp; </SPAN><A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls23.htm#23.3.2">23.3.2 
      成員函數的實現</A> </P>
      <P><A href="http://d2school.com/bcyl/bhcpp/newls/ls23.htm#23.4">23.4 封裝 
      </A></P>
      <P><SPAN lang=zh-cn>&nbsp; </SPAN><A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls23.htm#23.4.1">23.4.1 
      私有成員/private member </A></P>
      <P><SPAN lang=zh-cn>&nbsp; </SPAN><A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls23.htm#23.4.2">23.4.2 
      保護成員/protected member</A> </P>
      <P><SPAN lang=zh-cn>&nbsp; </SPAN><A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls23.htm#23.4.3">23.4.3 
      公有成員/public member </A></P>
      <P><SPAN lang=zh-cn>&nbsp; </SPAN><A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls23.htm#23.4.4">23.4.4 
      “封裝”的作用</A> </P>
      <P><A href="http://d2school.com/bcyl/bhcpp/newls/ls23.htm#23.5">23.5 
      作業</A></P>
      <P> </P>
      <H1><B><FONT size=4><A name=23.1>2<SPAN lang=zh-cn>3</SPAN>.1</A> <SPAN 
      lang=zh-cn>從“我吃飯”開始</SPAN></FONT></B></H1>
      <P> </P>
      <P><SPAN lang=zh-cn>我吃飯……</SPAN></P>
      <P><SPAN lang=zh-cn>其中,“我”是一個變量,“我”的類型是“人類”;</SPAN></P>
      <P><SPAN lang=zh-cn>“吃”是一個函數。</SPAN></P>
      <P><SPAN lang=zh-cn>“飯”也是一個變量,它的類型是“食物”。這里用于做函數“吃”的參數。</SPAN></P>
      <P> </P>
      <P><SPAN 
      lang=zh-cn>“我吃飯”!這是一種面向對象的思想的表達。其中的對象是“我”。以我為中心。我因為是人類,所以具備“吃”這種能力。如果說“桌子吃飯”,那么編譯器會報錯,因為桌子屬于家具類,而家具不提供“吃”的函數。</SPAN></P>
      <P><SPAN 
      lang=zh-cn>C++是一種具備面向對象能力的編程語言,所以,用C++來表達“我吃飯”這樣一件事時,它的代碼風格貼近這種人類的自然語言,即:我.吃(飯);“我”是一個對象,“吃”是“我”所屬對象(人類)的一個函數,而“飯”是函數參數。</SPAN></P>
      <P><SPAN 
      lang=zh-cn>換成C語言,因為它不具備面向對象的設計思想,所以,它只能說成:“吃(我,飯)”。“吃”是函數,“我”和“飯”是兩個參數。沒有人規則一定要把“我”作為第一個參數,你盡可寫成“吃(飯,我)”。二者比較,面向對象的最基本的好處或許您已經有所體會:自然,從而不容易出錯。</SPAN></P>
      <P> </P>
      <H1><B><FONT size=4><A name=23.2>23.2</A> 從“結構”到“類”</FONT></B></H1>
      <P> </P>
      <P><SPAN 
      lang=zh-cn>上一章我們學習了結構(struct)。(強烈建議你暫時放下新課程,重溫一下struct)。</SPAN></P>
      <P><SPAN lang=zh-cn>結構讓我們具備了把多種相同或不同的類型,組成一種新類型的能力。</SPAN></P>
      <P><SPAN lang=zh-cn>比如上一章講的“寶寶/BaoBao”這一結構,它的組合為:</SPAN></P>
      <P> </P>
      <P><B>struct</B> BaoBao</P>
      <P><B>{</B></P>
      <P>&nbsp;&nbsp;&nbsp; char xingMing[11];<SPAN lang=zh-cn> 
      //用字符數組,來存儲姓名</SPAN></P>
      <P>&nbsp;&nbsp;&nbsp; int shenGao;<SPAN lang=zh-cn> //身高,整型</SPAN></P>
      <P>&nbsp;&nbsp;&nbsp; float tiZhong;<SPAN lang=zh-cn> //體重,實型</SPAN></P>
      <P><B>};</B> </P>
      <P> </P>
      <P><SPAN 
      lang=zh-cn>通過struct,我們通過將簡單數據類型(int,float,bool……)或簡單數據類型的數組、指針,組合成一個新的<B>數據類型</B>。由此,我們在用程序表達復雜的現實世界時,更接近了一步。但是別忘了,我們說過世界是由“數據”和“動作”組成的。光能定義出各種數據類型,還只是編程世界的一半。你可能會說,我們有函數啊,函數不是可以表達“動作”?</SPAN></P>
      <P><SPAN 
      lang=zh-cn>沒錯,比如說,寶寶肯定有“吃”的動作,所以我來聲明一個“吃”的函數。為了直觀,我們的函數命名為“Chi”。并且我們假充有一種數據類型叫“飯”,同樣用拼音Fan表示,首字母大寫,而小寫的fan用來做形參。</SPAN></P>
      <P> </P>
      <P><SPAN lang=zh-cn>void Chi(Fan fan);</SPAN></P>
      <P> </P>
      <P><SPAN 
      lang=zh-cn>乍一看,感覺這個函數這樣聲明也就對了。“吃飯”函數嘛,有“吃”又有“飯”……可仔細一想,誰吃飯啊?這個光有吃的動作和吃的東西,和我們前面的“寶寶”數據類型有何關系?所以,顯然不夠,需要再加一個參數,用于傳一個“要吃飯”的寶寶進去。因此函數變成:</SPAN></P>
      <P> </P>
      <P><SPAN lang=zh-cn>void Chi(BaoBao bb, Fan fan);</SPAN></P>
      <P> </P>
      <P><SPAN 
      lang=zh-cn>得,“吃我飯”的表達出來了。過程化的編程,其設計重在關心“過程”,比如:“如何吃”,但這個世界要求我們完整地關心“誰?如何吃?吃什么?”。事實上,同一樣一個“吃”,寶寶吃的動作,和一個大男人吃的動作;或者,吃飯還是吃奶的動作?怕是完全不一樣。如果真寫,就不得不寫很多版本的“吃”這一函數:</SPAN></P>
      <P><SPAN lang=zh-cn>假設用DNR表大男人(暈,好像大女人也可以?):</SPAN></P>
      <P><SPAN lang=zh-cn>void DNRChi(DNR dnr, PingGuo pg); 
      //吃函數版本一:大男人吃蘋果</SPAN></P>
      <P><SPAN lang=zh-cn>void DNRChi(DNR dnr,Fan fan); 
//吃函數版本二:大男人吃飯</SPAN></P>
      <P><SPAN lang=zh-cn>void BaoBaoChi(BaoBao bb, Nai nai); 
      //吃函數版本三:寶寶吃奶</SPAN></P>
      <P><SPAN lang=zh-cn>void BaoBaoChi(BaoBao bb, Fan fan); 
      //吃函數版本四:寶寶吃飯</SPAN></P>
      <P><SPAN lang=zh-cn>......</SPAN></P>
      <P> </P>
      <P><SPAN 
      lang=zh-cn>這樣的函數還可以有很多。函數多或許并沒有錯,必竟所要表達事物本來就復雜。然而問題是我們如何去理解,區分,記憶這些函數呢?僅靠函數名和函數參數的不同嗎?在超市付款時,看過收款員拉開過放錢的小抽屜嗎?拉開一看,都是錢,但10元的5元,100元的及硬幣分門別類地放好……聰明的你一定會提出:如果能把函數也歸類就好了……這就有了“類”,英文稱為:class。</SPAN></P>
      <P> </P>
      <P><SPAN lang=zh-cn>請仔細看,下面示例的class定義里,加入了一個函數:</SPAN></P>
      <P> </P>
      <P><SPAN lang=zh-cn>class BaoBao</SPAN></P>
      <P><SPAN lang=zh-cn>{</SPAN></P>
      <P>&nbsp;&nbsp;&nbsp; char xingMing[11];<SPAN lang=zh-cn> 
      //用字符數組,來存儲姓名</SPAN></P>
      <P>&nbsp;&nbsp;&nbsp; int shenGao;<SPAN lang=zh-cn> //身高,整型</SPAN></P>
      <P>&nbsp;&nbsp;&nbsp; float tiZhong;<SPAN lang=zh-cn> //體重,實型</SPAN></P>
      <P> </P>
      <P><SPAN lang=zh-cn>&nbsp;&nbsp;&nbsp; void Chi(Fan fan); 
      //加入“吃”的函數。&nbsp;&nbsp; </SPAN></P>
      <P><SPAN lang=zh-cn>};</SPAN></P>
      <P> </P>
      <P><SPAN 
      lang=zh-cn>這算是一個“突變”——我們一直說著的“動作”與“數據”從這里開始合二為一,表面看來或許不過如此:無非是在類的定義里,同時可以包括數據及函數。然而卻由此開啟了“面向對象”世界之門。如果你喜歡武俠,那你可以把它看成一門語言打通了任督二脈……</SPAN></P>
      <P> </P>
      <P><SPAN lang=zh-cn>類的數據定義里,出現函數,那么,這個函數的<B>聲明</B>它占用類的大小嗎?</SPAN></P>
      <P> </P>
      <P><SPAN 
      lang=zh-cn>來看兩個數據定義,前者是struct,后者是class。前者沒有包括函數,后者包括一個函數。其余的數據定義完全一樣。</SPAN></P>
      <P> </P>
      <DIV align=center>
      <CENTER>
      <TABLE id=AutoNumber1 cellSpacing=0 cellPadding=0 width="72%" 
      bgColor=#008080 border=1>
        <TBODY>
        <TR>
          <TD width="47%"><FONT color=#ffffff><SPAN lang=zh-cn>struct 
            SBaoBao</SPAN></FONT>
            <P><FONT color=#ffffff><SPAN lang=zh-cn>{</SPAN></FONT></P>
            <P><FONT color=#ffffff><SPAN lang=zh-cn>&nbsp;&nbsp; char 
            xingMing[11];</SPAN></FONT></P>
            <P><FONT color=#ffffff><SPAN lang=zh-cn>&nbsp;&nbsp; int 
            shenGao;</SPAN></FONT></P>
            <P><FONT color=#ffffff><SPAN lang=zh-cn>&nbsp;&nbsp; float 
            tiZhou;</SPAN></FONT></P>
            <P><FONT color=#ffffff><SPAN lang=zh-cn>};</SPAN></FONT></P></TD>
          <TD width="53%"><FONT color=#ffffff><SPAN lang=zh-cn>class 
            CBaoBao</SPAN></FONT>
            <P><FONT color=#ffffff><SPAN lang=zh-cn>{</SPAN></FONT></P>
            <P><FONT color=#ffffff><SPAN lang=zh-cn>&nbsp;&nbsp; char 
            xingMing[11];</SPAN></FONT></P>
            <P><FONT color=#ffffff><SPAN lang=zh-cn>&nbsp;&nbsp; int 
            shenGao;</SPAN></FONT></P>
            <P><FONT color=#ffffff><SPAN lang=zh-cn>&nbsp;&nbsp; float 
            tiZhou;</SPAN></FONT></P>
            <P> </P>
            <P><FONT color=#ffffff><SPAN lang=zh-cn>&nbsp;&nbsp; void Chi(int 
            a); //參數可不能用Fan了</SPAN></FONT></P>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲福利视频一区二区| av高清不卡在线| www.成人在线| 欧美一区二区三区四区五区 | 精品一区二区免费看| 成人黄色在线看| 91精品国产乱码久久蜜臀| 欧美高清精品3d| 一区二区三区丝袜| 国产精品一区二区91| 欧美日本一道本在线视频| 中文字幕欧美激情| 极品美女销魂一区二区三区免费| 97se亚洲国产综合自在线| 久久网站最新地址| 久久精品久久精品| 欧美久久一二三四区| 亚洲精品视频在线| 99精品偷自拍| 国产精品嫩草影院com| 激情文学综合网| 欧美一区二区高清| 日韩影视精彩在线| 欧美日韩国产天堂| 亚洲国产aⅴ天堂久久| 在线国产电影不卡| 亚洲激情图片小说视频| 99久久er热在这里只有精品15 | 日韩欧美国产一区二区三区| 一级特黄大欧美久久久| 99在线视频精品| 亚洲视频网在线直播| 99riav久久精品riav| 国产精品高清亚洲| 91视频在线观看| 一区二区三区不卡在线观看| 97se亚洲国产综合自在线不卡| 18涩涩午夜精品.www| 99精品久久99久久久久| 亚洲特黄一级片| 精品视频在线视频| 秋霞影院一区二区| 精品久久久久一区| 国产成人午夜视频| 亚洲精品五月天| 欧美久久一二区| 韩国一区二区三区| 国产精品欧美综合在线| 日本精品一区二区三区高清| 亚洲欧美欧美一区二区三区| 91激情五月电影| 日本成人在线电影网| 久久综合色婷婷| 99久久久无码国产精品| 亚洲线精品一区二区三区| 欧美一区二区三区在线观看| 国产乱码精品一区二区三区五月婷| 日本一区二区三区dvd视频在线| 97久久精品人人做人人爽| 亚洲妇熟xx妇色黄| 久久夜色精品一区| 日本精品一区二区三区四区的功能| 婷婷中文字幕一区三区| 久久精品一区二区| 在线视频综合导航| 国产主播一区二区| 亚洲四区在线观看| 欧美va亚洲va国产综合| 91农村精品一区二区在线| 午夜精品在线看| 国产精品视频第一区| 在线日韩av片| 狠狠色丁香久久婷婷综| ●精品国产综合乱码久久久久| 欧美久久一二区| 97久久久精品综合88久久| 青青草精品视频| 中文字幕一区不卡| 欧美精品一区二区久久婷婷| 91福利国产精品| 国产麻豆精品在线观看| 日韩福利电影在线| 亚洲女同一区二区| 国产亚洲精品7777| 91精品国产aⅴ一区二区| av网站一区二区三区| 紧缚奴在线一区二区三区| 亚洲激情自拍视频| 中文成人综合网| 精品88久久久久88久久久| 欧洲精品中文字幕| av电影天堂一区二区在线| 国产一区二区三区免费看| 日韩—二三区免费观看av| 亚洲线精品一区二区三区| ●精品国产综合乱码久久久久| 精品日韩欧美在线| 欧美一区中文字幕| 欧美三级电影在线观看| 99热这里都是精品| www.av亚洲| jizzjizzjizz欧美| 高清国产午夜精品久久久久久| 国产一区二区中文字幕| 亚洲国产视频在线| 亚洲在线成人精品| 一区二区三区四区蜜桃| 亚洲柠檬福利资源导航| 国产精品成人免费在线| 中日韩免费视频中文字幕| 亚洲国产成人一区二区三区| 精品福利一二区| 精品国产第一区二区三区观看体验| 欧美一区二区视频在线观看2022| 欧美日韩精品欧美日韩精品一 | 91精品国产91综合久久蜜臀| 欧美日韩国产成人在线91 | 99热这里都是精品| 97久久久精品综合88久久| 成人激情免费网站| 成人一区二区视频| 91无套直看片红桃| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 日韩精品综合一本久道在线视频| 欧美日韩高清在线| 日韩欧美视频一区| 国产婷婷色一区二区三区| 国产精品视频免费| 一区二区三区国产精品| 亚瑟在线精品视频| 免费视频一区二区| 国产精品系列在线播放| 大桥未久av一区二区三区中文| www.爱久久.com| 欧美日韩国产片| 欧美va亚洲va| 亚洲欧美日韩国产手机在线| 亚洲成国产人片在线观看| 麻豆一区二区三| 国产aⅴ综合色| 欧美日韩国产综合视频在线观看| 91精品国产综合久久精品性色| 亚洲精品一区二区在线观看| 国产女同性恋一区二区| 一区二区三区91| 国内精品嫩模私拍在线| 99精品久久久久久| 精品人伦一区二区色婷婷| 国产精品视频一二三| 五月婷婷久久综合| 成人黄色777网| 777亚洲妇女| 亚洲国产高清aⅴ视频| 五月激情六月综合| 成人看片黄a免费看在线| 欧美日韩在线一区二区| 久久久久国产成人精品亚洲午夜| 亚洲一区在线观看网站| 美国av一区二区| 在线免费不卡电影| 26uuu亚洲| 午夜精品福利久久久| 大陆成人av片| 26uuu国产在线精品一区二区| 亚洲精品日日夜夜| 国产精品91一区二区| 这里只有精品电影| 国产精品免费aⅴ片在线观看| 美美哒免费高清在线观看视频一区二区| 成人免费毛片a| 欧美变态tickling挠脚心| 悠悠色在线精品| 成人在线视频首页| 久久综合丝袜日本网| 日本一区中文字幕| 欧美日韩在线播放三区| 国产精品麻豆99久久久久久| 日韩成人伦理电影在线观看| 色噜噜狠狠成人网p站| 国产蜜臀97一区二区三区| 麻豆国产精品官网| 欧美日韩视频第一区| 亚洲色欲色欲www| 丰满少妇久久久久久久| 精品粉嫩aⅴ一区二区三区四区| 亚洲成人黄色小说| 欧美日韩一区二区电影| 亚洲乱码国产乱码精品精98午夜| 国产成人h网站| 国产日韩成人精品| 国产98色在线|日韩| 久久久亚洲国产美女国产盗摄| 蜜桃免费网站一区二区三区| 欧美日韩精品一二三区| 亚洲图片一区二区| 欧美人伦禁忌dvd放荡欲情| 午夜视频在线观看一区二区三区| 在线免费观看日本欧美| 亚洲国产婷婷综合在线精品| 欧美色网一区二区|