




已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章繼承和派生 4 1繼承和派生的概念 面向?qū)ο蟪绦蛟O(shè)計(jì)有4個(gè)主要特點(diǎn) 抽象 封裝 繼承和多態(tài)性 在本章中主要介紹有關(guān)繼承的知識(shí) 在下一章中將介紹多態(tài)性 C 語(yǔ)言提供了類的繼承機(jī)制 解決了軟件重用問題 4 1 1繼承與派生的概念 一個(gè)類中包含了若干數(shù)據(jù)成員和成員函數(shù) 在不同的類中 數(shù)據(jù)成員和成員函數(shù)是不相同的 但有時(shí)兩個(gè)類的內(nèi)容基本相同或有一部分相同 類的繼承 一個(gè)新類從已存在的類那里獲得該類已有的特性叫作類的繼承 已存在的類叫作父類 也叫作基類 產(chǎn)生的新類叫作子類或派生類 類的派生 從一個(gè)已有的類那里產(chǎn)生一個(gè)新類的過(guò)程叫類的派生 已存在的類叫作父類 也叫作基類 產(chǎn)生的新類叫作派生類或子類 類的繼承和派生是同一概念 前者是從子類的角度來(lái)說(shuō) 后者是從父類的角度來(lái)說(shuō)的 我們通常說(shuō)子類繼承了父類 父類派生了子類 描述各級(jí)學(xué)生的類的繼承關(guān)系如下圖 基類與派生類的關(guān)系 派生類是基類的具體化 基類則是派生類的抽象一個(gè)派生類的對(duì)象也是一個(gè)基類的對(duì)象 應(yīng)該具有基類的一切屬性和方法 派生類除了具有基類的一切屬性和方法外 還可以有自己所特有的屬性和方法 4 1 2派生類和基類的關(guān)系 4 1 3單繼承與多繼承 單繼承 一個(gè)派生類只從一個(gè)基類繼承 多重繼承 一個(gè)派生類從兩個(gè)或多個(gè)基類繼承 4 2派生類的聲明方式 聲明派生類的一般形式為class派生類名 繼承方式 基類名 派生類新增加的成員 繼承方式包括 public 公有的 private 私有的 和protected 受保護(hù)的 此項(xiàng)是可選的 如果不寫此項(xiàng) 則默認(rèn)為private 私有的 如下程序演示了類Rectangle 四邊形 由類Point繼承而來(lái) voidSetPoint intx inty this x x this y y voidMovePoint intdx intdy x dx y dy voidShowPoint cout x y Point h include includeusingnamespacestd classPoint private intx y public intGetX returnx intGetY returny voidSetRect intx inty intw inth SetPoint x y width w height h voidShowRect cout 左上角坐標(biāo)為 ShowPoint cout endl cout 寬為 width endl cout 長(zhǎng)為 height endl Rectangle h include include Point h usingnamespacestd classRectangle publicPoint private intwidth intheight public intGetWidth returnwidth intGetHight returnheight main cpp include Rectangle h voidmain Rectangler r SetRect 0 0 10 20 r ShowRect r MovePoint 10 10 r ShowRect 4 3派生類的構(gòu)成 派生類中的成員包括從基類繼承過(guò)來(lái)的成員和自己增加的成員兩大部分 在基類中包括數(shù)據(jù)成員和成員函數(shù) 或稱數(shù)據(jù)與方法 兩部分 派生類分為兩大部分 一部分是從基類繼承來(lái)的成員 另一部分是在聲明派生類時(shí)增加的部分 每一部分均分別包括數(shù)據(jù)成員和成員函數(shù) 如果在派生類中定義了和基類中同名函數(shù) 函數(shù)參數(shù)個(gè)數(shù)和類型可以相同也可以不相同 則派生類中的函數(shù)會(huì)隱藏基類的同名函數(shù) 在派生類中不能直接訪問基類中的同名函數(shù) 注意與重載的區(qū)別 在同一個(gè)類中的同名不同參函數(shù)為重載函數(shù) 如程序PointRect1所示 4 4繼承方式 派生類的繼承方式有三種 public private protected 不同的繼承方式?jīng)Q定了基類成員在派生類中的訪問屬性 4 4 1類的保護(hù)成員 前面介紹過(guò)類的成員 數(shù)據(jù)成員和成員函數(shù) 的訪問屬性有私有的 private 的和公有的 public的 另外還提到類的訪問屬性也可以有保護(hù)的 protected的 類中的protected成員與private成員一樣 只能在本類的成員函數(shù)中訪問 不能在類外通過(guò)對(duì)象來(lái)訪問 但通過(guò)上面的表中可以看出當(dāng)類派生時(shí) 基類的private成員在派生類中是不可訪問的 而基類的protected成員在派生類中隨繼承方式的不同而不同 classDrived publicBase protected intj public voidFun i 20 includeusingnamespacestd classBase protected inti public voidF voidmain Drivedd 4 5派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù) 構(gòu)造函數(shù)的主要作用是對(duì)數(shù)據(jù)成員初始化 在設(shè)計(jì)派生類的構(gòu)造函數(shù)時(shí) 不僅要考慮派生類所增加的數(shù)據(jù)成員的初始化 還應(yīng)當(dāng)考慮基類的數(shù)據(jù)成員初始化 也就是說(shuō) 希望在執(zhí)行派生類的構(gòu)造函數(shù)時(shí) 使派生類的數(shù)據(jù)成員和基類的數(shù)據(jù)成員同時(shí)都被初始化 解決這個(gè)問題的思路是 在執(zhí)行派生類的構(gòu)造函數(shù)時(shí) 調(diào)用基類的構(gòu)造函數(shù) 注意 派生類繼承基類的除構(gòu)造函數(shù)和析構(gòu)函數(shù)以外的所有函數(shù) 4 4 1簡(jiǎn)單的派生類的構(gòu)造函數(shù) 簡(jiǎn)單的派生類 只有一個(gè)基類 而且只有一級(jí)派生 只有直接派生類 沒有間接派生類 在派生類的數(shù)據(jù)成員中不包含基類的對(duì)象 即子對(duì)象 簡(jiǎn)單派生類中我們一般采用在派生類的構(gòu)造函數(shù)初始化列表中調(diào)用基類的構(gòu)造函數(shù)來(lái)對(duì)繼承基類的數(shù)據(jù)成員進(jìn)行初始化 其一般形式為 派生類構(gòu)造函數(shù)名 總參數(shù)表列 基類構(gòu)造函數(shù)名 參數(shù)表列 派生類中新增數(shù)據(jù)成員初始化語(yǔ)句 簡(jiǎn)單派生類的構(gòu)造函數(shù)的形式 include includeusingnamespacestd classStudent public Student intn stringnam chars num n name nam sex s Student protected intnum stringname charsex classStudent1 publicStudent public Student1 intn stringnam chars inta stringad Student n nam s age a addr ad voidshow cout num num endl cout name name endl cout sex sex endl cout age age endl cout address addr endl endl Student1 private intage stringaddr 在main函數(shù)中 建立對(duì)象stud1時(shí)指定了5個(gè)實(shí)參 它們按順序傳遞給派生類構(gòu)造函數(shù)Student1的形參 然后 派生類構(gòu)造函數(shù)將前面3個(gè)傳遞給基類構(gòu)造函數(shù)的形參 簡(jiǎn)單派生類的構(gòu)造函數(shù)的幾點(diǎn)說(shuō)明 a 定義派生類的對(duì)象時(shí)系統(tǒng)自動(dòng)調(diào)用派生類構(gòu)造函數(shù)之前會(huì)先調(diào)用其基類的構(gòu)造函數(shù) 基類的構(gòu)造函數(shù)是在派生類的構(gòu)造函數(shù)的初始化列表中給出 如果在初始化列表中沒顯式給出調(diào)用語(yǔ)句則調(diào)用基類的默認(rèn)構(gòu)造函數(shù) 例如前例中派生類的構(gòu)造函數(shù)為 Student1 intn stringnam chars inta stringad Student n nam s 如果在main函數(shù)中定義一個(gè)Student1類的對(duì)象時(shí) 系統(tǒng)會(huì)先調(diào)用基類的構(gòu)造函數(shù) 然后執(zhí)行Student1的構(gòu)造函數(shù)體內(nèi)的代碼完成對(duì)派生類成員的構(gòu)造 如果Student1類的構(gòu)造函數(shù)改為Student1 intn stringnam char 則會(huì)先調(diào)用基類的默認(rèn)構(gòu)造函數(shù) 當(dāng)派生類構(gòu)造函數(shù)在類外定義時(shí) 則只在類外的函數(shù)定義處加上調(diào)用基類的初始化列表 在類內(nèi)申明的地方不加 由前面例題中的構(gòu)造函數(shù)Student1 intn stringnam chars inta stringad Student n nam s 可以看出派生類的構(gòu)造函數(shù)的初始化列表中是在調(diào)用基類的構(gòu)造函數(shù)而不是在申明或定義基類的構(gòu)造函數(shù) 所以Student1中的五個(gè)參數(shù)是形參 帶參數(shù)類型 而其初始化列表中的Student的三個(gè)參數(shù)是實(shí)參 不帶有類型 這些實(shí)參取自Student1 所以Studen中的三個(gè)參數(shù)也可以為常數(shù) 例如可將Student1的構(gòu)造函數(shù)改為 Student1 stringnam chars inta stringad Student 10010 nam s 在派生類對(duì)象釋放時(shí)先執(zhí)行派生類的析構(gòu)函數(shù) 然后執(zhí)行基類的析構(gòu)函數(shù) 例題 定義一個(gè)點(diǎn)類Point 由Point派生出一個(gè)圓類Circle Point h文件 ifndefPOINT H definePOINT HclassPoint protected floatx floaty public Point x 0 y 0 Point floatx floaty voidShow endif Point cpp文件 include include Point h usingnamespacestd Point Point floatx floaty this x x this y y voidPoint Show cout x y endl Circle h文件 ifndefCIRCLE H defineCIRCLE H include include Point h usingnamespacestd classCircle publicPoint protected floatr public Circle floatx floaty floatr voidShow floatGetArea floatGetLength endif Circle cpp文件 include include CirCle h usingnamespacestd Circle Circle floatx floaty floatr Point x y this r r voidCircle Show cout 圓心為 Point x y Show cout 半徑為 r endl floatCircle GetArea return3 14159 r r floatCircle GetLength return3 14159 2 r 4 5 2有子對(duì)象的派生類的構(gòu)造函數(shù) 類的數(shù)據(jù)成員中還可以包含類對(duì)象 例如前面的Student1類繼承自Student類 我們可以在Student1類中加入一個(gè)Student類的對(duì)象來(lái)表示該同學(xué)所在班的班長(zhǎng) 如下程序所示 include includeusingnamespacestd classStudent public Student intn stringnam num n name nam voiddisplay cout num num endl name name endl protected intnum stringname classStudent1 publicStudent public Student1 intn stringnam intn1 stringnam1 inta stringad Student n nam monitor n1 nam1 age a addr ad voidshow cout 學(xué)生信息為 endl display cout age age endl cout address addr endl cout 班長(zhǎng)為 endl monitor display private Studentmonitor intage stringaddr intmain Student1stud1 10010 Wang li 10001 Li sun 19 115BeijingRoad Shanghai stud1 show return0 派生類構(gòu)造函數(shù)的任務(wù)應(yīng)該包括3個(gè)部分 1 對(duì)基類數(shù)據(jù)成員初始化 2 對(duì)子對(duì)象數(shù)據(jù)成員初始化 3 對(duì)派生類數(shù)據(jù)成員初始化 其中前兩個(gè)必須放在派生類的構(gòu)造函數(shù)的初始化列表中進(jìn)行 第 3 個(gè)可以在函數(shù)體中也可以在初始化列表中進(jìn)行 定義派生類構(gòu)造函數(shù)的一般形式為派生類構(gòu)造函數(shù)名 總參數(shù)表列 基類構(gòu)造函數(shù)名 參數(shù)表列 子對(duì)象名 參數(shù)表列 派生類中新增數(shù)成員據(jù)成員初始化語(yǔ)句 執(zhí)行派生類構(gòu)造函數(shù)的順序是 調(diào)用基類構(gòu)造函數(shù) 對(duì)基類數(shù)據(jù)成員初始化 調(diào)用子對(duì)象構(gòu)造函數(shù) 對(duì)子對(duì)象數(shù)據(jù)成員初始化 再執(zhí)行派生類構(gòu)造函數(shù)本身 對(duì)派生類數(shù)據(jù)成員初始化 以上次序是固定的 不會(huì)因?yàn)榛悩?gòu)造函數(shù)調(diào)用寫在前面還是子對(duì)象名寫在前面而改變 例題 定義一個(gè)點(diǎn)類Point 由Point派生出一個(gè)圓類Circle Point h文件 ifndefPOINT H definePOINT HclassPoint protected floatx floaty public Point x 0 y 0 Point floatx floaty voidShow endif Point cpp文件 include include Point h usingnamespacestd Point Point floatx floaty this x x this y y voidPoint Show cout x y endl 4 5 3多層派生時(shí)的構(gòu)造函數(shù) Circle h文件 ifndefCIRCLE H defineCIRCLE H include include Point h usingnamespacestd classCircle publicPoint protected floatr public Circle floatx floaty floatr voidShow floatGetArea floatGetLength endif Circle cpp文件 include include CirCle h usingnamespacestd Circle Circle floatx floaty floatr Point x y this r r voidCircle Show cout 圓心為 Point x y Show cout 半徑為 r endl floatCircle GetArea return3 14159 r r floatCircle GetLength return3 14159 2 r column h ifndefCOLUMN H defineCOLUNM H include Circle h classColumn publicCircle private floath public Column floatx floaty floatr floath Circle x y r this h h voidShow floatGetArea floatGetVolume endif Column cpp include Column h includeusingnamespacestd voidColumn Show Circle Show cout 高為 h endl floatColumn GetArea return2 Circle GetArea GetLength h floatColumn GetVolume returnCircle GetArea h 在多層派生的情況下 派生類的構(gòu)造函數(shù)初始化列表中只須寫出其上一層派生類的構(gòu)造函數(shù) 不要再寫上其間接子類的構(gòu)造函數(shù) 4 5 4派生類的析構(gòu)函數(shù) 在派生時(shí) 派生類是不能繼承基類的析構(gòu)函數(shù)的 也需要通過(guò)派生類的析構(gòu)函數(shù)去調(diào)用基類的析構(gòu)函數(shù) 在派生類中可以根據(jù)需要定義自己的析構(gòu)函數(shù) 用來(lái)對(duì)派生類中所增加的成員進(jìn)行清理工作 基類的清理工作仍然由基類的析構(gòu)函數(shù)負(fù)責(zé) 在執(zhí)行派生類的析構(gòu)函數(shù)時(shí) 系統(tǒng)會(huì)自動(dòng)調(diào)用基類的析構(gòu)函數(shù)和子對(duì)象的析構(gòu)函數(shù) 對(duì)基類和子對(duì)象進(jìn)行清理 調(diào)用的順序與構(gòu)造函數(shù)正好相反 先執(zhí)行派生類自己的析構(gòu)函數(shù) 對(duì)派生類新增加的成員進(jìn)行清理 然后調(diào)用子對(duì)象的析構(gòu)函數(shù) 對(duì)子對(duì)象進(jìn)行清理 最后調(diào)用基類的析構(gòu)函數(shù) 對(duì)基類進(jìn)行清理 4 6多重繼承 前面討論的是單繼承 即一個(gè)類是從一個(gè)基類派生而來(lái)的 實(shí)際上 常常有這樣的情況 一個(gè)派生類有兩個(gè)或多個(gè)基類 派生類從兩個(gè)或多個(gè)基類中繼承所需的屬性 C 為了適應(yīng)這種情況 允許一個(gè)派生類同時(shí)繼承多個(gè)基類 這種行為稱為多重繼承 multipleinheritance 4 6 1聲明多重繼承的方式 聲多重繼承子類的方法和單繼承相似 只是在標(biāo)明子類的位置將繼承的父類都寫上 且以豆號(hào)隔開 例如類 多重繼承了類A B C則申明類 的方法如下 classD publicA protectedB privateC 類 新增加的成員 多重繼承的子類具有多個(gè)父類 子類中具有所有父類的所有成員 且對(duì)多個(gè)父類可以有不同的繼承方式 不同的繼承方式?jīng)Q定了繼承而來(lái)的父類的成員在子類中的訪問屬性的不同 4 6 2多重繼承的派生類的構(gòu)造函數(shù) 多重繼承派生類的構(gòu)造函數(shù)形式與單繼承時(shí)的構(gòu)造函數(shù)形式基本相同 只是在初始列表中包含多個(gè)基類構(gòu)造函數(shù) 形式如下 派生類構(gòu)造函數(shù)名 總參數(shù)表列 基類1構(gòu)造函數(shù) 參數(shù)表列 基類2構(gòu)造函數(shù) 參數(shù)表列 基類3構(gòu)造函數(shù) 參數(shù)表列 派生類中新增數(shù)據(jù)成員成員初始化語(yǔ)句 派生類構(gòu)造函數(shù)的執(zhí)行順序同樣為 先調(diào)用基類的構(gòu)造函數(shù) 再執(zhí)行派生類構(gòu)造函數(shù)的函數(shù)體 調(diào)用基類構(gòu)造函數(shù)的順序是按照聲明派生類時(shí)基類出現(xiàn)的順序 與構(gòu)造函數(shù)初始化列表中基類的排列順序無(wú)關(guān) include includeusingnamespacestd classTeacher public Teacher stringnam inta stringt name nam age a title t voiddisplay cout name name endl cout age age endl cout title title endl protected stringname intage stringtitle classStudent public Student stringnam chars floatsco name1 nam sex s score sco voiddisplay1 cout name name1 endl cout sex sex endl cout score score endl protected stringname1 charsex floatscore classGraduate publicTeacher publicStudent public Graduate stringnam inta chars stringt floatsco floatw Teacher nam a t Student nam s sco wage w voidshow cout name name endl cout age age endl cout sex sex endl cout score score endl cout title title endl cout wages wage endl private floatwage intmain Graduategrad1 Wang li 24 m assistant 89 5 1234 5 grad1 show return0 在兩個(gè)基類中分別用name和name1來(lái)代表姓名 其實(shí)這是同一個(gè)人的名字 從Graduate類的構(gòu)造函數(shù)中可以看到總參數(shù)表中的參數(shù)nam分別傳遞給兩個(gè)基類的構(gòu)造函數(shù) 作為基類構(gòu)造函數(shù)的實(shí)參 解決這個(gè)問題有一個(gè)好方法 在兩個(gè)基類中可以都使用同一個(gè)數(shù)據(jù)成員名name 而在show函數(shù)中引用數(shù)據(jù)成員時(shí)指明其作用域 如cout name Teacher name endl 這就是惟一的 不致引起二義性 能通過(guò)編譯 正常運(yùn)行 通過(guò)這個(gè)程序還可以發(fā)現(xiàn)一個(gè)問題 在多重繼承時(shí) 從不同的基類中會(huì)繼承一些重復(fù)的數(shù)據(jù) 如果有多個(gè)基類 問題會(huì)更突出 在設(shè)計(jì)派生類時(shí)要細(xì)致考慮其數(shù)據(jù)成員 盡量減少數(shù)據(jù)冗余 4 6 3多重繼承引起的二義性問題 多重繼承可以反映現(xiàn)實(shí)生活中的情況 能夠有效地處理一些較復(fù)雜的問題 使編寫程序具有靈活性 但是多重繼承也引起了一些值得注意的問題 它增加了程序的復(fù)雜度 使程序的編寫和維護(hù)變得相對(duì)困難 容易出錯(cuò) 其中最常見的問題就是繼承的成員同名而產(chǎn)生的二義性 ambiguous 問題 a 多個(gè)基類中有同名成員 include includeusingnamespacestd classA protected inta public A inta this a a voiddisplay couta a voiddisplay cout B a a endl classC publicA publicB private intb public C intAa intBa intb A Aa B Ba this b b voidshow A display B display cout C b b endl voidmain Cc 1 2 3 c display 二義性 c show c B display 所以類 中數(shù)據(jù)成員全名應(yīng)該為下圖所示 b 多個(gè)基類和派生類中都有同名成員 classC publicA publicB private inta public C intAa intBa intCa A Aa B Ba a Ca voiddisplay A display B display cout C a a endl 將前面的 類改為如下的形式 這時(shí)類 的成員構(gòu)成如左圖所示 在類中有三個(gè)a 三個(gè)display 函數(shù) 思考 如下的main函數(shù)能否執(zhí)行 voidmain Cc 1 2 3 c display c A display c B display 這時(shí)c dispaly是可以執(zhí)行的 原因是類 中提供的display函數(shù)隱藏了基類 和基類 中的display函數(shù) 所以直接訪問display函數(shù)是在訪問類 中新增加的成員函數(shù)display C 如果類A和類B是從同一個(gè)基類派生的 前面提到派生類的對(duì)象也是基類的對(duì)象 因?yàn)榕缮愔欣^承了基類中的所有成員 除構(gòu)造函數(shù)和析構(gòu)函數(shù) 準(zhǔn)確的說(shuō)應(yīng)該是 公有派生類的對(duì)象是基類的對(duì)象 因?yàn)橹挥泄信缮愔谐蓡T的訪問屬性與基類完全相同 基類能實(shí)現(xiàn)的功能在公有派生類中一定能夠?qū)崿F(xiàn) 4 7基類與派生類的轉(zhuǎn)換 基本數(shù)據(jù)類型在一定條件下可以進(jìn)行類型轉(zhuǎn)化 那么基類對(duì)象與派生類對(duì)象之間是不是也可以進(jìn)行轉(zhuǎn)化 由于公有派生類對(duì)象也是基類的對(duì)象 所以派生類對(duì)象可以自動(dòng)轉(zhuǎn)化為基類對(duì)象 表現(xiàn)在以下幾方面 include includeusingnamespacestd classPerson public Person stringnam chars inta name nam sex s age a Person diplay cout 姓名 name endl cout 性別 sex endl cout 年齡 age endl protected stringname charsex intage classTeacher publicPerson public Teacher stringnam chars inta stringt Person nam s a title t Teacher diplay Person diplay cout 職稱 title protected stringtitle voidmain Teachert zhangSan m 25 assistant Personp t p diplay Personp zhangSan m 25 Teachert p t diplay 1 派生類的對(duì)象可以賦值給基類對(duì)象 voidmain Teachert zhangSan m 25 assistant Personp t p diplay 派生類的對(duì)象賦值給基類對(duì)象時(shí)舍棄了派生類自己增加的成員 只是將由基類繼承而來(lái)的數(shù)據(jù)成員的值賦給基類對(duì)象的相應(yīng)成員 基類的對(duì)象不能夠賦值給派生類 如下代碼錯(cuò)誤Personp zhangSan m 25 Teachert p errort diplay 2 派生類的地址可以賦值給基類的指針 voidmain Teachert zhangSan m 25 assistant Personp Li
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院朗讀者活動(dòng)方案
- 廈門市婦女節(jié)活動(dòng)方案
- 醫(yī)院小程序活動(dòng)方案
- 吸引會(huì)員活動(dòng)方案
- 鹵味抽獎(jiǎng)活動(dòng)方案
- 合肥承辦賽事活動(dòng)方案
- 賣酒活動(dòng)套餐活動(dòng)方案
- 縣直單位國(guó)慶活動(dòng)方案
- 雙十二餐飲活動(dòng)方案
- 名校師徒結(jié)對(duì)活動(dòng)方案
- 體外診斷試劑盒線性范圍研究線性區(qū)間評(píng)價(jià)資料及可報(bào)告區(qū)間建立
- AQ 1097-2014 井工煤礦安全設(shè)施設(shè)計(jì)編制導(dǎo)則(正式版)
- 甲乙方施工合同范本
- 嬰幼兒配方乳粉市場(chǎng)銷售管理規(guī)范
- 小班語(yǔ)言《誰(shuí)的救生圈》課件
- 海思芯片PC-測(cè)試技術(shù)規(guī)范
- 內(nèi)陸?zhàn)B殖與水生植物種植
- 集體協(xié)商培訓(xùn)課件
- Unit 3 What would you like A Let's learn(教學(xué)設(shè)計(jì))人教PEP版英語(yǔ)五年級(jí)上冊(cè)
- 物業(yè)社區(qū)團(tuán)購(gòu)方案
- 仙家送錢表文-文字打印版
評(píng)論
0/150
提交評(píng)論