クラス継承・親クラスと子クラス
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
クラスを用いたプログラミングには、クラスを継承することで機能を拡張したり、機能を分割できる、というメリットがあります。
親クラスは、継承する元となるクラスで、基底クラス、スーパークラスなどとも言います。
子クラスは、派生クラス、サブクラスなどとも呼びます。
親クラスと子クラス、基底クラスと派生クラス、スーパークラスとサブクラス、という継承関係です。
スポンサーリンク
class child : public parent { // メンバ... }
C++のクラス継承の場合、上記のように書くことで、子クラスchildが、親クラスparentを継承します。
基底クラスに、「public parent」とpublicキーワードをつけることで、親クラスparentのすべてのpublicなメンバに、外部からアクセス可能となります。
class child : private parent { // メンバ... }
と親クラスをprivateキーワードで継承すると、parentクラスのpublicとprotectedなメンバには、子クラスchildのクラス内からしかアクセスできなくなります。
このあたりのアクセス制限キーワードは、PHPと同じですので、私には理解しやすいです。
ただし、クラス継承はオブジェクト指向に慣れていないと、けっこう難しかったりもするので、自分で簡単な親クラスと子クラスを作って、継承させて動作の実験を行ってみると、理解が深まると思います。
スポンサーリンク
>> 次の記事 : スタックを実装したクラスを拡張する
<< 前の記事 : static・静的メンバ関数
- - 関連記事 -
- 派生クラスのコンストラクタ・デストラクタ
- 派生クラスによる関数の隠蔽
- 仮想クラス
- 抽象クラス
- 仮想関数・virtualキーワード
- 親クラスの引数ありコンストラクタを子クラスから初期化・動的サイズのスタック
- クラスのアクセス制限キーワード・private, protected, public
- スタックを実装したクラスを拡張する
- static・静的メンバ関数
- static・静的メンバ変数
- 定数のconstメンバ関数をクラスに宣言
- 定数のconstメンバ変数をクラスに宣言
- フレンドクラス・friend
- フレンド関数・friend
- クラスの中にメンバ関数(メソッド)を実装する
- explicit・コンストラクタを明示する
- クラスで自動的に生成されるメンバ関数
- コピーコンストラクタ
- 引数つきのコンストラクタを持つクラス定義
- コンストラクタで自動的に初期化する
スポンサーリンク