Cplusplus-cpp-class-access-modifiers
提供:Dev Guides
C ++クラスアクセス修飾子
データの非表示は、オブジェクト指向プログラミングの重要な機能の1つであり、プログラムの機能がクラス型の内部表現に直接アクセスできないようにします。 クラスメンバへのアクセス制限は、クラス本体内のラベル付きの* public、private、および *protected セクションで指定されます。 キーワードpublic、private、およびprotectedは、アクセス指定子と呼ばれます。
クラスには、複数のパブリック、保護、またはプライベートのラベル付きセクションを含めることができます。 各セクションは、別のセクションラベルまたはクラス本体の右中括弧が表示されるまで有効です。 メンバーとクラスのデフォルトのアクセスはプライベートです。
公開メンバー
上記のコードをコンパイルして実行すると、次の結果が生成されます-
プライベートメンバー
デフォルトでは、クラスのすべてのメンバーはプライベートになります。たとえば、次のクラスでは width はプライベートメンバーです。つまり、メンバーにラベルを付けるまで、プライベートメンバーと見なされます-
実際には、プライベートセクションでデータを定義し、パブリックセクションで関連する関数を定義して、次のプログラムに示すようにクラスの外部から呼び出せるようにします。
上記のコードをコンパイルして実行すると、次の結果が生成されます-
保護されたメンバー
次の章で、派生クラスと継承について学習します。 今のところ、親クラス Box から1つの子クラス SmallBox を派生させた次の例を確認できます。
次の例は上記の例に似ており、ここで width メンバーは、派生クラスSmallBoxのメンバー関数からアクセスできます。
上記のコードをコンパイルして実行すると、次の結果が生成されます-