Ebben a cikkben az öröklési koncepciót fogjuk megvitatni a C ++ programozásban. Működő példákkal elmagyarázzuk a barátfüggvény fogalmát a C ++ - ban.
Miért öröklés?
Az öröklés lehetővé teszi új osztály vagy egy másik osztályból vagy alaposztályból származó osztály létrehozását. A származtatott osztálynak vagy a gyermekosztálynak meg lesz a szülőosztály vagy az alaposztály összes jellemzője. Az öröklés segítségével újra felhasználhatjuk a kódot.
Az öröklés típusa
Különböző típusú öröklés létezik:
- Egyszerű / egyszeri öröklés
- Hierarchikus öröklés
- Többszintű öröklés
- Többszörös öröklés
Ebben a cikkben csak az egyszerű / egyszeri öröklést vesszük figyelembe.
1. példa:
Nézzünk meg egy példaprogramot, hogy megértsük az öröklődés fogalmát a C-ben++. Meghatároztunk egy alaposztályt, majd származtunk belőle egy másik osztályt. Ezért a származtatott osztálynak meg lesznek az alaposztályának tulajdonságai (tagjai és függvényei).
#includenévtér használata std;
osztály Base_Class
nyilvános:
int i;
érvénytelen kijelző ()
cout << "Display of Base Class " << i << endl;
;
osztály Derived_Class: nyilvános Base_Class
nyilvános:
void show ()
cout << "Show of Derived Class" << endl;
;
int main ()
Derived_Class dc;
egyenáram.i = 100;
egyenáram.kijelző();
egyenáram.előadás();
visszatér 0;
2. példa:
Ez egy másik példa az öröklődésre a C-ben++. Ebben a példában megnézzük, hogy hívják a konstruktorokat, amikor egy származtatott osztályobjektumot hoznak létre.
Amint az alább látható, két alaposztályú konstruktort és három származtatott osztálykonstruktort definiáltunk. Az alábbi kimenetből egyértelműen észreveheti, hogy az alaposztály konstruktort hívják meg először, mielőtt a származtatott osztály konstruktort meghívnák.
#include#include
névtér használata std;
osztály Base_Class
nyilvános:
Base_Class ()
cout << "Base_Class - No Parameters" << endl;
Base_Class (int x)
cout << "Base_Class - Parameters : " << x << endl;
;
osztály Derived_Class: nyilvános Base_Class
nyilvános:
Derived_Class ()
cout << "Derived_Class - No Parameters" << endl;
Derived_Class (int y)
cout << "Derived_Class - Parameters : " << y << endl;
Derivált_osztály (int x, int y): Alap_osztály (x)
cout << "Param of Derived_Class : " << y << endl;
;
int main ()
Származtatott d osztály (7,19);
3. példa:
Ebben a példában azt fogjuk látni, hogy a származtatott osztályobjektumok hogyan használhatók.
Amint láthatja, két osztály van meghatározva: Rectangle_Class és Cube_Class. A Rectangle_Class az az alaposztály, amelyből a származtatott osztály, azaz.e., A Cube_Class származik. Ezért a Rectangle_Class-tól a Cube_Class-ig örököljük a funkciókat.
Azt is észreveheti, hogy a Cube_Class-ot a nyilvános hozzáférés-vezérléssel örököljük. Ez azt jelenti, hogy a származtatott osztály hozzáférhet az alaposztály összes nem magán tagjához.
Deklaráltuk a származtatott osztály objektumát, majd meghívjuk a metódusokat az alaposztályból, azaz.e., setLength () és setBreadth ().
#includenévtér használata std;
osztály Téglalap_osztály
magán:
int hossza;
int szélesség;
nyilvános:
Téglalap_osztály ();
Téglalap_osztály (int l, int b);
Téglalap_osztály (téglalap_osztály);
int getLength ()
visszatérési hossz;
int getBreadth ()
visszatérési szélesség;
void setLength (int l);
void setBreadth (int b);
int terület ();
;
osztály Cube_Class: nyilvános Rectangle_Class
magán:
int magasság;
nyilvános:
Cube_Class (int h)
magasság = h;
int getHeight ()
visszatérési magasság;
void setHeight (int h)
magasság = h;
int térfogat ()
return getLength () * getBreadth () * magasság;
;
Téglalap_osztály :: Téglalap_osztály ()
hossz = 1;
szélesség = 1;
Téglalap_osztály :: Téglalap_osztály (int l, int b)
hossz = l;
szélesség = b;
Téglalap_osztály :: Téglalap_osztály (Téglalap_osztály és r)
hossz = r.hossz;
szélesség = r.szélesség;
void Rectangle_Class :: setLength (int l)
hossz = l;
void Rectangle_Class :: setBreadth (int b)
szélesség = b;
int Rectangle_Class :: terület ()
visszatérési hossz * szélesség;
int main ()
Cube_class c (8);
c.setLength (12);
c.setBreadth (9);
cout<<"Volume is "<
Következtetés:
Ebben a cikkben kifejtettem az öröklés fogalmát a C-ben++. A C ++ különböző típusú öröklődéseket támogat, ideértve a „többszörös öröklést” is (i.e., tulajdonságok örökölése több alaposztálytól vagy szülő osztálytól). Az egyszerűség kedvéért azonban itt csak az egyszeri öröklést vettem figyelembe. Három működő példát mutattam be, amelyek elmagyarázzák, hogyan használhatjuk az öröklődést a C ++ programozásban, és hogyan használhatjuk fel újra a kódot. Sőt, ez a C nagyon hasznos tulajdonsága++.