人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

C++箴言:視類設計為分類設計

C++箴言:視類設計為分類設計

更新時間:2022-09-11 文章作者:未知 信息來源:網絡 閱讀次數:

在 C++ 中,就像其它面向對象編程語言,可以通過定義一個新的類來定義一個新的類型。作為一個 C++ 開發者,你的大量時間就這樣花費在增大你的類型系統。這意味著你不僅僅是一個類的設計者,而且是一個類型的設計者。重載函數和運算符,控制內存分配和回收,定義對象的初始化和終結過程——這些全在你的掌控之中。因此你應該在類設計中傾注大量心血,接近語言設計者在語言內建類型的設計中所傾注的大量心血。

  設計良好的類是有挑戰性的,因為設計良好的類型是有挑戰性的。良好的類型擁有簡單自然的語法,符合直覺的語義,以及一個或更多高效的實現。在 C++ 中,一個缺乏計劃的類設計,使其不可能達到上述任何一個目標。甚至一個類的成員函數的執行特性可能受到它們是被如何聲明的影響。

  那么,如何才能設計高效的類呢?首先,你必須理解你所面對的問題。實際上每一個類都需要你面對下面這些問題,其答案通常就導向你的設計的限制因素:

  你的新類型的對象應該如何創建和銷毀?如何做這些將影響到你的類的構造函數和析構函數,以及內存分配和回收的函數(operator new,operator new[],operator delete,和 operator delete[])的設計,除非你不寫它們。   

  對象的初始化和對象的賦值應該有什么不同?這個問題的答案決定了你的構造函數和你的賦值運算符的行為和它們之間的不同。這對于不混淆初始化和賦值是很重要的,因為它們相當于不同的函數調用。   

  以值傳遞(passed by value)對于你的新類型的對象意味著什么?記住,拷貝構造函數定義了一個新類型的傳值(pass-by-value)如何實現。   

  你的新類型的合法值的限定條件是什么?通常,對于一個類的數據成員來說,僅有某些值的組合是合法的。那些組合決定了你的類必須維持的不變量。這些不變量決定了你必須在成員函數內部進行錯誤檢查,特別是你的構造函數,賦值運算符,以及 "setter" 函數。它可能也會影響你的函數拋出的異常,以及你的函數的異常規范(exception specification)(你用到它的可能性很小)。 

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 兰坪| 卓资县| 芒康县| 乃东县| 广州市| 瑞昌市| 桐梓县| 南投县| 陵川县| 新营市| 广宁县| 龙川县| 德安县| 六枝特区| 鹤峰县| 准格尔旗| 平罗县| 南雄市| 石阡县| 白山市| 九龙县| 新民市| 夹江县| 德惠市| 英德市| 阿勒泰市| 确山县| 渝中区| 轮台县| 聊城市| 陆良县| 衡水市| 嫩江县| 枝江市| 珲春市| 佳木斯市| 景谷| 贡觉县| 宝应县| 涞水县| 仲巴县|