Cpp クラス アクセス指定子 新しいページはコチラ
提供: yonewiki
(ページの作成:「<table class="mbox-small" style="border:1px solid #aaa; background-color:#f9f9f9; width:22em;" id="RealTitleBanner"> <tr> <td style="width:1px;"></td> <td class="mbox-tex...」) |
(→クラス アクセス指定子) |
||
8行: | 8行: | ||
<br /> | <br /> | ||
== '''クラス アクセス指定子''' == | == '''クラス アクセス指定子''' == | ||
+ | クラス宣言をするヘッダファイル側で指定するアクセス指定子は、クラスの利用時の基本的な制約を指定するものです。クラスとはじめて向き合った人は、なんのこっちゃわからんという感じになりやすい部分だと思います。クラスを利用するときの基本的な使い方を理解していないと、どうしても、このアクセス指定子の意味がわかり辛く感じるのだと思います。クラスの基本的な利用方法については既に[[Cpp クラス|クラス]]の項目に記述しましたので、軽く理解しておいたほうが良いと思います。クラスで行われる隠蔽の技術の解説についてもこの項目で長々と記述する予定です。まずは簡単な説明から記述します。 | ||
+ | |||
+ | |||
+ | アクセス指定子には3種類のアクセスレベルが用意されています。 | ||
+ | |||
+ | *public | ||
+ | :クラスの外側からも呼び出しできる関数や変数になる。 | ||
+ | |||
+ | *protected | ||
+ | :クラス内部や派生されたクラスからも呼び出しできる関数や変数になる。publicとprivateの中間的なアクセスレベル。 | ||
+ | |||
+ | *private | ||
+ | :省略時の規定値。クラスの外側からは呼び出しできない関数や変数になる。つまり、クラス内部のみ呼び出しできるということ。 | ||
+ | |||
+ | |||
+ | と簡単に説明しましたが、初めてクラスというものを使おうとする人にとっては、上記の簡単なまとめだけでは、まだしっくり来ないかもしれません。具体的に使ってみて理解しましょう。そして、クラスの内部とか外部とか、派生とかという表現の意味についても説明します。 | ||
+ | |||
+ | |||
+ | C言語では、こんなのなかったんだから、覚えなくっても大丈夫ってわけには行かないのがアクセス指定子です。これを理解しないと、クラスを使うことはできないし、あやつることは出来ません。誰かが定義したクラスとかだと、うまくアクセス指定がされていて、クラス内のこの変数を変更すれば、プログラムの動作が変更されるのは、なんとなくわかるんだけど…イライラ!ってことになってしまいます。 | ||
+ | |||
+ | |||
+ | この先の記述はだいたい、うっすらわかっている人にはまどろっこしい説明が続くかもしれませんが、半分くらい理解してる人でも、継承して派生させる場合にもアクセス指定子が使えるので、そのあたりの説明はもう少し先の方に記述しますので、派生時の一括定義に関するアクセス指定の件について理解していない人は、かるく下の方まで目をとおしておいた方が良いと思います。 | ||
+ | |||
+ | |||
+ | それでは、派生とか継承とか内部とか外部とか、意味の分からないキーワードを理解していくためにも具体的に使ってみます。以下は説明用の単純なサンプルクラスです。 |