華為_c 中級培訓膠片

華為_c 中級培訓膠片

ID:13291452

大小:32.50 KB

頁數:7頁

時間:2018-07-21

華為_c  中級培訓膠片_第1頁
華為_c  中級培訓膠片_第2頁
華為_c  中級培訓膠片_第3頁
華為_c  中級培訓膠片_第4頁
華為_c  中級培訓膠片_第5頁
資源描述:

《華為_c 中級培訓膠片》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫

1、第一章:類基本概念類的基本特性類的應用的特例基本概念namespaceClassnamesClassmembersMemberFunctionsStaticMemberFunctionsUnionsC++BitFieldsNestedClassDeclarationsTypeNamesinClassScopeMultipleBaseClassesVirtualFunctionsAbstractClassesControllingAccesstoClassMembersprivateMembersprotectedMemberspublicMembersAcces

2、sSpecifiersforBaseClasses,priavte,public、protectedFriendsConstructorsDestructorsConversionFunctionsthenewoperatorandthedeleteoperatorCopyingConstructorFunctionsInterface類的基本特性構造函數與拷貝構造函數靜態(tài)成員與友元組合與繼承構造函數與拷貝構造函數C++規(guī)定與類同名的函數就是拷貝構造函數默認拷貝構造函數在類定義中如果沒有提供自己的拷貝構造函數,則C++提供一個默認的構造函數,其拷貝策略是逐個成員

3、依次拷貝。深拷貝和淺拷貝默認拷貝構造函數均是淺拷貝但是一個類可能擁有其它資源,如其構造函數分配了一個堆內存,析構函數釋放了這個內存,則此時就需要進行深拷貝了深拷貝不能依賴編譯器實現靜態(tài)成員與友元靜態(tài)成員使用static申明,在內存中永遠只有一份實例是類的對象所共有的靜態(tài)成員變量可以被成員函數訪問,但靜態(tài)成員函數只能訪問靜態(tài)成員變量友元是為了一個普通函數直接訪問一個類的保護甚至是私有成員的機制組合與繼承C++最重要的性能之一是代碼重用簡單地創(chuàng)建一個包含已存在的類對象的新類,這稱為組合,has-a關系創(chuàng)建一個新類作為一個已存在類的類型,采取這個已存在類的形式,對它增

4、加代碼,但不修改它。稱為繼承,具有is-a關系,繼承具有單一繼承和多繼承類的應用的特例繼承中的向上映射與切片問題多繼承中發(fā)生的菱形缺陷this跳轉繼承中的向上映射與切片問題如果有classB:publicA;Bb;Aa=b;這就是切片現象而B*pb=newB;A*pa=pb;則不會發(fā)生切片,因為這只是指針的賦值而不涉及到切片現象多繼承中發(fā)生的菱形缺陷菱形缺陷導致的原因:發(fā)生了菱形繼承,如右圖兩個缺陷:子對象重疊向上映射的二義性解決辦法:修改多繼承關系為單一繼承關系或者是組合關系進行虛繼承this跳轉如右圖繼承關系對于一個已經實例化B類的對象bObject,永遠有

5、(B*)&bObject==(A*)&bObject成立但是在多繼承的世界內,上面的等式就不能恒成立,對象的同一性受到了挑戰(zhàn)。特別的是,在多繼承世界內如果左下的菱形關系存在情況下,如果對于已經實例化B類的對象bObject;(Base*)(A1*)&bObject!=(Base*)(A2*)&bObject成立,當這種事情發(fā)生的時候我們就只能特殊處理了。這種情況在COM應用中處處都會發(fā)生。第二章:接口基本知識基本特性接口應用的特例應用舉例基本概念ClassVirtualfunctionsPurevirtualfunctionsAbstractclassStruc

6、t&Interface基本特性虛函數純虛函數抽象類接口虛函數語法特性虛析構函數語法在普通成員函數前面加virtual關鍵字一個函數在基類申明一個virtual,那么在所有的派生類都是是virtual的一個函數在基類為普通函數,在派生類定義為virtual的函數稱為越位特性實施晚期綁定(即運行時刻綁定),實施多態(tài)的一種方法具有虛函數類的虛函數表的布局如下:純虛函數語法:成員函數前面加virtual關鍵在,在函數申明的”)”后標注“=0”關鍵字在申明純虛函數類中不能實現該函數抽象類具有純虛函數的類就是抽象類抽象類不能被實例化,所以抽象類只能以指針方式被應用抽象類可以

7、防止切片的發(fā)生抽象類不產生虛表。用戶接口接口的演化與接口的必要性接口應用特例接口應用示例接口的演化與接口的必要性Handle-Body模式抽象接口接口應用特例多重接口與方法名沖突問題(Siamesetwins)提出問題:假設汽車最大速度的接口為ICar,潛艇最大速度的接口為IBoat,有一個兩棲類的交通工具它可以奔跑在馬路上,也可以航行在大海中,那么它就同時擁有ICar、IBoat兩種交通工具的最大速度特性,我們定義它的接口為ICarBoat;解決問題采用中間類的解決辦法內嵌內的解決辦法(留給大家思考)采用中間

8、類的解決辦法接口應用示例

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯系客服處理。