練習7.16
在類的定義中對於訪問說明符出現的位置的次數由限定嗎?如果有是什麼?什麼樣的成員應該定義在public說明符之後,什麼樣的成員應該定義在private說明之後?
解答:對次數和位置沒有嚴格的限制。
簡單來說,想讓外部訪問到的成員應該定義在public之後,不想讓外部訪問的到的成員應該定義在private之後。
練習7.17
使用class和struct時有區別嗎?如果有,是什麼?
解答:有區別,預設訪問許可權不一樣,struct預設是public,class預設是private。
練習7.18
封裝是何含義?它有什麼用處?
解答:封裝及時隱藏了類內部的實現細節。
封裝的好處(參考)
書中第242頁也有介紹
練習7.19
在你的person類中,你將那些成員宣告成public的?哪些宣告成private的?解釋你這樣做的原因。
解答:person這個類的封裝原則很明了。作為寫程式的程式設計師,也是乙個人,然後自己想想,自己那些方面想要讓別人看到(public),哪些不想讓別人知道(private),就能區別哪些是要封裝的了。
第七章 7 3 2節練習
練習7.27 給你自己的screen類新增move set和display函式,通過指向下面的 檢驗你的類是否正確。screen myscreen 5,5,x myscreen.move 4.0 set display cout cout n myscreen.display cout cout n...
第七章 7 5 3節練習
7.5.2節的練習,可以自行選擇練習。練習7.43 假定有乙個名為nodefault的類,它有乙個接受int的建構函式,但是沒有預設建構函式。定義類c,c有乙個nodefault型別的成員,定義c的預設建構函式。解答 struct nodefault int data struct c nodefa...
第七章 7 5 4節練習
練習7.47 說明接受乙個string引數sales data建構函式是否應該是explicit的,並解釋這樣做的優缺點。解答 應該宣告成explicit,這樣做能讓物件構造的更加明確。缺點可能就是,在構造物件的時候,不注意會出現莫名的錯誤。練習7.48 假定sales data的建構函式不是exp...