Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
 Akonáhle programátor deklaruje metódu , ktorá mená sa zvyčajne nedá určiť inú metódu s iným kódom vnútri . Vylúčenie je to , keď sa argumenty metódy sa líšia . Napríklad programátor mohol definovať metódu " vypočítať " , aby sa celé číslo ako argument : 
 
 int vypočítať ( int x ) 
 
 Podľa pravidiel C + + , iná metóda s názvom " výpočet " , ktoré sa celé číslo ako argument by neexistovala , bez ohľadu na kóde vnútri metódy . Ale môže existovať iný spôsob , s rovnakým názvom a rôznymi argumenty : 
 
 int spočítať ( double x ) 
 
 typ alebo argument , keď je volaná metóda by sa rozhodnúť , ktorá metóda vykonáva 
 . 
 obmedzenie 
 
 obmedzenia existujú , ako metóda preťaženie prácou v C + + . Aby k preťaženiu názov metódy , argumenty musia používať rôzne dátové typy , alebo sa líšia v množstve argumentov určené . Metódy , ktoré vracia rôzne hodnoty , ale zdieľajú názov a zhodný zoznam argumentov , ktoré nie sú povolené v C + + . Metódy s rovnakými menami a argumenty , ktoré sa líšia len kvôli iným názvom typu ( alebo dávať existujúceho dátového typu na iný názov ) , tiež nie sú povolené . Napríklad : 
 
 typdef int fake_int ; 
 
 int write ( int x ) 
 
 double write ( int x ) 
 
 int write ( fake_int x ) 
 
 Žiaden z týchto troch definícií metódy dodržiavať pravidlá metóda preťaženiu a vráti chybu . 
 Odvodenie 
 
 Ďalším spôsobom , ako preťaženie metóda je pomocou triedy deriváciou . Pri konštrukcii triedy , môže programátor , aby funkčnosť a trieda dedí inej triedy . Dedenie ( odvodená ) trieda môžete použiť metódy triedy dedia zo základnej triedy ( ) . Základná trieda ( class X ) môže mať metóda " print " definovaný . Ďalšie trieda ( trieda Y ) , ktorá pochádza z triedy X má tiež prístup k tlači . Avšak , trieda Y by tiež definovať vlastnú verziu metódy tlače . V tomto prípade sa metóda tlače popravený byť jedna definovaná v triede Y , ak programátor špecifikuje , že trieda X verzia tlače by mala vykonať . 
 Príklady 
 
 príkladom metódy obnovoval cez odvodená trieda zahŕňa dve triedy. Po prvé , základná trieda : 
 
 trieda First ( 
 
 verejnosť : 
 
 int x ; 
 
 int returnX ( ) { return 
 
 x ; 
 
 } 
 
 } ; 
 
 Potom, odvodená trieda , ktorá nanovo definuje " returnX ( ) " metódu : 
 
 class druhej : public Prvý { 
 
 verejnosť : 
 
 int returnX ) { 
 
 vrátiť x 1 ; 
 
 } ( 
 
 } ; 
 
 " Second " trieda má prístup k premennej " x " a metódu " returnX ( ) " , ktoré sú súčasťou " prvej " triedy . Za druhé sa však nanovo definuje spôsob returnX ( ) vo svojej vlastnej definícii . To znamená , že ak objekt triedy zaklopania ( ) metóda na returnX , bude vrátená hodnota je x +1 .