C ++

Dedičnosť v C ++

Dedičnosť v C ++
Dedenie je veľmi dôležitou vlastnosťou objektovo orientovaného programovania. Umožňuje programátorovi odvodiť triedu od existujúcej triedy. To je veľmi užitočné najmä vo veľkých zložitých projektoch, pretože to umožňuje programátorovi znovu použiť kód.

V tomto článku sa chystáme diskutovať o koncepcii dedičnosti v programovaní v C ++. Pojem priateľská funkcia v C ++ si vysvetlíme na pracovných príkladoch.

Prečo dedičstvo?

Dedičstvo umožňuje vytvorenie novej triedy alebo odvodenej triedy z inej triedy alebo základnej triedy. Odvodená trieda alebo podradená trieda bude mať všetky funkcie nadradenej triedy alebo základnej triedy. Kód môžeme znova použiť pomocou dedičstva.

Typ dedičstva

Existujú rôzne typy dedičstva:

  1. Jednoduché / jednoduché dedičstvo
  2. Hierarchické dedičstvo
  3. Viacúrovňové dedičstvo
  4. Viacnásobné dedičstvo

V tomto článku budeme uvažovať iba o jednoduchom / jednoduchom dedičstve.

Príklad 1:

Poďme sa teraz pozrieť na ukážkový program, aby sme pochopili pojem dedičnosti v jazyku C++. Definovali sme základnú triedu a potom sme z nej odvodili inú triedu. Preto bude mať odvodená trieda vlastnosti (členy a funkcie) zo základnej triedy.

#include
pomocou namespace std;
trieda Base_Class

verejné:
int i;
neplatné zobrazenie ()

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

;
trieda Derived_Class: verejná Base_Class

verejné:
neplatná šou ()

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

;
int main ()

Derived_Class dc;
dc.i = 100;
dc.displej ();
dc.šou();
návrat 0;

Príklad 2:

Toto je ďalší príklad dedičstva v C++. V tomto príklade uvidíme, ako sa volajú konštruktory, keď sa vytvorí objekt odvodenej triedy.

Ako vidíte nižšie, definovali sme dva konštruktory základnej triedy a tri konštruktory odvodenej triedy. Z nižšie uvedeného výstupu si môžete jasne všimnúť, že najskôr sa volá konštruktor základnej triedy predtým, ako sa volá konštruktor odvodenej triedy.

#include
#include
pomocou namespace std;
trieda Base_Class

verejné:
Base_Class ()

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

Base_Class (int x)

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

;
trieda Derived_Class: verejná Base_Class

verejné:
Derived_Class ()

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

Derived_Class (int y)

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

Derived_Class (int x, int y): Base_Class (x)

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

;
int main ()

Odvodená trieda d (7,19);

Príklad 3:

V tomto príklade sa dozvieme, ako je možné použiť objekty odvodenej triedy.

Ako vidíte, sú definované dve triedy: Rectangle_Class a Cube_Class. Rectangle_Class je základná trieda, z ktorej je odvodená trieda, t.e., Cube_Class je odvodená. Preto dedíme funkcie z Rectangle_Class na Cube_Class.

Tiež si môžete všimnúť, že dedíme Cube_Class s kontrolou verejného prístupu. To znamená, že odvodená trieda má prístup ku všetkým neverejným členom základnej triedy.

Deklarovali sme objekt odvodenej triedy a potom zavoláme metódy zo základnej triedy, t.j.e., setLength () a setBreadth ().

#include
pomocou namespace std;
trieda Obdĺžnik_Class

súkromné:
int dĺžka;
int šírka;
verejné:
Rectangle_Class ();
Rectangle_Class (int l, int b);
Rectangle_Class (Rectangle_Class & r);
int getLength ()

dĺžka návratu;

int getBreadth ()

vrátiť šírku;

void setLength (int l);
void setBreadth (int b);
int area ();
;
trieda Cube_Class: verejná Rectangle_Class

súkromné:
int výška;
verejné:
Cube_Class (int h)

výška = h;

int getHeight ()

návratová výška;

void setHeight (int h)

výška = h;

objem int ()

návrat getLength () * getBreadth () * výška;

;
Rectangle_Class :: Rectangle_Class ()

dĺžka = 1;
šírka = 1;

Rectangle_Class :: Rectangle_Class (int l, int b)

dĺžka = l;
šírka = b;

Rectangle_Class :: Rectangle_Class (Rectangle_Class & r)

dĺžka = r.dĺžka;
šírka = r.šírka;

void Rectangle_Class :: setLength (int l)

dĺžka = l;

void Rectangle_Class :: setBreadth (int b)

šírka = b;

int Rectangle_Class :: area ()

dĺžka návratu * šírka;

int main ()

Cube_Class c (8);
c.setLength (12);
c.setBreadth (9);
cout<<"Volume is "<

Záver:

V tomto článku som vysvetlil koncept dedenia v C++. C ++ podporuje rôzne typy dedičstva vrátane „viacnásobného dedičstva“ (t.j.e., dedenie funkcií z viacerých základných tried alebo nadradených tried). Aby som to však zjednodušil, uvažoval som tu iba o jednoduchom dedičstve. Ukázal som tri pracovné príklady, ktoré vysvetľujú, ako môžeme využiť dedičnosť v programovaní v C ++ a znovu použiť kód. Toto je navyše veľmi užitočná vlastnosť jazyka C++.

Ako zmeniť nastavenie myši a touchpadu pomocou systému Xinput v systéme Linux
Väčšina distribúcií systému Linux sa štandardne dodáva s knižnicou „libinput“ na spracovanie vstupných udalostí v systéme. Dokáže spracovať vstupné ud...
S ovládaním pomocou myši X-Mouse môžete tlačidlá myši premapovať odlišne pre iný softvér
Možno budete potrebovať nástroj, ktorý by mohol zmeniť ovládanie myši pri každej aplikácii, ktorú používate. Ak je to váš prípad, môžete vyskúšať apli...
Recenzia bezdrôtovej myši Microsoft Sculpt Touch
Nedávno som čítal o Microsoft Sculpt Touch bezdrôtová myš a rozhodol sa ju kúpiť. Po chvíli používania som sa rozhodol s ním podeliť o svoje skúsenost...