※ 引述《iamstudent (stu)》之銘言:
: : 所有 State 都必須經由 BigClass 產生,
: : 保證資源除了 BigClass 與 State 以外,
: : 其他人都拿不到也看不到。
: : 這只是非常粗略的作法,不過大體上精神如此
: : 不知道這樣合乎你的要求否?
: 差不多完全是正解了
: 把所有資料移動到class Data裡面去
: State的Data*用protected就可以讓繼承state的子class使用
: 不過這邊又有一個問題
: class Data 不就又要friend所有繼承State的class?
: 或者class Data所有成員必須是public的?
: 就沒辦法friend一個class
: 然後其他繼承的class也都能夠享受這個friend的效果嗎?
不太懂你的問題....
Data 所有的欄位都是 public 有何不好?
並不是權限設成public就一定會曝露,
我的做法就是從資源的來源限制起,
目前除了BigClass與State,其他人根本看不到 Data,
那 Data 的欄位是 public/private又有什麼關係呢?