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:
- Yksinkertainen / yksittäinen perintö
- Hierarkkinen perintö
- Monitasoinen perintö
- 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++.