クラスの継承とは何か?
継承とは元になるクラス(基底クラス)の機能を派生されたクラス(派生クラス)に持たせることができる。
継承された基底クラスの関数・変数などはアクセス修飾子public,protected内にあると派生クラスでも使うことができる。
継承にはオーバーライドという機能がある。
オーバーライドとは基底クラスの関数の中身を使わず派生クラスの関数の中身を使うことができるという機能である。
アクセス修飾子
public 外部からの読み書きが可能になる
protected 基底クラス・派生クラス内のみ読み書きが可能
private そのクラス内のみ読み書きが可能
オーバーライドの使い方
(基底クラス)
virtual 戻り値 関数名 (引数);
(派生クラス)
戻り値 関数名 (引数)override;
オーバーライドの注意点
関数名 戻り値の型 引数が違うとエラーが起こる
仮想関数
仮想関数とは基底クラスで定義した関数を派生クラスでは定義しないことで基底クラスの関数を使うことができることをいう
仮想関数の使い方
(基底クラス)
virtual 戻り値 関数名 (引数);
(派生クラス)
定義しない → 基底クラス内の関数が呼ばれる
戻り値 関数名 (引数)override; → 派生クラス内の関数が呼ばれる
純粋仮想関数
純粋仮想関数とは必ずオーバーライドをしないといけない関数のことである
純粋仮想関数の使い方
(基底クラス)
virtual 戻り値 関数名 (引数)= 0;
(派生クラス)
定義しない → エラーが起こる
戻り値 関数名 (引数)override; → 派生クラス内の関数が呼ばれる
最後に
ここまで見ていただきありがとうございます。
今回初投稿ということで書きなれていませんし文章もおかしいところがありますし言葉足らずなところがあります。
私はまだ学生なのでこれが正しいという保証はありません。