3 11 封裝集合

2021-09-07 14:09:31 字數 1197 閱讀 6151

封裝集合

範例:

1 #include 2

#define max_student_count 2034

class

student512

13int getid() const

1417

void setid(int

nid)

1821 qstring getname() const

2225

void

setname(qstring name)

2629 qstring getdepartment() const

3033

void

setdepartment(qstring department)

3437

38bool

operator ==(const student& student) const

3944

45private:46

intm_nid;

47qstring m_name;

48qstring m_department;

49};

5051

class

school

5260}61

62//

獲取到的僅僅只是乙個副本

63const qlistgetstudents()

6467

68void

addstudent(student student)

6972

73void removestudent(int

nid)

7483 ++citer;84}

85}8687

private

:88 qlistm_students; //

集合89

};90

91/*

92* 有個函式返回乙個集合。讓這個函式返回該集合的乙個唯讀副本,並在這個類中提供新增/移除集合元素的函式。

93*/

9495

void

main()

96

總結有個函式返回乙個集合。讓這個函式返回該集合的乙個唯讀副本,並在這個類中提供新增/移除集合元素的函式。

good good study, day day up.

順序 選擇 迴圈 總結

小酌重構系列 24 封裝集合

當方法返回型別或屬性型別為集合時,有些開發者會千篇一律地使用ilist集合。然而ilist具有集合的所有操作,這意味著呼叫者不僅可以讀取集合資訊,還能夠修改集合。業務需求本來只是為呼叫者提供乙個可讀的集合,例如資料的查詢和展示,但當方法返回ilist時,無疑隱式地開放了集合可寫的許可權。此時,我們無...

31 天重構學習筆記1 封裝集合

摘要 由於最近在做重構的專案,所以對重構又重新進行了一遍學習和整理,對31天重構最早接觸是在2009年10月份,由於當時沒有訂閱 sean chambers的blog,所以是在國外的社群上閒逛的時候鏈結過去的。記得當時一口氣看完了整個系列並沒有多少感覺,因為這些基本上專案都 在使用,只是我們沒有專門...

203 07 05 封裝 繼承 多型

繼承 1 oc是單一繼承 2 封裝 隱藏內部 m檔案 實現 穩定外部 h檔案 介面。屬性封裝了例項變數 方法封裝了具體實現 類封裝了方法和屬性 封裝的好處 使用更加簡單,變數更加安全,可以隱藏內部實現細節,開發速度快 3 私有變數 private,私有方法 在.m中實現,在.h中沒有宣告,私有成員變...