1. 程式人生 > >淺談C++中的類與封裝性

淺談C++中的類與封裝性

我們知道,在C語言中struct將所有成員都預設為public許可權,這很不安全。因此C++引進了功能與struct相同但更安全的資料型別——類。說明:

      1.類宣告中的訪問限定符沒有先後次序,通常將private放在後面,將public放在前面,方便了解類的可訪問介面。
      2.同一個類中,訪問限定符出現次數沒有限制。
      3.資料成員和成員函式都可以設定為public、private、protected屬性。
      4.資料成員可以是任何資料型別,也可是一個類的物件或指向物件的指標、引用,但不能是自動(auto)、暫存器(register)和外部(extern)儲存型別。
      5.宣告類時,不能為資料成員賦初值,因為此時還沒有為其分配記憶體。
      6.C++中的struct也是一種類,他與class具有相同功能,用法完全相同,唯一的區別是,沒有指定成員的訪問許可權時,struct中的成員具有public許可權,而class中的成員則具有private許可權。 
      7. ::為全域性作用域訪問符。

類的封裝

類的封裝性可以從兩方面認識:

      1.類能夠把資料和演算法(操作資料的函式)組合在一起,構成一個不可分割的整體; 
      2.類具有資訊隱藏的能力,能夠有效的把類的內部資料隱藏起來,使外部函式只有通過類的公有成員才能訪問類的內部資料。
封裝使類成為一個具有內部資料的自我隱藏能力、功能獨立的軟體模組。 
類的公有成員也稱為類的介面,外部函式要訪問類的內部成員,只有通過類的公有成員才能實現。