オブジェクト指向プログラミング言語において、クラスやメンバなどに対するアクセスを許す範囲を指定するものです。
プログラミング言語による違いはありますが、public、protected、private といったキーワードを用いられることが多く、これら以外のものを追加で持つ言語もあります。こうしたキーワードを、クラスやメンバなどの宣言に併記するようなかたちで使用します。
それぞれの意味も言語による違いが多少ありますが、public は自由にアクセスすることを許す、protected はサブクラスや、同一パッケージに所属しているといった関係性が深いところからのアクセスを許す、private は自分自身(たとえばメンバなら、所属しているクラスの内側から)でしかアクセスできない、といった意味になります。
C++ のアクセス指定子は、public、protected、private の3つです。
C++ では、メンバに対して指定できるほか、継承の際にも使用します。クラスそのものに対する指定はありません。
class A {
public: // 以下のメンバは公開されている
(int value);
Aint GetValue() const;
protected: // 以下のメンバは、A自身か、派生クラスからのみアクセスできる
void SetValue(int value);
private: // 以下のメンバは、A自身からしかアクセスできない
int mValue;
};
class B : public A { // public による公開継承
// ...
};
メンバに対するアクセス指定子についての解説が、C++編【言語解説】第12章、第27章にあります。また、継承での使い方については、第26章、第28章にあります。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |