第七章 7 2節練習

2021-06-26 10:26:35 字數 577 閱讀 1488

練習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...