C++之權限限定符淺談
時間(jian):2018-12-24 來源:華清遠見
C++中的權限限定符有public、pravite、protected三種,下面就分別簡單的說下各自(zi)的用法。
一、作為public、pravite、protected類的成員屬性時
public:共有的,在類(lei)的內(nei)部和外部均可見。可以通過類(lei)對(dui)象訪問、修改成員。
如下圖:


private:私有(you)的(de),只(zhi)能在類的(de)內部可見。通(tong)過類對象不能對private成(cheng)(cheng)員進行訪(fang)問(wen)、修改。只(zhi)能通(tong)過類的(de)成(cheng)(cheng)員函數(shu)對private 成(cheng)(cheng)員進行訪(fang)問(wen)、修改。一(yi)般(ban)在類中不聲明成(cheng)(cheng)員屬性(xing),則(ze)默認(ren)為private。
如下圖:


protected:受保護的(de)。同private 一樣只能在類的(de)內部可見,不(bu)能通過(guo)類對象進(jin)行訪問和修(xiu)改(gai)。但是(shi)在類的(de)繼承(cheng)時,protected 與 private 是(shi)有差異性的(de)。
如下圖:


二、public、pravite、protected在繼承的時候(hou)。
public:共有繼承,基類的(de)public/protected成員可以被子類內(nei)部訪問,子類對象只(zhi)能訪問基類的(de)public成員。
如下圖所示:


protected/private:保護繼承,基類(lei)的public/protected成員可以被子類(lei)內部訪問(wen)(wen),通過子類(lei)對象不能訪問(wen)(wen)基類(lei)任何成員。
如下圖所示:



