<span id="plx27"><var id="plx27"></var></span>
<dfn id="plx27"><var id="plx27"></var></dfn>
  • <span id="plx27"><code id="plx27"><input id="plx27"></input></code></span>
    <menu id="plx27"></menu><menuitem id="plx27"><thead id="plx27"><input id="plx27"></input></thead></menuitem>
  • <label id="plx27"><code id="plx27"></code></label>
    <label id="plx27"><button id="plx27"></button></label>
  • 歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
    裝配圖網(wǎng)
    ImageVerifierCode 換一換
    首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

    《面向?qū)ο蟪绦蛟O計》中國科學技術(shù)大學計算機系馬建輝.ppt

    • 資源ID:12672790       資源大?。?span id="j5fa7mb" class="font-tahoma">301.81KB        全文頁數(shù):31頁
    • 資源格式: PPT        下載積分:9.9積分
    快捷下載 游客一鍵下載
    會員登錄下載
    微信登錄下載
    三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
    二維碼
    微信掃一掃登錄
    下載資源需要9.9積分
    郵箱/手機:
    溫馨提示:
    用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
    支付方式: 支付寶    微信支付   
    驗證碼:   換一換

     
    賬號:
    密碼:
    驗證碼:   換一換
      忘記密碼?
        
    友情提示
    2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
    3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
    4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
    5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

    《面向?qū)ο蟪绦蛟O計》中國科學技術(shù)大學計算機系馬建輝.ppt

    第六章類成員(二),面向?qū)ο蟪绦蛟O計(C+),6類成員(二),6.1成員變量與成員函數(shù)6.2this指針6.3成員對象6.4const(常量)6.5const對象與const成員函數(shù)6.6靜態(tài)成員變量與靜態(tài)成員函數(shù),6.4const量(常量),從高質(zhì)量程序設計的角度考察C+中的const!,6.4.1const的意義,最低權(quán)限原則:軟件工程的基本原則之一。const的意義:在可更改與不可更改之間畫一條明確的界線,提高程序的安全性和可控性。eg:constinti=100;i+;/編譯錯誤,6.4.2C中的const(常量),“一個不能被改變的普通變量”。因此:-總是占用存儲;-名字是全局的。也就是說,默認情況下,const是外部連接的(容易引起“名字沖突”)。constintbufsize;/無需初始化constintbufsize=100;charbufbufsize;/error!Why?在編譯時,編譯器并不知道const的值,它只是一個“運行時常量”。,6.4.3C+的Const,通常,C+編譯器不為const創(chuàng)建存儲空間,而是把它保存在“符號表”里,即“編譯時常量”。constintbufsize;/非法,未賦初值constintbufsize=100;charstrbufbufsize;/OK,Why?默認情況下,C+中的const是內(nèi)部連接的,也就是說,const僅在const被定義過的文件里才是可見的。(因此,不用擔心名字沖突)當定義一個const時,必須賦一個值給它,除非用extern做出了清楚的說明。當用extern說明了const時,編譯器會強制為const分配空間,而不是保存在符號表中。externconstintbufsize;/未賦初值,但extern聲明了bufsize在另一個文件中定義及賦初值。,6.4.3C+的Const(續(xù)),const用于集合,必須為其分配內(nèi)存,(因為編譯器“不愿意”把集合保存到符號表中,太復雜)。constinti=1,2,3,4;floatfi3;/非法,編譯期間無法知道存儲空間的值。structSinti,j;constSs=1,2,3,4;doubleds1.j;/非法,理由同上intmain()/:,6.4.4C+中const的作用,值替代:C+的constvsC中的宏替換#defineBUFSIZE100;/宏替換charstrBUFSIZE;vsconstintbufsize=100;/C+的constcharstrbufsize;在宏替換中,BUFSIZE沒有類型信息,不能進行類型檢查;宏定義是全局的,容易名字沖突。,6.4.4C+中const的作用(續(xù)),安全性如果想用運行期間產(chǎn)生的值初始化一個變量,并且知道在該變量的生命期內(nèi)其值不變,則可用const限定該變量,達到最大限度地保證改變量安全性的目的。intmain()cout<<"typeacharacter/:,6.4.5const的應用:const指針,1.指向const的指針(指針指向的內(nèi)存地址的值不能改變)constint*u;/u是一個指針,它指向constint;intconst*v;/v是一個指向恰好是const的int的普通指針;2.const指針(指針的值不能改變)constintd=1;int*constw=/w是一個指針,這個指針是指向int的const指針注意:C+中,const指針必須賦初值,6.4.5const的應用:const指針(續(xù)),3.const指針指向const對象intd=1;constint*constx=/x,x2,*x,*x2都不能改變,非const對象的地址可以賦給const指針;const對象的地址絕不可以賦給非const指針。(因為這樣做可能導致通過非const指針改變const對象的值的后果)intd=1;constinte=2;int*u=/legalbutbadpracticeintmain()/:,注意,6.4.6const的應用:const參數(shù),1.傳遞const值voidf1(constinti)i+;/編譯時錯誤,i不能改變“形參”不能被改變or“實參”不能被改變?,6.4.7const的應用:const返回值,2.按值返回內(nèi)部const常量intf3()return1;constintf4()return1;/返回constint;intmain()constintj=f3();/Worksfineintk=f4();/Butthisworksfinetoo!/:對內(nèi)部類型來說,按值返回const量并沒有什么特別的意義。,6.4.7const的應用:const返回值(續(xù)),3.按值返回自定義類型的const:實際上阻止了返回值作為左值出現(xiàn)。classXinti;public:X(intii=0);voidmodify();X:X(intii)i=ii;voidX:modify()i+;,Xf5()Xx(2)returnx;/返回變量constXf6()returnX();/按值返回const;voidf7(X/Error:Why?/:,error2664:cannotconvertparameter1fromconstclassXtoclassX/Error:試圖改變值inti=*cip;/OK-copiesvalueint*ip2=cip;/Error:試圖讓非const*指向const*constint*constw()staticinti;return/返回靜態(tài)局部量的地址,intmain()intx=0;int*ip=/NotOK/:,當傳遞一個或返回一個地址時(指針或引用),設置為const可以阻止客戶程序員修改其值。,對參數(shù)傳遞而言,C+建議用const引用傳遞替代值傳遞。問:有什么好處?答:兼顧了效率和易用性傳遞地址比傳遞整個對象更有效;引用傳遞比指針傳遞形式上更簡單。,作業(yè):,8.5(上機)8.16(上機),6.5const對象與const成員函數(shù),本節(jié)討論const在類中的應用const數(shù)據(jù)成員const成員函數(shù)const對象,6.5.1const數(shù)據(jù)成員,classFredconstintsize;public:Fred(intsz);voidprint();Fred:Fred(intsz):size(sz)voidFred:print()cout<<size<=0/:,小結(jié),const能將對象、函數(shù)參數(shù)、返回值和成員函數(shù)定義為常量,還可以進行值替代。const為程序設計提供了又一種非常好的類型檢查形式及安全性。const幾乎成了程序正確性的“救命稻草”。,作業(yè):,P366(中文版P196):8.24(上機)8.28(提示:參考11.1),

    注意事項

    本文(《面向?qū)ο蟪绦蛟O計》中國科學技術(shù)大學計算機系馬建輝.ppt)為本站會員(sh****n)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

    溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




    關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

    copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

    備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


    本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

    欧美久久久一区二区三区,国产精品亚洲一区二区无码,亚洲国产精品综合久久20声音,亚洲国产精品无码久久久蜜芽
    <span id="plx27"><var id="plx27"></var></span>
    <dfn id="plx27"><var id="plx27"></var></dfn>
  • <span id="plx27"><code id="plx27"><input id="plx27"></input></code></span>
    <menu id="plx27"></menu><menuitem id="plx27"><thead id="plx27"><input id="plx27"></input></thead></menuitem>
  • <label id="plx27"><code id="plx27"></code></label>
    <label id="plx27"><button id="plx27"></button></label>