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:
- Jednoduchá / jednoduchá dědičnost
- Hierarchická dědičnost
- Víceúrovňová dědičnost
- 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.
#zahrnoutpomocí 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 ().
#zahrnoutpomocí 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++.