C ++

C ++ Perintö

C ++ Perintö
Perintö on erittäin tärkeä piirre olio-ohjelmoinnissa. Sen avulla ohjelmoija voi johtaa luokan olemassa olevasta luokasta. Tämä on erittäin hyödyllistä varsinkin suuressa monimutkaisessa projektissa, koska se antaa ohjelmoijan käyttää koodia uudelleen.

Tässä artikkelissa keskustelemme perintökäsitteestä C ++ - ohjelmoinnissa. Selitämme ystäväfunktion käsitteen C ++: ssa toimivilla esimerkeillä.

Miksi perintö?

Perintö mahdollistaa uuden luokan tai johdetun luokan luomisen toisesta luokasta tai perusluokasta. Johdetussa luokassa tai alaluokassa on kaikki vanhemman tai perusluokan ominaisuudet. Voimme käyttää koodia uudelleen perinnön avulla.

Perintötyyppi

Perintöjä on erilaisia:

  1. Yksinkertainen / yksittäinen perintö
  2. Hierarkkinen perintö
  3. Monitasoinen perintö
  4. Moninkertainen perintö

Tässä artikkelissa tarkastelemme vain yksinkertaista / yksittäistä perintöä.

Esimerkki 1:

Katsokaamme nyt esimerkkiohjelmaa ymmärtämään perinteen käsite C: ssä++. Olemme määrittäneet perusluokan ja johtaneet siitä sitten toisen luokan. Siksi johdetulla luokalla on perusluokan ominaisuudet (jäsenet ja toiminnot).

#sisältää
käyttämällä nimitilaa vakio;
luokka Base_Class

julkinen:
int i;
mitätön näyttö ()

cout << "Display of Base Class " << i << endl;

;
luokka Johdettu_luokka: julkinen pohja-luokka

julkinen:
void show ()

cout << "Show of Derived Class" << endl;

;
int main ()

Johdettu_luokka dc;
DC.i = 100;
DC.näyttö();
DC.näytä();
paluu 0;

Esimerkki 2:

Tämä on toinen esimerkki perinnöstä C: ssä++. Tässä esimerkissä aiomme nähdä, miten konstruktoreita kutsutaan, kun johdettu luokkaobjekti luodaan.

Kuten alla voit nähdä, olemme määrittäneet kaksi perusluokan konstruktoria ja kolme johdettua luokkakonstruktoria. Alla olevasta lähdöstä voit selvästi huomata, että perusluokan konstruktori kutsutaan ensin ennen kuin johdettua luokan konstruktoria kutsutaan.

#sisältää
#sisältää
käyttämällä nimitilaa vakio;
luokka Base_Class

julkinen:
Base_Class ()

cout << "Base_Class - No Parameters" << endl;

Base_Class (int x)

cout << "Base_Class - Parameters : " << x << endl;

;
luokka Johdettu_luokka: julkinen pohja-luokka

julkinen:
Johdettu_luokka ()

cout << "Derived_Class - No Parameters" << endl;

Johdettu_luokka (int y)

cout << "Derived_Class - Parameters : " << y << endl;

Johdettu_luokka (int x, int y): Pohjan_luokka (x)

cout << "Param of Derived_Class : " << y << endl;

;
int main ()

Johdettu luokka d (7,19);

Esimerkki 3:

Tässä esimerkissä aiomme nähdä, kuinka johdettuja luokan objekteja voidaan käyttää.

Kuten näette, on määritelty kaksi luokkaa: Suorakulmion_luokka ja Kuution_luokan. Suorakulmion_luokka on perusluokka, josta johdettu luokka, ts.e., Cube_Class on johdettu. Siksi perimme ominaisuudet Suorakulmion_luokasta Cube_Luokkaan.

Voit myös huomata, että perimme Cube_Classin julkisen kulunvalvonnan kanssa. Tämä tarkoittaa, että johdettu luokka voi käyttää kaikkia perusluokan ei-yksityisiä jäseniä.

Olemme ilmoittaneet johdetun luokan objektin ja kutsuneet sitten perusluokan menetelmät, ts.e., setLength () ja setBreadth ().

#sisältää
käyttämällä nimitilaa vakio;
luokka Suorakulmio_luokka

yksityinen:
int pituus;
int leveys;
julkinen:
Suorakulmion_luokka ();
Suorakulmion luokka (int l, int b);
Suorakulmion_luokka (suorakulmion_luokan & r);
int getLength ()

paluupituus;

int getBreadth ()

paluu leveys;

void setLength (int l);
void setBreadth (int b);
int-alue ();
;
luokka Cube_Class: julkinen suorakulmion_luokka

yksityinen:
int korkeus;
julkinen:
Kuution_luokka (int h)

korkeus = h;

int getHeight ()

paluukorkeus;

void setHeight (int h)

korkeus = h;

int tilavuus ()

paluu getLength () * getBreadth () * korkeus;

;
Suorakulmion_luokka :: Suorakulmion_luokan ()

pituus = 1;
leveys = 1;

Suorakulmion_luokka :: Suorakulmion_luokan (int l, int b)

pituus = l;
leveys = b;

Suorakulmion_luokka :: Suorakulmion_luokan (Suorakulmion_luokan & r)

pituus = r.pituus;
leveys = r.leveys;

void Rectangle_Class :: setLength (int l)

pituus = l;

void Rectangle_Class :: setBreadth (int b)

leveys = b;

int Suorakulmio_luokka :: alue ()

paluupituus * leveys;

int main ()

Kuutio-luokka c (8);
c.setLength (12);
c.setBreadth (9);
cout<<"Volume is "<

Päätelmä:

Tässä artikkelissa olen selittänyt perintökäsitteen C: ssä++. C ++ tukee erilaisia ​​perintötyyppejä, mukaan lukien "moniperintö" (i.e., ominaisuuksien periminen useista perusluokista tai vanhempaluokasta). Yksinkertaisuuden vuoksi olen kuitenkin ottanut huomioon vain yhden perinnön. Olen esittänyt kolme toimivaa esimerkkiä selittääkseen, kuinka voimme käyttää perintöä C ++ - ohjelmoinnissa ja käyttää koodia uudelleen. Lisäksi tämä on erittäin hyödyllinen ominaisuus C: lle++.

Viisi parasta pelin kaappauskorttia
Olemme kaikki nähneet ja rakastaneet suoratoistopelejä YouTubessa. PewDiePie, Jakesepticye ja Markiplier ovat vain joitain huippupelaajista, jotka ova...
How to Develop a Game on Linux
A decade ago, not many Linux users would predict that their favorite operating system would one day be a popular gaming platform for commercial video ...
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...