C ++

Dědičnost v C ++

Dědičnost v C ++
Dědičnost je velmi důležitou vlastností objektově orientovaného programování. Umožňuje programátorovi odvodit třídu z existující třídy. To je velmi užitečné zejména ve velkých komplexních projektech, protože to umožňuje programátorovi znovu použít kód.

V tomto článku budeme diskutovat o konceptu dědičnosti v programování v C ++. Pojem funkce přítele v C ++ vysvětlíme na pracovních příkladech.

Proč dědičnost?

Dědičnost umožňuje vytvoření nové třídy nebo odvozené třídy z jiné třídy nebo základní třídy. Odvozená třída nebo podřízená třída bude mít všechny funkce nadřazené třídy nebo základní třídy. Kód můžeme znovu použít pomocí dědičnosti.

Typ dědičnosti

Existují různé typy dědičnosti:

  1. Jednoduchá / jednoduchá dědičnost
  2. Hierarchická dědičnost
  3. Víceúrovňová dědičnost
  4. Vícenásobné dědictví

V tomto článku budeme uvažovat pouze o jednoduché / jednoduché dědičnosti.

Příklad 1:

Nyní se podívejme na ukázkový program, abychom porozuměli pojmu dědičnosti v jazyce C++. Definovali jsme základní třídu a poté z ní odvodili další třídu. Proto bude mít odvozená třída funkce (členy a funkce) ze základní třídy.

#zahrnout
pomocí jmenného prostoru std;
třída Base_Class

veřejnost:
int i;
void display ()

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

;
třída Derived_Class: veřejná Base_Class

veřejnost:
neplatná show ()

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

;
int main ()

Derived_Class dc;
DC.i = 100;
DC.Zobrazit();
DC.ukázat();
návrat 0;

Příklad 2:

Toto je další příklad dědičnosti v C++. V tomto příkladu uvidíme, jak se konstruktory volají, když se vytvoří objekt odvozené třídy.

Jak vidíte níže, definovali jsme dva konstruktory základní třídy a tři konstruktory odvozené třídy. Z níže uvedeného výstupu si můžete jasně všimnout, že se nejprve volá konstruktor základní třídy, než se volá konstruktor odvozené třídy.

#zahrnout
#zahrnout
pomocí jmenného prostoru std;
třída Base_Class

veřejnost:
Base_Class ()

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

Base_Class (int x)

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

;
třída Derived_Class: veřejná Base_Class

veřejnost:
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 ()

Odvozená třída d (7,19);

Příklad 3:

V tomto příkladu uvidíme, jak lze použít objekty odvozené třídy.

Jak vidíte, jsou definovány dvě třídy: Rectangle_Class a Cube_Class. Rectangle_Class je základní třída, ze které je odvozená třída, tj.E., Cube_Class je odvozen. Proto zdědíme funkce z Rectangle_Class na Cube_Class.

Také si můžete všimnout, že zdědíme Cube_Class s řízením veřejného přístupu. To znamená, že odvozená třída má přístup ke všem neveřejným členům základní třídy.

Deklarovali jsme objekt odvozené třídy a poté zavoláme metody ze základní třídy, tj.E., setLength () a setBreadth ().

#zahrnout
pomocí jmenného prostoru std;
třída Rectangle_Class

soukromé:
délka int;
int šířka;
veřejnost:
Rectangle_Class ();
Rectangle_Class (int l, int b);
Rectangle_Class (Rectangle_Class & r);
int getLength ()

návratová délka;

int getBreadth ()

návratová šířka;

void setLength (int l);
void setBreadth (int b);
int area ();
;
třída Cube_Class: public Rectangle_Class

soukromé:
výška int;
veřejnost:
Cube_Class (int h)

výška = h;

int getHeight ()

návratová výška;

void setHeight (int h)

výška = h;

int objem ()

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

;
Rectangle_Class :: Rectangle_Class ()

délka = 1;
šířka = 1;

Rectangle_Class :: Rectangle_Class (int l, int b)

délka = l;
šířka = b;

Rectangle_Class :: Rectangle_Class (Rectangle_Class & r)

délka = r.délka;
šířka = r.šířka;

void Rectangle_Class :: setLength (int l)

délka = l;

void Rectangle_Class :: setBreadth (int b)

šířka = b;

int Rectangle_Class :: area ()

délka návratu * šířka;

int main ()

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

Závěr:

V tomto článku jsem vysvětlil koncept dědičnosti v jazyce C++. C ++ podporuje různé typy dědičnosti, včetně „vícenásobné dědičnosti“ (tj.E., dědí funkce z více základní třídy nebo nadřazené třídy). Abych to však zjednodušil, uvažoval jsem zde pouze o jediném dědictví. Ukázal jsem tři pracovní příklady, které vysvětlují, jak můžeme použít dědičnost v programování v C ++ a znovu použít kód. Navíc je to velmi užitečná vlastnost C++.

Hry Jak používat GameConqueror Cheat Engine v Linuxu
Jak používat GameConqueror Cheat Engine v Linuxu
Tento článek popisuje průvodce používáním cheatovacího modulu GameConqueror v systému Linux. Mnoho uživatelů, kteří hrají hry v systému Windows, často...
Hry Nejlepší emulátory herních konzolí pro Linux
Nejlepší emulátory herních konzolí pro Linux
Tento článek uvádí seznam populárního softwaru pro emulaci herních konzolí, který je k dispozici pro Linux. Emulace je vrstva softwarové kompatibility...
Hry Nejlepší linuxové distribuce pro hraní her v roce 2021
Nejlepší linuxové distribuce pro hraní her v roce 2021
Operační systém Linux má za sebou dlouhou cestu od svého původního, jednoduchého vzhledu založeného na serveru. Tento OS se v posledních letech nesmír...