C ++ je v prírode a môže sa pochváliť rôznymi funkciami. V tejto relácii by sme diskutovali o tom, ako implementovať preťaženie funkcií a prepísanie funkcií v C ++.
Nasledujúcim ukazovateľom sa budeme venovať v tomto článku,
fibonacciho rekurzívny c ++
Ďalej v tomto článku o preťažení a prepísaní funkcií v C ++
Funkčné preťaženie
Funkcie, ktoré majú rovnaký názov, ale odlišné parametre, sú v jazyku C ++ povolené a volajú sa Funkčné preťaženie . Tiež sa nazýva polymorfizmus v kompilácii.
Napríklad:
suma (int a, float b) suma (int a, int b) suma (int a, int b, int c)
Tu existujú tri funkcie s rovnakým názvom, ale odlišuje ich len to, že parametre sú u každej odlišné. Takže v závislosti od odovzdaných parametrov sa volá funkcia.
Ak sa návratové typy funkcií líšia, považuje sa to za neplatné.
Ďalej v tomto článku o preťažení a prepísaní funkcií v C ++
Vzorový kód pre načítanie funkcie
zahrnúť pomocou menného priestoru štandardná trieda Dodatok {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 cout<Výkon
Vysvetlenie
Vo vyššie uvedenom programe máme v triede sčítania dve funkcie. Obaja menovaní pridávajú. Jeden má 2 parametre a druhý má 3 parametre.
V hlavnej funkcii vytvoríme objekt pridania triedy s názvom a. Voláme prídavné funkcie s parametrami 2 a 3 a funkcie add sa volajú a vykonávajú sčítanie.
Takto prebieha preťaženie funkcie.
Ďalej v tomto článku o preťažení a prepísaní funkcií v C ++
Prepísanie funkcie
Keď má odvodená trieda funkciu s rovnakým názvom ako funkcia základnej triedy, volá sa Prepísanie funkcie. Obe funkcie musia mať v oboch triedach rovnaké parametre.
Vzorový kód na prepísanie funkcií
#include using 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 }Výkon:
Vysvetlenie:
Vo vyššie uvedenom programe ukážeme základnú funkciu s rovnakým názvom v odvodenej a základnej triede. Tu je objekt vytvorený z odvodenej triedy, takže keď voláme display, zobrazí sa iba podradený objekt triedy.
Ďalej v tomto článku o preťažení a prepísaní funkcií v C ++
Príkaz na vykonanie prepísania
Zvážte kód:
#include using 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 }Výkon:
Vysvetlenie:
Vo vyššie uvedenom programe ukážeme základnú funkciu s rovnakým názvom v odvodenej a základnej triede. Jediný rozdiel oproti predchádzajúcemu programu je v tom. Vytvárame objekt podradenej triedy. Objektu podradenej triedy je pridelený odkaz na základnú triedu. Môžete to urobiť aj pomocou inej metódy,
Syntax
Parent_class_name :: function ()Vo vyššie uvedenom príklade ho používame ako,
BaseClass :: disp ()Toto je ďalší spôsob prekonania.
Preťaženie funkcie Prepísanie funkcie VS.
Funkčné preťaženie Prepísanie funkcie Rozsah je rovnaký Rozsah je iný Podpisy sa musia líšiť (napr. Parameter) Podpisy musia byť rovnaké Počet možných funkcií preťaženia Je možná iba jedna prvoradá funkcia Môže sa vyskytnúť bez dedičstva Vyskytuje sa hlavne z dôvodu dedičstva Dostali sme sa tak na koniec tohto článku o „Preťažení funkcií a prepísaní v C ++“. Ak sa chcete dozvedieť viac, pozrite si Edureka, dôveryhodná online vzdelávacia spoločnosť. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je navrhnutý tak, aby vás vyškolil pre základné aj pokročilé koncepty Java spolu s rôznymi rámcami Java, ako je Hibernate & Spring.
choď na funkciu c ++Máte na nás otázku? Uveďte to prosím v sekcii komentárov tohto blogu a my sa vám ozveme čo najskôr.