類的版式
類可以將資料和函式封裝在一起,其中函式表示了類的行為(或稱服務)。類提供
關鍵字public、protected 和private,分別用於宣告哪些資料和函式是公有的、受保護
的或者是私有的。這樣可以達到資訊隱藏的目的,即讓類僅僅公開必須要讓外界知道的
內容,而隱藏其它一切內容。我們不可以濫用類的封裝功能,不要把它當成火鍋,什麼
東西都往裡扔。
類的版式主要有兩種方式:
(1)將private 型別的資料寫在前面,而將public 型別的函式寫在後面,如示例8-3(a)。
採用這種版式的程式設計師主張類的設計「以資料為中心」,重點關注類的內部結構。
(2)將public 型別的函式寫在前面,而將private 型別的資料寫在後面,如示例8.3(b)
採用這種版式的程式設計師主張類的設計「以行為為中心」,重點關注的是類應該提供什麼
樣的介面(或服務)。
很多 c++教課書受到biarne stroustrup 第一本著作的影響,不知不覺地採用了「以
資料為中心」的書寫方式,並不見得有多少道理。
我建議讀者採用「以行為為中心」的書寫方式,即首先考慮類應該提供什麼樣的函
數。這是很多人的經驗——「這樣做不僅讓自己在設計類時思路清晰,而且方便別人閱
讀。因為使用者最關心的是介面,誰願意先看到一堆私有資料成員!」
C 編碼注意規範
1.初始化 1 定義指標或重用時是否進行正確初始化 2 使用結構體之前是否進行初始化 2.有效性 1 空指標檢查 2 迭代器檢查,是否判定非end 3 資料越界檢查,索引是否在合法範圍內 4 記憶體越界檢查,是否有越界操作可能性 5 協議收到引數是否做了有效性檢查,防外掛程式 4.刪除 1 避免在遍...
c 類注意點
類的呼叫 1 若a類想在類體內例項化物件b,則b類需在a類定義之前有完整的定義。classa classb 把b類放在a類之前定義即可 classb class a 2 b類的成員函式是在類體外定義,而a類想要呼叫。b類需在a類前作前向宣告,而且a類不能例項化b類物件,只能宣告b類指標或引用 cla...
面試編碼注意
面試,是這樣的嗎?試想是我,能通過嗎?工作時間短 才1年左右 專案經驗少 3個小專案 就瞎吹自己多麼厲害。實際讓他們寫個小程式 asp.net實現一簡單的名片管理 結果一塌糊塗。這個名片管理要求非常簡單,許可權 應該有比較好的認識,功能僅僅是列表和編輯。如果無法在4個小時內完成,我覺得他是不及格的。...