我發現這兩個示例在概念上是相同的 - 但其中一個是組合和另一個聚合。聚合和組合 - 錯誤的教程示例
在first example中,'class(has-a)students'是一個組合。
一個班級包含學生。沒有一個班級,學生就不能存在。 班上和學生之間存在着構成。
在second example中,關係'department(has-a)professors'是一個聚合。
如果大學關閉,該部門將不再存在,但 在這些部門的教授將繼續存在
在我看來,第一種是完全錯誤的。請注意,在this的評論部分SO問題@TallPaul也在質疑第一個例子。我認爲在實踐中,它會從系統中刪除每個學期後所有入學的學生。而且,學生可能不得不由初始化的類創建,因爲C++中的構造通常是作爲私有屬性(而不是指針)實現的。我對嗎?第一個例子有意義嗎?
只需重命名'student'到'類taker'或類似的東西,第一個例子中才有意義。 – SomeWittyUsername