Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Predefinovať metódy v C + +

Za bežných okolností metódy v C + + nemožno zdieľať meno . To spôsobuje chyby zavedením možnosti zámeny na metódy referencie . Programátor , ktorý si želá použiť rovnaký názov pre metódu , ale predefinovať túto metódu na základe rôznych parametrov , má dve možnosti . Programátor môže preťažiť funkciu pomocou rovnakého mena , ale mení argumenty metódy . Aj v prípade , že programátor používa odvodené triedy , on alebo ona môže potlačiť funkciu základnej triedy plniť rôzne funkcie . Preťažovanie metódy

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 .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené