C ++

C ++ pärand

C ++ pärand
Pärand on objektorienteeritud programmeerimise väga oluline tunnusjoon. See võimaldab programmeerijal tuletada klass olemasolevast klassist. See on eriti kasulik suures keerulises projektis, kuna see võimaldab programmeerijal koodi uuesti kasutada.

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:

  1. Lihtne / ühekordne pärand
  2. Hierarhiline pärand
  3. Mitmetasandiline pärand
  4. 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).

# kaasata
nimeruumi 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 ().

# kaasata
nimeruumi 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++.

Kuidas Linuxis oma mänguseanssi jäädvustada ja voogesitada
Varem peeti mängude mängimist ainult hobiks, kuid aja jooksul kasvas mängutööstus tehnoloogia ja mängijate arvu osas tohutult. Mängupublik on veebimän...
Parimad mängud, mida saab mängida käte jälgimisega
Oculus Quest tutvustas hiljuti suurepärast ideed käsitsi jälgimisest ilma kontrolleriteta. Üha suurema hulga mängude ja tegevustega, mis toetavad kas ...
Kuidas kuvada OSD ülekatet täisekraanil Linuxi rakendustes ja mängudes
Täisekraaniga mängude mängimine või rakenduste kasutamine häireteta täisekraanirežiimis võib teid paneelil või tegumiribal kuvatavast asjakohasest süs...