C ++、継承

C ++  の継承は、クラスとクラス間の関係で、非常にシンプルで非常に直感的な概念であり、現実の世界は、息子が父親の財産を相続など、継承に似ています。

継承(Inheri タン CE)は、別のクラスの手順から取得したクラスのメンバ変数とメンバ関数として理解することができます。例えば、クラスBがクラスAを継承し、その後、Bは、メンバ変数とメンバ関数を有するであろう。

C ++、に由来する(導出と継承の概念が、異なる角度局です。継承は、父親が息子に産業遺産を得、業界は父親の息子を受けています。

継承されたクラスは親クラスまたは基本クラスは、クラスが派生クラス、またはサブクラスと呼ばれ、継承と呼ばれています。「サブクラス」と「親」は、通常「基本クラス」と呼ばれ、「派生クラス」のコールは、通常は一緒に配置一緒に配置します。

基本クラスを持つ派生クラスのメンバーに加えて、あなたはまた、機能性クラスを強化するために、独自の新しいメンバーを定義することができます。

以下は、2つの典型的な継承を使用してシナリオです
、これはコードの量を削減し、新しいだけでなく、1)あなたは似た既存のクラスに新しいクラスを作成しますが、メンバ変数やメンバ関数の数は、あなたが継承を使用することができるときのよりクラスは、基本クラスのすべての機能を持つことになります。

あなたは複数のクラスを作成する必要がある場合ときメンバ変数やメンバ関数2)、彼らはあなたが継承を使用することができ、多くの類似点を持っています。これらのクラスの共通のメンバーを抽出することができ、基本クラスとして定義され、基本クラスから継承され、コードが保存されただけでなく、その後の変更部材を容易にすることができます。

ここでは、基本クラスの人々を定義し、それによって学生のクラスを派生します:

 

 

書式#include <iostreamの>
名前空間stdを使用。
//基类Pelple
クラスの人々 {
パブリック:
無効SETNAME(のchar *名);
無効setage(int型の年齢)。
CHAR *のgetName();
int型getage();
プライベート:
CHAR * M_NAME。
int型のm_age。
}。
空の人々 :: SETNAME(文字*名){M_NAME =名; }
のボイド人々 :: setage(int型の年齢){m_age =年齢; }
のchar *人物::のgetName(){戻りM_NAME。}
getage(){戻りm_age ::人々をint型;}
//派生类学生の
クラスの学生:公共の人々 {
パブリック:
無効setscore(フロートスコア);
フロートgetscore()。
プライベート:
フロートm_score。
}。
ボイド学生:: setscore(フロートスコア){m_score =スコア。}
フロート学生:: getscore(){m_score返します。}
int型のmain(){
学生STU。
stu.setname( "小の明");
stu.setage(16)。
stu.setscore(95.5f)。
COUT << stu.getname()<< "的年龄是"<< stu.getage()<<"、成绩是" << stu.getscore()<< ENDL。
0を返します。
}

おすすめ

転載: www.cnblogs.com/qianrushi1/p/11564365.html
おすすめ