V tem članku bomo razpravljali o konceptu dedovanja pri programiranju na C ++. Pojem funkcije prijatelja v jeziku C ++ bomo razložili z delovnimi primeri.
Zakaj dedovanje?
Dedovanje omogoča ustvarjanje novega razreda ali izpeljanega razreda iz drugega razreda ali osnovnega razreda. Izpeljani razred ali podrejeni razred bo imel vse funkcije nadrejenega razreda ali osnovnega razreda. Kodo lahko ponovno uporabimo s pomočjo dedovanja.
Vrsta dedovanja
Obstajajo različne vrste dedovanja:
- Enostavno / enojno dedovanje
- Hierarhično dedovanje
- Dedovanje na več ravneh
- Večkratno dedovanje
V tem članku bomo obravnavali samo preprosto / samostojno dedovanje.
Primer 1:
Zdaj pa si oglejmo primer programa za razumevanje koncepta dedovanja v jeziku C++. Določili smo osnovni razred in nato iz njega izpeljali še en razred. Zato bo izpeljani razred imel funkcije (člane in funkcije) iz osnovnega razreda.
#includeuporaba imenskega prostora std;
razred Base_Class
javno:
int i;
prikaz praznine ()
cout << "Display of Base Class " << i << endl;
;
razred Derived_Class: javni Base_Class
javno:
razveljavi razstavo ()
cout << "Show of Derived Class" << endl;
;
int main ()
Izpeljan_razred dc;
enosmerno.i = 100;
enosmerno.zaslon ();
enosmerno.show ();
vrnitev 0;
2. primer:
To je še en primer dedovanja v C++. V tem primeru bomo videli, kako se pri ustvarjanju izpeljanega predmeta razreda pokličejo konstruktorji.
Kot lahko vidite spodaj, smo definirali dva konstruktorja osnovnega razreda in tri konstruktorje izvedenih razredov. Iz spodnjega izhoda lahko jasno opazite, da se najprej pokliče konstruktor osnovnega razreda, preden se pokliče konstruktor izpeljanega razreda.
#include#include
uporaba imenskega prostora std;
razred Base_Class
javno:
Base_Class ()
cout << "Base_Class - No Parameters" << endl;
Base_Class (int x)
cout << "Base_Class - Parameters : " << x << endl;
;
razred Derived_Class: javni Base_Class
javno:
Izvedeni_razred ()
cout << "Derived_Class - No Parameters" << endl;
Izvedeni_razred (int y)
cout << "Derived_Class - Parameters : " << y << endl;
Izvedeni_razred (int x, int y): Base_Class (x)
cout << "Param of Derived_Class : " << y << endl;
;
int main ()
Izpeljani_razred d (7,19);
3. primer:
V tem primeru bomo videli, kako je mogoče uporabiti izvedene predmete razredov.
Kot lahko vidite, sta opredeljena dva razreda: Rectangle_Class in Cube_Class. Rectangle_Class je osnovni razred, iz katerega izhaja razred, tj.e., Cube_Class je izpeljan. Zato funkcije podedujemo iz razreda Rectangle_Class v Cube_Class.
Prav tako lahko opazite, da podedujemo Cube_Class z nadzorom javnega dostopa. To pomeni, da lahko izvedeni razred dostopa do vseh ne-zasebnih članov osnovnega razreda.
Razglasili smo objekt izpeljanega razreda in nato poklicali metode iz osnovnega razreda, tj.e., setLength () in setBreadth ().
#includeuporaba imenskega prostora std;
razred Rectangle_Class
zasebno:
dolžina int;
int širina;
javno:
Pravokotnik_razred ();
Rectangle_Class (int l, int b);
Rectangle_Class (Rectangle_Class & r);
int getLength ()
dolžina vrnitve;
int getBreadth ()
vrnite širino;
void setLength (int l);
void setBreadth (int b);
int območje ();
;
razred Cube_Class: javni Rectangle_Class
zasebno:
int višina;
javno:
Cube_Class (int h)
višina = h;
int getHeight ()
povratna višina;
void setHeight (int h)
višina = h;
int obseg ()
vrni getLength () * getBreadth () * višina;
;
Rectangle_Class :: Rectangle_Class ()
dolžina = 1;
širina = 1;
Rectangle_Class :: Rectangle_Class (int l, int b)
dolžina = l;
širina = b;
Rectangle_Class :: Rectangle_Class (Rectangle_Class & r)
dolžina = r.dolžina;
širina = r.širina;
void Rectangle_Class :: setLength (int l)
dolžina = l;
void Rectangle_Class :: setBreadth (int b)
širina = b;
int Rectangle_Class :: area ()
dolžina vračanja * širina;
int main ()
Cube_Class c (8);
c.setLength (12);
c.setBreadth (9);
cout<<"Volume is "<
Zaključek:
V tem članku sem razložil koncept dedovanja v jeziku C++. C ++ podpira različne vrste dedovanja, vključno z »večkratnim dedovanjem« (tj.e., podedovanje funkcij iz več osnovnih razredov ali nadrejenega razreda). Da pa bi bilo poenostavljeno, sem tu obravnaval samo eno dediščino. Pokazal sem tri delovne primere, da razložim, kako lahko pri programiranju na C ++ uporabimo dedovanje in ponovno uporabimo kodo. Poleg tega je to zelo koristna lastnost C-ja++.