Paano Maipatupad ang Pag-o-overload ng Pag-andar At Pag-override sa C ++?



Ipakilala ka ng artikulong ito sa Function Overloading And Overriding In C ++ na dalawa sa pinakamahalagang konsepto ng OOPS.

Ang C ++ ay isang sa kalikasan at ipinagmamalaki nito ang iba't ibang mga tampok. Sa sesyon na ito tatalakayin namin kung paano ipatupad ang Function Overloading At Function Overriding sa C ++.

Saklaw ang artikulong ito sa artikulong ito,





Ang pagpapatuloy sa artikulong ito sa Pag-overload ng pagpapaandar at pag-override sa C ++

Pag-o-overload ng pagpapaandar



Ang mga pagpapaandar na may parehong pangalan ngunit magkakaibang mga parameter ay pinapayagan sa C ++ at tinawag Pag-o-overload ng pagpapaandar . Tinatawag din itong compile-time Polymorphism.

Halimbawa:

sum (int a, float b) sum (int a, int b) sum (int a, int b, int c)

Dito, mayroong tatlong mga pag-andar na may parehong pangalan ngunit ang nag-iisa lamang na pagkakaiba-iba sa kanila ay magkakaiba ang mga parameter sa bawat isa. Kaya, depende sa mga parameter na ipinasa, ang isang pagpapaandar ay tinatawag.



Kung ang mga uri ng pagbabalik ng mga pag-andar ay magkakaiba sa gayon ito ay maituturing na hindi wasto.

Ang pagpapatuloy sa artikulong ito sa Pag-overload ng pagpapaandar at pag-override sa C ++

Sample Code Para sa Pag-andar Higit sa Paglo-load

isama ang paggamit ng namespace std class Addition {public: int add (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (void) {Addition isang cout< 

Paglabas

c ++ goto line

Output- Pag-andar ng labis na karga at pag-override sa C ++ - Edureka

Paliwanag

Sa programa sa itaas, mayroon kaming dalawang mga pagpapaandar sa karagdagan na klase. Parehong pinangalanang add. Ang isa ay mayroong 2 mga parameter at ang isa ay may 3 mga parameter.

Sa pangunahing pag-andar, lumikha kami ng isang bagay ng pagdaragdag ng klase na tinatawag na a. Tinatawag namin ang mga pag-andar na idagdag na may 2 at 3 na mga parameter ayon sa pagkakabanggit at ang mga pag-andar na idagdag ay tinawag at nagsasagawa sila ng karagdagan.

Ganito nagaganap ang overloading ng pag-andar.

Ang pagpapatuloy sa artikulong ito sa Pag-overload ng pagpapaandar at pag-override sa C ++

Pag-override ng Function

Kapag ang isang nagmula sa klase ay may pag-andar na may parehong pangalan bilang isang pagpapaandar ng batayang klase, ito ay tinatawag Pag-override ng Function. Ang parehong mga pag-andar ay dapat magkaroon ng parehong mga parameter sa parehong klase.

Sample Code Para sa Pag-override ng Function

# isama ang paggamit ng namespace std class BaseClass {public: void disp () {cout<<'Parent Class Function' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Child Class Function' } } int main() { DerivedClass obj = DerivedClass() obj.disp() return 0 } 

Output:

Paliwanag:

Sa programa sa itaas, ipinapakita namin ang pangunahing pag-andar, na may parehong pangalan sa nagmula at batayang klase. Dito ang bagay ay nilikha ng nagmula sa klase kaya kapag tumawag kami sa pagpapakita lamang ang object ng bata na klase ang ipinapakita.

Ang pagpapatuloy sa artikulong ito sa Pag-overload ng pagpapaandar at pag-override sa C ++

Order na Magsagawa ng Overriding

Isaalang-alang ang code:

# isama ang paggamit ng namespace std class BaseClass {public: void disp () {cout<<'Function of Parent Class' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Function of Child Class' } } int main() { BaseClass obj = DerivedClass() obj.disp() return 0 } 

Output:

Paliwanag:

Sa programa sa itaas, ipinapakita namin ang pangunahing pag-andar, na may parehong pangalan sa nagmula at batayang klase. Dito, ang pagkakaiba lamang mula sa nakaraang programa ay iyon. Lumilikha kami ng object ng klase ng bata. Ang object ng klase ng bata ay binibigyan ng sanggunian ng batayang klase. Maaari rin itong magawa sa pamamagitan ng paggamit ng ibang pamamaraan,

Syntax

Parent_class_name :: function ()

Sa halimbawa sa itaas, ginagamit namin ito bilang,

BaseClass :: disp ()

Ito ay isa pang paraan ng pag-override.

Pag-andar ng Overloading VS Pag-override ng Function

Pag-andar ng Sobra Pag-override ng Function
Ang saklaw ay parehoAng saklaw ay naiiba
Dapat magkakaiba ang mga lagda (hal: parameter)Dapat na magkapareho ang mga lagda
Bilang ng mga pagpapaandar na maaaring mag-overloading posiblePosible lamang ang isang overriding function
Maaaring mangyari nang walang manaPangunahin itong nangyayari dahil sa mana

Sa gayon ay natapos na kami sa artikulong ito sa 'Function Overloading at Overriding in C ++'. Kung nais mong matuto nang higit pa, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online. Ang kurso sa pagsasanay at sertipikasyon ng Java J2EE at SOA ng Edureka ay idinisenyo upang sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng blog na ito at babalikan ka namin sa lalong madaling panahon.