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
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 pareho Ang saklaw ay naiiba Dapat magkakaiba ang mga lagda (hal: parameter) Dapat na magkapareho ang mga lagda Bilang ng mga pagpapaandar na maaaring mag-overloading posible Posible lamang ang isang overriding function Maaaring mangyari nang walang mana Pangunahin 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.