C++ 訪問修飾符
訪問修飾符
到目前為止,您已經很熟悉我們在所有類示例中出現的 public
關鍵字了。
public
關鍵字是一個訪問修飾符。 訪問修飾符定義了類的成員(屬性和方法)如何被訪問。在上面的示例中,成員是 public
,這意味著它們可以從程式碼外部進行訪問和修改。
但是,如果我們想讓成員是私有的,並且隱藏起來不讓外部訪問呢?
在 C++ 中,有三個訪問修飾符:
public
- 成員可以從類外部訪問private
- 成員無法從類外部訪問(或檢視)protected
- 成員無法從類外部訪問,但可以在派生類中訪問。您將在稍後瞭解更多關於繼承的內容。
在下面的示例中,我們演示了 public
和 private
成員之間的區別。
示例
class MyClass {
public: // 公共訪問修飾符
int x; // 公共屬性
private: // 私有訪問修飾符
int y; // 私有屬性
};
int main() {
MyClass myObj;
myObj.x = 25; // 允許(公共)
myObj.y = 50; // 不允許(私有)
return 0;
}
如果您嘗試訪問私有成員,則會發生錯誤:
error: y is private
注意:可以使用同一類中的公共方法來訪問類的私有成員。有關如何執行此操作,請參閱下一章(封裝)。
提示:將類的屬性宣告為私有(儘可能)被認為是良好的程式設計實踐。這可以減少您(或他人)弄亂程式碼的可能性。這也是您將在下一章中瞭解的封裝概念的主要組成部分。
注意:預設情況下,如果未指定訪問修飾符,則類的所有成員都為 private
。
示例
class MyClass {
int x; // 私有屬性
int y; // 私有屬性
};