Selles artiklis käsitleme C ++ programmeerimisel pärimise kontseptsiooni. Selgitame sõbrafunktsiooni mõistet C ++ -s töötavate näidetega.
Miks pärand?
Pärimine võimaldab luua uue klassi või teisest klassist või baasklassist tuletatud klassi. Tuletatud klassil või lasteklassil on kõik vanema klassi või põhiklassi tunnused. Koodi saame pärimise abil uuesti kasutada.
Pärandi tüüp
Päranditüüpe on erinevaid:
- Lihtne / ühekordne pärand
- Hierarhiline pärand
- Mitmetasandiline pärand
- Mitmekordne pärand
Selles artiklis käsitleme ainult lihtsat / ühekordset pärimist.
Näide 1:
Nüüd uurime C-s pärimise mõiste mõistmiseks näidisprogrammi++. Oleme määranud baasklassi ja tuletanud sellest siis teise klassi. Seetõttu on tuletatud klassil baasklassi tunnused (liikmed ja funktsioonid).
# kaasatanimeruumi kasutamine std;
klass Base_Class
avalik:
int i;
tühine kuva ()
cout << "Display of Base Class " << i << endl;
;
klass Tuletatud_klass: avalik alus_klass
avalik:
kehtetu saade ()
cout << "Show of Derived Class" << endl;
;
int main ()
Tuletatud_klass dc;
alalisvool.i = 100;
alalisvool.kuva ();
alalisvool.show ();
tagastama 0;
Näide 2:
See on veel üks näide pärandist C-s++. Selles näites vaatame, kuidas kutsutakse konstruktoreid tuletatud klassiobjekti loomisel.
Nagu allpool näete, oleme määranud kaks baasklassi konstruktorit ja kolm tuletatud klassi konstruktorit. Allpool olevast väljundist võite selgelt märgata, et enne tuletatud klassi konstruktori kutsumist kutsutakse esmalt baasklassi konstruktorit.
# kaasata# kaasata
nimeruumi kasutamine std;
klass Base_Class
avalik:
Base_Class ()
cout << "Base_Class - No Parameters" << endl;
Base_Class (int x)
cout << "Base_Class - Parameters : " << x << endl;
;
klass Tuletatud_klass: avalik alus_klass
avalik:
Tuletatud_klass ()
cout << "Derived_Class - No Parameters" << endl;
Tuletatud_klass (int y)
cout << "Derived_Class - Parameters : " << y << endl;
Tuletatud_klass (int x, int y): aluse_klass (x)
cout << "Param of Derived_Class : " << y << endl;
;
int main ()
Tuletatud klass d (7,19);
Näide 3:
Selles näites vaatame, kuidas tuletatud klassiobjekte saab kasutada.
Nagu näete, on määratletud kaks klassi: Ristkülikuklass ja Kuubeklass. Ristküliku_klass on põhiklass, millest tuletatud klass, s.t.e., Cube_Class on tuletatud. Seetõttu pärime funktsioonid alates Ristkülikuklassist kuni Kuubiklassini.
Samuti võite märgata, et pärime Cube_Classi avaliku juurdepääsu kontrolliga. See tähendab, et tuletatud klass pääseb juurde kõigile baasklassi mitte-erasektori liikmetele.
Oleme deklareerinud tuletatud klassi objekti ja kutsume siis meetodid baasklassist, s.t.e., setLength () ja setBreadth ().
# kaasatanimeruumi kasutamine std;
klass Ristkülik_klass
privaatne:
int pikkus;
int laius;
avalik:
Ristkülik_klass ();
Ristkülik_klass (int l, int b);
Ristkülikuklass (Ristkülikuklass & r);
int getLength ()
tagasipöördumise pikkus;
int getBreadth ()
tagasi laius;
void setLength (int l);
void setBreadth (int b);
int ala ();
;
klass Cube_Class: avalik ristkülik_klass
privaatne:
int kõrgus;
avalik:
Kuubi_klass (int h)
kõrgus = h;
int getHeight ()
tagasipöördekõrgus;
void setHeight (int h)
kõrgus = h;
int maht ()
return getLength () * getBreadth () * kõrgus;
;
Ristkülikuklass :: Ristkülikuklass ()
pikkus = 1;
laius = 1;
Ristkülikuklass :: Ristkülikuklass (int l, int b)
pikkus = l;
laius = b;
Ristkülikuklass :: Ristkülikuklass (Ristkülikuklass ja r)
pikkus = r.pikkus;
laius = r.laius;
void Rectangle_Class :: setLength (int l)
pikkus = l;
void Ristküliku_klass :: setBreadth (int b)
laius = b;
int Rectangle_Class :: ala ()
tagasipöördumise pikkus * laius;
int main ()
Cube_class c (8);
c.setLength (12);
c.setBreadth (9);
cout<<"Volume is "<
Järeldus:
Selles artiklis olen selgitanud pärimise mõistet C-s++. C ++ toetab erinevat tüüpi pärandit, sealhulgas mitmendat pärandit (st.e., funktsioonide pärimine mitmelt baasklassilt või vanemklassilt). Kuid selle lihtsustamiseks olen siin arvestanud ainult ühe pärandiga. Olen näidanud kolme toimivat näidet, et selgitada, kuidas saame C ++ programmeerimisel pärandit kasutada ja koodi uuesti kasutada. Pealegi on see C väga kasulik omadus++.