歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > PPT文檔下載  

c++面向?qū)ο蟪绦蛟O(shè)計(jì)

  • 資源ID:3024       資源大?。?span id="eovv3go" class="font-tahoma">1.16MB        全文頁(yè)數(shù):407頁(yè)
  • 資源格式: PPT        下載積分:7積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要7積分
郵箱/手機(jī):
溫馨提示:
用戶(hù)名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢(xún)和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

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

c++面向?qū)ο蟪绦蛟O(shè)計(jì)

面向?qū)ο蟮脑O(shè)計(jì)思想 面向?qū)ο蟮乃枷胱畛醭霈F(xiàn)于挪威奧斯陸大學(xué)和挪威計(jì)算機(jī)中心共同研制的 7語(yǔ)言中 , 隨著的0語(yǔ)言推出 , 面向?qū)ο蟮牡某绦蛟O(shè)計(jì)方法得到了比較完善的實(shí)現(xiàn) 。 此后 , 面向?qū)ο蟮母拍詈蛻?yīng)用已超越了程序設(shè)計(jì)和軟件開(kāi)發(fā) , 擴(kuò)展到如數(shù)據(jù)庫(kù)系統(tǒng) , 交互式界面 , 分布式系統(tǒng) , 網(wǎng)絡(luò)管理結(jié)構(gòu)和人工智能等領(lǐng)域 。 面向?qū)ο蟮陌l(fā)展 面向?qū)ο笏枷?數(shù)據(jù)抽象 一種設(shè)計(jì)方法 把一組數(shù)據(jù)及作用與其上的操作組成一個(gè)設(shè)計(jì)實(shí)體或單位。接口說(shuō)明外部可見(jiàn),其實(shí)現(xiàn)是隱蔽的,不可見(jiàn)的。 發(fā)展的三個(gè)階段 01010101 100100 用戶(hù) 定義 抽象數(shù) 據(jù)類(lèi)型 面向?qū)ο笏枷?抽象數(shù)據(jù)類(lèi)型 抽象數(shù)據(jù)類(lèi)型是指“一個(gè)值集和作用在該值集上的操作集”。抽象數(shù)據(jù)類(lèi)型的定義只決定于其邏輯特性,與其具體的計(jì)算機(jī)內(nèi)部實(shí)現(xiàn)無(wú)關(guān)。一個(gè)抽象數(shù)據(jù)類(lèi)型可以分解為語(yǔ)法、語(yǔ)義、表示和算法 4個(gè)部分。 功能抽象 模塊 數(shù)據(jù)抽象 模塊 面向?qū)ο笏枷?抽象數(shù)據(jù)類(lèi)型的實(shí)現(xiàn) 實(shí)現(xiàn)抽象數(shù)據(jù)類(lèi)型需要借助于高級(jí)程序設(shè)計(jì)語(yǔ)言 ; 在面向過(guò)程的語(yǔ)言中,用戶(hù)可以自己定義數(shù)據(jù)類(lèi)型 ; 在面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言中,借助于對(duì)象描述抽象數(shù)據(jù)類(lèi)型。 (面向?qū)ο笏枷?問(wèn)題求解 面向?qū)ο笤O(shè)計(jì)方法:實(shí)現(xiàn)問(wèn)題空間和問(wèn)題求解空間的近似和直接模擬。 意識(shí)部分 教室 物質(zhì)部分 303教室 抽象部分 教室類(lèi) 具體部分 一個(gè)對(duì)象:教室實(shí)例 現(xiàn)實(shí)問(wèn)題空間 解空間 面向?qū)ο蟮奶攸c(diǎn) 封裝機(jī)制 基于消息的通信 繼承機(jī)制 多態(tài)機(jī)制 理解面向?qū)ο蟮幕靖拍顚?duì)于學(xué)習(xí)和掌握面向?qū)ο蟮拈_(kāi)發(fā)方法是十分重要的。 面向?qū)ο蟮幕靖拍?類(lèi) ( 對(duì)象 (實(shí)例 (多態(tài)性 (繼承 ( 消息 (封裝 (面向?qū)ο蟮氖澜缬^(guān) 把客觀(guān)世界從概念上看成是一個(gè)由相互配合而協(xié)作的對(duì)象所組成的系統(tǒng) 面向?qū)ο?=對(duì)象 +分類(lèi) +繼承 +通信 一個(gè)實(shí)例 椅子 對(duì)象:桌子 價(jià)格 尺寸 重量 位置 顏色 類(lèi):家具 對(duì)象:椅子 一個(gè)面向?qū)ο蟮膶?shí)例 椅子 價(jià)格 尺寸 重量 位置 顏色 買(mǎi) 賣(mài) 移動(dòng) 買(mǎi) 賣(mài) 移動(dòng) 買(mǎi) 賣(mài) 移動(dòng) 價(jià)格 尺寸 重量 位置 顏色 對(duì)象 對(duì)象 (對(duì)象是用來(lái)描述客觀(guān)存在的事物,它是構(gòu)成系統(tǒng)的基本單位,是對(duì)客觀(guān)世界中事物的抽象描述。 對(duì)象 行為(功能、方法、服務(wù)) 屬性(數(shù)據(jù)) 屬性 行為 接口 對(duì)象 對(duì)象 對(duì)象 面向?qū)ο蟮幕靖拍?對(duì)象是由私有數(shù)據(jù)(屬性)及作用于其上的一組操作(行為)所構(gòu)成的一個(gè)封閉整體 由于對(duì)象的數(shù)據(jù)是私有的,所以要想訪(fǎng)問(wèn)其數(shù)據(jù)的正確方法是向該對(duì)象發(fā)送消息,讓對(duì)象自身選擇其內(nèi)部相應(yīng)的操作以完成對(duì)該項(xiàng)數(shù)據(jù)的訪(fǎng)問(wèn) 對(duì)象的動(dòng)作取決于外界給對(duì)象的刺激,這就是消息,消息告訴對(duì)象所要求它完成的功能。對(duì)象具有一定的智能功能,即“知道”如何選擇相應(yīng)的操作來(lái)處理對(duì)象所接收的消息 從設(shè)計(jì)人員的角度看,對(duì)象是一個(gè)完成特定功能的程序塊 從用戶(hù)的角度看,對(duì)象為他們提供了所希望的行為 面向?qū)ο蟮幕靖拍?對(duì)象 (對(duì)象標(biāo)識(shí) 對(duì)象生命周期 面向?qū)ο蟮幕靖拍?類(lèi) ( 類(lèi) 又稱(chēng) 對(duì)象類(lèi) ( , 是 一組具有相同屬性和相同操作的對(duì)象的集合 。 在一個(gè)類(lèi)中 , 每個(gè)對(duì)象都是類(lèi)的 實(shí)例 (,它們都可以使用類(lèi)中提供的函數(shù) 。 類(lèi)具有屬性 , 用數(shù)據(jù)結(jié)構(gòu)來(lái)描述類(lèi)的屬性 , 類(lèi)具有操作 , 它是對(duì)象的行為的抽象 , 操作實(shí)現(xiàn)的過(guò)程稱(chēng)為方法 ( , 方法有方法名 , 方法體和參數(shù) 。 由于對(duì)象是類(lèi)的實(shí)例,在進(jìn)行分析和設(shè)計(jì)時(shí),通常把注意力集中在類(lèi)上,而不是具體的對(duì)象上。 幾何對(duì)象 顏色 位置 移動(dòng)( 矢量) 選擇( P:指針型) :布爾型 旋轉(zhuǎn) (角度 ) 圖 1 對(duì)象類(lèi)的描述 人 姓 名 :字符串 年 齡 : 整 型 改換工作 改換地址 文件 文件名 文件大小 最近更新日期 打印 (人 ) 張紅兵 28 繪圖員 人民路 8號(hào) (人 ) 李軍 24 程序員 無(wú) 圖 2 對(duì)象的描述 對(duì)象和類(lèi)的描述 類(lèi)和 對(duì)象一般采用 “ 名字 ” 、 屬性 ” 和 運(yùn)算 ” 來(lái)描述 。 類(lèi)名 屬性 運(yùn)算 對(duì)象 類(lèi) 屬于某類(lèi)的具體對(duì)象就是該類(lèi)的 實(shí)例 。 一個(gè)類(lèi)的不同實(shí)例必定具有: 相同的操作(或行為)的集合 相同的信息結(jié)構(gòu)或?qū)傩远x,但可以有不同的屬性值 不同的對(duì)象標(biāo)識(shí) 面向?qū)ο蟮幕靖拍?面向?qū)ο蟮幕靖拍?消息 (對(duì)象之間的聯(lián)系是通過(guò)傳遞消息來(lái)實(shí)現(xiàn)的。 消息 就是向?qū)ο蟀l(fā)出的服務(wù)請(qǐng)求(互相聯(lián)系、協(xié)同工作等)。 是對(duì)象之間進(jìn)行通訊的一種數(shù)據(jù)結(jié)構(gòu)。 消息統(tǒng)一了“數(shù)據(jù)流”和“控制流”。 數(shù)據(jù) 方法 消息到達(dá) 面向?qū)ο蟮幕靖拍?消息 - 消息傳送與函數(shù)調(diào)用的區(qū)別 ( 1)函數(shù)調(diào)用可以帶或不帶參數(shù),但是消息至少帶一個(gè)參數(shù),它表明接收該消息的對(duì)象,消息中告訴對(duì)象做什么的部分稱(chēng)為消息操作; ( 2)消息操作名類(lèi)似于函數(shù)名,其本質(zhì)區(qū)別在于:函數(shù)名代表一段可執(zhí)行的代碼,但消息操作名具體功能的選定還取決于接收消息的對(duì)象本身 ( 3)函數(shù)調(diào)用是過(guò)程式的(如何做),消息傳送是說(shuō)明式的(做什么),具體如何做,由對(duì)象根據(jù)收到的消息自行確定。 繼承 ( 繼承是使用現(xiàn)存的定義作為基礎(chǔ) , 建立新定義的技術(shù) 。 是父類(lèi)和子類(lèi)之間共享數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制 ,這是類(lèi)之間的一種關(guān)系 。 繼承性分: 單重繼承: 一個(gè)子類(lèi)只有一個(gè)父類(lèi) 。 即子類(lèi)只繼承一個(gè)父類(lèi)的數(shù)據(jù)結(jié)構(gòu)和方法 。 多重繼承: 一個(gè)子類(lèi)可有多個(gè)父類(lèi) 。 繼承多個(gè)父類(lèi)的數(shù)據(jù)結(jié)構(gòu)和方法 。 基類(lèi) 子類(lèi) A 子類(lèi) B 圖 4 繼承性描述 現(xiàn)存類(lèi)定義 父類(lèi) (基類(lèi) ) 新類(lèi)定義 子類(lèi) (派生類(lèi) ) 繼 承 圖 3 繼承性 繼承 單繼承 c c o u n b a la n n a m n u m b e r+ w i th d r a w ( )+ cr ea ta te m e n t( )繼承 多繼承 Fl y i n g T h i n g A n im a lH o r s eW o i r dH e li c o p t e rA i r p la n 裝 (封裝是一種信息隱蔽技術(shù) , 就是把對(duì)象的屬性和行為相結(jié)合構(gòu)成一個(gè)獨(dú)立的基本單位 , 用戶(hù)只能見(jiàn)到對(duì)象封裝界面上的信息 ,對(duì)象內(nèi)部對(duì)用戶(hù)是隱蔽的 。 封裝的目的在于將對(duì)象的使用者和對(duì)象的設(shè)計(jì)者分開(kāi) , 使用者不必知道行為實(shí)現(xiàn)的細(xì)節(jié) , 只需使用設(shè)計(jì)者提供的消息訪(fǎng)問(wèn)對(duì)象 面向?qū)ο蟮幕靖拍?封裝是把過(guò)程和數(shù)據(jù)包圍起來(lái),對(duì)數(shù)據(jù)的訪(fǎng)問(wèn)只能通過(guò)已定義的界面。 面向?qū)ο蟮幕靖拍?公有消息 私有消息 存儲(chǔ)結(jié)構(gòu) 方法 協(xié).議 一個(gè)對(duì)象 面向?qū)ο蟮幕靖拍?封裝的定義為: (1)一個(gè)限定所有對(duì)象內(nèi)部軟件的一個(gè)清楚界面; (2)一個(gè)描述這個(gè)對(duì)象和其它對(duì)象之間相互作用的接口 (3)受保護(hù)的內(nèi)部實(shí)現(xiàn),這個(gè)實(shí)現(xiàn)給出了由軟件對(duì)象提供的功能細(xì)節(jié),實(shí)現(xiàn)細(xì)節(jié)不能在定義這個(gè)對(duì)象的類(lèi)的外面訪(fǎng)問(wèn) 封裝 承 矛盾嗎? 封裝性主要指的是對(duì)象的封裝性,引入繼承機(jī)制后,對(duì)象仍然是封裝地很好的實(shí)體,其它對(duì)象與它通信只能發(fā)送消息。 相似性:共享代碼! 繼承:靜態(tài)共享代碼 封裝:動(dòng)態(tài)共享代碼 面向?qū)ο蟮幕靖拍?多態(tài) (即一個(gè) 名字具有多種語(yǔ)義 。 同一對(duì)象接收到不同消息采用不同的行為方式 不同對(duì)象收到相同消息時(shí)產(chǎn)生不同的動(dòng)作 重載( 動(dòng)態(tài)綁定 類(lèi)屬 多態(tài)性和動(dòng)態(tài)綁定 多態(tài)性 (指相同的操作或函數(shù) 、過(guò)程作用于不同的對(duì)象上并獲得不同的結(jié)果 。 即相同的操作的消息發(fā)送給不同的對(duì)象時(shí) , 每個(gè)對(duì)象將根據(jù)自己所屬類(lèi)中定義的操作去執(zhí)行 , 產(chǎn)生不同的結(jié)果 。 例如: “ 繪圖 ” 操作 , 作用在 “ 橢圓 ” 和 “ 矩形 ” 上 , 畫(huà)出不同的圖形 。 動(dòng)態(tài)綁定 (在運(yùn)行時(shí)根據(jù)對(duì)象接收的消息動(dòng)態(tài)地確定要連接的服務(wù)代碼 。 使用虛函數(shù)可實(shí)現(xiàn)動(dòng)態(tài)聯(lián)編 , 不同聯(lián)編可以選擇不同的實(shí)現(xiàn) , 這便是多態(tài)性 。 繼承是動(dòng)態(tài)聯(lián)編的基礎(chǔ) , 虛函數(shù)是動(dòng)態(tài)聯(lián)編的關(guān)鍵 。 多態(tài)性的實(shí)現(xiàn)舉例 實(shí)現(xiàn)多態(tài)性的基本步驟 (以 C+為例 ): (1)在基類(lèi)中 , 定義成員函數(shù)為虛函數(shù) ( (2)定義基類(lèi)的公有 ( 派生類(lèi); (3)在基類(lèi)的公有派生類(lèi)中 “ 重載 ” 該虛函數(shù); (4)定義指向基類(lèi)的指針變量 , 它指向基類(lèi)的公有派生類(lèi)的對(duì)象 。 注意: 重載虛函數(shù)不是一般的重載函數(shù) , 它要求函數(shù)名 、 返回類(lèi)型 、 參數(shù)個(gè)數(shù) 、 參數(shù)類(lèi)型和順序完全相同 。 多態(tài) 類(lèi)與對(duì)象 C+語(yǔ)言程序設(shè)計(jì) C+語(yǔ)言程序設(shè)計(jì) 本章主要內(nèi)容 面向?qū)ο蟮乃枷?類(lèi)概念和聲明 對(duì)象 構(gòu)造函數(shù) 析構(gòu)函數(shù) 內(nèi)聯(lián)成員函數(shù) 拷貝構(gòu)造函數(shù) 類(lèi)的組合 C+語(yǔ)言程序設(shè)計(jì) 回顧:面向過(guò)程的設(shè)計(jì)方法 重點(diǎn) : 如何實(shí)現(xiàn)細(xì)節(jié)過(guò)程,將數(shù)據(jù)與函數(shù)分開(kāi)。 形式: 主模塊 +若干個(gè)子模塊( +子函數(shù))。 特點(diǎn): 自頂向下,逐步求精 功能分解。 缺點(diǎn): 效率低,程序的可重用性差。 面向?qū)ο蟮乃枷?C+語(yǔ)言程序設(shè)計(jì) 面向?qū)ο蟮姆椒?目的: 實(shí)現(xiàn)軟件設(shè)計(jì)的產(chǎn)業(yè)化。 觀(guān)點(diǎn) :解決問(wèn)題屬于自然界的。 自然界是由實(shí)體(對(duì)象)所組成。 程序設(shè)計(jì)方法: 使用面向?qū)ο蟮挠^(guān)點(diǎn)來(lái)描述模仿并處理現(xiàn)實(shí)問(wèn)題。 要求: 高度概括、分類(lèi)、和抽象。 面向?qū)ο蟮乃枷?C+語(yǔ)言程序設(shè)計(jì) ( 1)抽象 抽象是對(duì)具體對(duì)象(問(wèn)題)進(jìn)行概括,抽出這一類(lèi)對(duì)象的公共性質(zhì)并加以描述的過(guò)程。(如學(xué)生,教師 , 課程) 先注意問(wèn)題的本質(zhì)及描述,其次是實(shí)現(xiàn)過(guò)程或細(xì)節(jié)。 數(shù)據(jù)抽象:描述某類(lèi)對(duì)象的屬性或狀態(tài)(對(duì)象相互區(qū)別的物理量)。 行為抽象:描述某類(lèi)對(duì)象的共有的行為特征或具有的功能。 抽象的實(shí)現(xiàn):通過(guò)類(lèi)的聲明。 +語(yǔ)言程序設(shè)計(jì) 抽象實(shí)例 鐘表 數(shù)據(jù)抽象: 行為抽象: , +語(yǔ)言程序設(shè)計(jì) 抽象實(shí)例 鐘表類(lèi) ; ; +語(yǔ)言程序設(shè)計(jì) 抽象實(shí)例 人 數(shù)據(jù)抽象: 行為抽象: 生物屬性角度: , , 社會(huì)屬性角度: , , 注意:同一個(gè)問(wèn)題可能有不同的抽象結(jié)果:根據(jù)解決問(wèn)題的要求不同,產(chǎn)生的抽象成員可能不同 +語(yǔ)言程序設(shè)計(jì) (2) 封裝 將抽象出的數(shù)據(jù)成員、行為成員相結(jié)合,將它們視為一個(gè)整體,即類(lèi)。 目的是增強(qiáng)安全性和簡(jiǎn)化編程,使用者不必了解具體的實(shí)現(xiàn)細(xì)節(jié),而只需要通過(guò)外部接口,以特定的訪(fǎng)問(wèn)權(quán)限,來(lái)使用類(lèi)的成員。 實(shí)現(xiàn)封裝:類(lèi)聲明中的 +語(yǔ)言程序設(shè)計(jì) 封裝 實(shí)例: ; ; 邊界 特定的訪(fǎng)問(wèn)權(quán)限 部接口 C+語(yǔ)言程序設(shè)計(jì) ( 3)繼承與派生 為了重用引出了繼函的概念。 是 C+中支持層次分類(lèi)的一種機(jī)制,允許程序員在保持原有類(lèi)特性的基礎(chǔ)上,進(jìn)行更具體的說(shuō)明。 實(shí)現(xiàn):聲明派生類(lèi) 第 11章 昆蟲(chóng)的分類(lèi)樹(shù) +語(yǔ)言程序設(shè)計(jì) 多態(tài)性 多態(tài):同一名稱(chēng),不同的功能實(shí)現(xiàn)方式。 目的:達(dá)到行為標(biāo)識(shí)統(tǒng)一,減少程序中標(biāo)識(shí)符的個(gè)數(shù)。 實(shí)現(xiàn):重載函數(shù)和虛函數(shù) 第 12章 +語(yǔ)言程序設(shè)計(jì) c+中的類(lèi) 類(lèi)是具有相同屬性和行為的一組對(duì)象的集合,它為屬于該類(lèi)的全部對(duì)象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和行為兩個(gè)主要部分。 利用類(lèi)可以實(shí)現(xiàn)數(shù)據(jù)的封裝、隱藏、繼承與派生。 利用類(lèi)易于編寫(xiě)大型復(fù)雜程序,其模塊化程度比 類(lèi) 和 對(duì) 象 C+語(yǔ)言程序設(shè)計(jì) 類(lèi)與函數(shù) 函數(shù)是將邏輯上相關(guān)的 語(yǔ)句與數(shù)據(jù) 封裝,用于完成特定的功能。 而類(lèi)則是邏輯上相關(guān)的 函數(shù)與數(shù)據(jù) 的封裝,它是對(duì)所要處理的問(wèn)題的描述。 類(lèi) 和 對(duì) 象 C+語(yǔ)言程序設(shè)計(jì) 類(lèi)的聲明形式 類(lèi)是一種用戶(hù)自定義類(lèi)型,聲明形式: 名稱(chēng) 公有成員(外部接口) 私有成員 保護(hù)型成員 類(lèi) 和 對(duì) 象 C+語(yǔ)言程序設(shè)計(jì) 公有類(lèi)型成員 在關(guān)鍵字 們是類(lèi)與外部的接口,任何外部函數(shù)都可以訪(fǎng)問(wèn)公有類(lèi)型數(shù)據(jù)和函數(shù)。 類(lèi) 和 對(duì) 象 C+語(yǔ)言程序設(shè)計(jì) 私有類(lèi)型成員 在關(guān)鍵字 允許本類(lèi)中的函數(shù)訪(fǎng)問(wèn),而類(lèi)外部的任何函數(shù)都不能訪(fǎng)問(wèn)。 如果緊跟在類(lèi)名稱(chēng)的后面聲明私有成員,則關(guān)鍵字 類(lèi) 和 對(duì) 象 C+語(yǔ)言程序設(shè)計(jì) 保護(hù)類(lèi)型 與 差別表現(xiàn)在繼承與派生時(shí)對(duì)派生類(lèi)的影響不同, 第七章講 。 類(lèi) 和 對(duì) 象 C+語(yǔ)言程序設(shè)計(jì) 類(lèi)的成員 ; ; 類(lèi) 和 對(duì) 象 成員數(shù)據(jù) 成員函數(shù) : : ; ; C+語(yǔ)言程序設(shè)計(jì) x,y; a,b) x=a; y=b; xx, ; /. ,; ; 構(gòu)造函數(shù)和析構(gòu)函數(shù) xx, X= Y= /.41 C+語(yǔ)言程序設(shè)計(jì) # x,y; Q(a=0,b=0) I = 35; 20; /聲明類(lèi) 其數(shù)據(jù)和方法 r); /構(gòu)造函數(shù) ; /圓周長(zhǎng) ; /圓面積 ; 43 / 類(lèi)的實(shí)現(xiàn) / 構(gòu)造函數(shù)初始化數(shù)據(jù)成員 r) r / 計(jì)算圓的周長(zhǎng) * / 計(jì)算圓的面積 I * 44 ) / 提示用戶(hù)輸入半徑 / 聲明 象 3); 45 / 計(jì)算柵欄造價(jià)并輸出 * # r,i) r; t; t= t); ; a; # r,i) r; t; t= t); ; a( # r=0.0,i= r; t; t= t); ; a( b; c( # r,i) r; t; t= t); ; a( # r=0.0,i= r; # r=0.0,i= r; c) # r=0.0,i= r; c) # r=0.0,i= r; c) , ) X=Y=; p); ; ; f(); g(); ; =0; f() ; g() , ) X=yy; p); /拷貝構(gòu)造函數(shù) ; ; ) i; /聲明 i i; /取 i=10; / ai; ai; ai; 相當(dāng)于 (*; 指 針 C+語(yǔ)言程序設(shè)計(jì) 對(duì)象指針應(yīng)用舉例 (5,10); A; x; x=; =指 針 C+語(yǔ)言程序設(shè)計(jì) 指針變量作為函數(shù)實(shí)參 以地址方式傳遞數(shù)據(jù),可以用來(lái)返回函數(shù)處理結(jié)果。 例如: 指針與函數(shù) C+語(yǔ)言程序設(shè)計(jì) 例 * * C+語(yǔ)言程序設(shè)計(jì) 動(dòng)態(tài)申請(qǐng)內(nèi)存操作符 類(lèi)型名 T(初值列表) 功能: 在程序執(zhí)行期間,申請(qǐng)用于存放 依初值列表賦以初值。 結(jié)果值: 成功: 向新分配的內(nèi)存。失?。?0( 動(dòng)態(tài)存儲(chǔ)分配 C+語(yǔ)言程序設(shè)計(jì) 釋放內(nèi)存操作符 針 P 功能: 釋放指針 動(dòng)態(tài)存儲(chǔ)分配 C+語(yǔ)言程序設(shè)計(jì) i ; / is ; / i = 0; i > i ; / i=0; i X=Y=0; /類(lèi)的聲明同上例,略 ; ; /創(chuàng)建對(duì)象數(shù)組 ,10); /通過(guò)指針訪(fǎng)問(wèn)數(shù)組元素的成員 5,20); /通過(guò)指針訪(fǎng)問(wèn)數(shù)組元素的成員 / / (a) ; / (b) j = 0; j >b; b>0) c; . 具有塊作用域的變量也稱(chēng)為局部變量。 作用域與可見(jiàn)性 C+語(yǔ)言程序設(shè)計(jì) 類(lèi)作用域 可以將類(lèi)看成是一組有名成員的集合,除個(gè)別例外情況外,類(lèi)作用域作用于特定的成員名,類(lèi)及其對(duì)象有特殊的訪(fǎng)問(wèn)和作用域規(guī)則。 例:類(lèi) , 在 的函數(shù)成員中都可以訪(fǎng)問(wèn)到 M, ( 1)即 ( 2)這樣的 類(lèi)的封裝作用就在于限制數(shù)據(jù)的作用域。 作用域與可見(jiàn)性 C+語(yǔ)言程序設(shè)計(jì) 類(lèi)作用域 通過(guò)表達(dá)式 :這是程序中訪(fǎng)問(wèn)對(duì)象成員的最基本的方法。 X: 通過(guò)表達(dá)式 , 其中 作用域與可見(jiàn)性 C+語(yǔ)言程序設(shè)計(jì) 命名空間作用域 一個(gè)大型的程序通常由不同模塊構(gòu)成,不同的模塊甚至有可能是由不同人員開(kāi)發(fā)的。不同模塊中的類(lèi)和函數(shù)之間有可能發(fā)生重名,這樣就會(huì)引發(fā)錯(cuò)誤。如南京路(上海的、武漢的) 作用域與可見(jiàn)性 C+語(yǔ)言程序設(shè)計(jì) 命名空間的語(yǔ)法形式: 名空間名 命名空間內(nèi)的各種聲明(函數(shù)聲明、類(lèi)聲明、 ) 一個(gè)命名空間確定了一個(gè)命名空間作用域,凡是在該命名空間之內(nèi)聲明的、不屬于前面所述各個(gè)作用域的標(biāo)識(shí)符都屬于該命名空間作用域。在命名空間內(nèi)部可以直接引用當(dāng)命名空間中聲明的標(biāo)識(shí)符,如果需要引用其他命名空間的標(biāo)識(shí)符,需要使用下面的語(yǔ)法: 命名空間名 :標(biāo)識(shí)符名 作用域與可見(jiàn)性 C+語(yǔ)言程序設(shè)計(jì) 例: ); ; /聲明一個(gè)作用域與可見(jiàn)性 命名空間作用域 C+語(yǔ)言程序設(shè)計(jì) 有時(shí),在標(biāo)識(shí)符前總使用這樣的命名空間限定會(huì)顯得過(guò)于冗長(zhǎng),為了解決這一問(wèn)題, C+又提供了 名空間名 :標(biāo)識(shí)符名; 名空間名; C+標(biāo)準(zhǔn)程序庫(kù)的所有標(biāo)識(shí)符都被聲明在 此都使用了 如果去掉這條語(yǔ)句,則引用相應(yīng)的標(biāo)識(shí)符需要使用 作用域與可見(jiàn)性 命名空間作用域 C+語(yǔ)言程序設(shè)計(jì) 命名空間也允許嵌套,如: ; 引用其中的 要使用 作用域與可見(jiàn)性 命名空間作用域 C+語(yǔ)言程序設(shè)計(jì) 兩類(lèi)特殊的命名空間 全局命名空間 匿名命名空間 全局命名空間是默認(rèn)的命名空間,在顯式聲明的命名空間之外聲明的標(biāo)識(shí)符都在一個(gè)全局命名空間中(文件作用域)。 匿名命名空間是一個(gè)需要顯式聲明的沒(méi)有名字的命名空間,聲明方式如下: 匿名命名空間內(nèi)的各種聲明(函數(shù)聲明、類(lèi)聲明、 ) 作用域與可見(jiàn)性 C+語(yǔ)言程序設(shè)計(jì) 在包含多個(gè)源文件的工程中,匿名命名空間常常被用來(lái)屏蔽不希望暴露給其他源文件的標(biāo)識(shí)符,這是因?yàn)槊總€(gè)源文件的匿名命名空間是彼此不同的,在一個(gè)源文件中沒(méi)有辦法訪(fǎng)問(wèn)其他源文件的匿名命名空間。例: 作用域與可見(jiàn)性 命名空間作用域 C+語(yǔ)言程序設(shè)計(jì) # i; /在全局命名空間的全局變量 (又稱(chēng)文件作用域 ) s j; /在 i=5; /為全局變量 j=6; /為全局變量 s; /使得當(dāng)前塊中可以直接引用 名空間的標(biāo)識(shí)符 i; /局部變量 i=7; i; /文件作用域 j=3; i=5; i; /塊作用域 i=7; i=5; /文件作用域 k=3; ; ; ; a=1; i=5; a+; i+; ;/構(gòu)造函數(shù) /三個(gè)形參均具有函數(shù)原型作用域 ; /析構(gòu)函數(shù) ; 對(duì)象的生存期 /時(shí)鐘類(lèi)成員函數(shù)實(shí)現(xiàn) /構(gòu)造函數(shù) ; ; ; f() ; g() r); d( d); ; r) /常引用做形參,在函數(shù)中不能更新 R(R1=2= ; 1, ; : A(i); ; r; a; b; /靜態(tài)常數(shù)據(jù)成員 ; :b=10; A:A(i):a(i),r(a) : 按標(biāo)準(zhǔn)方式搜索,文件位于 C+系統(tǒng)目錄的 #件名 " 首先在當(dāng)前目錄中搜索,若沒(méi)有,再按標(biāo)準(zhǔn)方式搜索。 #定義指令 定義符號(hào)常量,很多情況下已被 定義帶參數(shù)宏,已被內(nèi)聯(lián)函數(shù)取代。 # 刪除由 #之不再起作用。 C+語(yǔ)言程序設(shè)計(jì) 條件編譯指令 # # #常量表達(dá)式 /當(dāng)“ 常量表達(dá)式”非零時(shí)編譯 程序正文 # . 編譯預(yù)處理命令 C+語(yǔ)言程序設(shè)計(jì) 條件編譯指令 # # 常量表達(dá)式 /當(dāng)“ 常量表達(dá)式”非零時(shí)編譯 程序正文 1 # /當(dāng)“ 常量表達(dá)式”為零時(shí)編譯 程序正文 2 #譯預(yù)處理命令 C+語(yǔ)言程序設(shè)計(jì) 條件編譯指令 # # 常量表達(dá)式 1 程序正文 1 /當(dāng)“ 常量表達(dá)式 1”非零時(shí)編譯 #常量表達(dá)式 2 程序正文 2 /當(dāng)“ 常量表達(dá)式 2”非零時(shí)編譯 # 程序正文 3 /其它情況下編譯 #譯預(yù)處理命令 C+語(yǔ)言程序設(shè)計(jì) 條件編譯指令 # 標(biāo)識(shí)符 程序段 1 # 程序段 2 #如果“標(biāo)識(shí)符”經(jīng) #未經(jīng) 編譯程序段 1,否則編譯程序段 2。 編譯預(yù)處理命令 C+語(yǔ)言程序設(shè)計(jì) 條件編譯指令 # 標(biāo)識(shí)符 程序段 1 # 程序段 2 #如果“標(biāo)識(shí)符”未被定義過(guò),則編譯程序段 1,否則編譯程序段 2。 編譯預(yù)處理命令 C+語(yǔ)言程序設(shè)計(jì) 多文件結(jié)構(gòu) 一個(gè)源程序可以劃分為多個(gè)源文件: 類(lèi)聲明文件( 類(lèi)實(shí)現(xiàn)文件( 類(lèi)的使用文件( 所在的 利用工程來(lái)組合各個(gè)文件。 C+語(yǔ)言程序設(shè)計(jì) 不使用條件編譯的頭文件 / # # / # / # / 多文件結(jié)構(gòu) C+語(yǔ)言程序設(shè)計(jì) 使用條件編譯的頭文件 / # #

注意事項(xiàng)

本文(c++面向?qū)ο蟪绦蛟O(shè)計(jì))為本站會(huì)員(美景)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




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

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

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


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