C++の常識

アクセス制御


メンバーへのアクセス

 クラスのメンバーには、外からアクセスしてよいものと、外からアクセスしないほうがよいものの2種類があります。「外」とは「他のクラス」のことです。

 C++は、外からアクセスされたくないメンバーを保護するための仕掛けを用意しています。すなわち、メンバーをいくつかのセクションに分け、それぞれのセクションについて、クラスの外から参照してよいかどうかを指定することができます。セクションには、次のようなものがあります。

privateセクション このセクションにあるメンバーをprivateメンバーと呼ぶ。
privateメンバーは外からアクセスできない。
privateメンバーはクラスのメンバーからはアクセスできる。
publicセクション このセクションにあるメンバーをpublicメンバーと呼ぶ。
publicメンバーはどこからでもアクセス可能

何も指定しなければ、クラス内部はprivateセクションになります。

アクセス制御キーワード

 private以外のセクションを作るには、アクセス制御キーワードを使います。例えば、publicセクションを作るには、publicキーワードを使って次のように書きます。

class Student {
  
    ・・・・・・・・  // ここはprivateセクション

public:

    ・・・・・・・・  // ここはpublicセクション

  };

 何も指定しなければ、privateセクションになります。しかし、privateセクションを明示するためにprivateキーワードを使うこともできます(下記)。

class Student {
private:
    ・・・・・・・・  // ここはprivateセクション

public:

    ・・・・・・・・  // ここはpublicセクション

  };

このほかに、protectedセクションがあります。protectedセクションは、そのクラス内からアクセスできることに加えて、そのクラスを継承したクラスからもアクセスできます。