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

Ako skryť objekt implementácia v C + +

Vo svete + + , výrobcov knižnice C a programátorov klienta pomocou knižnice dať dohromady aplikácií , ktoré sú často väčšie knižnice . Knižnice sa skladá z tried . C + + triedy má riadenie prístupu funkcie , ktoré definujú prísne hranice medzi producentom triedy a klientskych programátorov . Tie sú nevyhnutné , aby sa programátori klienta pred dotykom kritické časti kódu , a umožniť výrobcom knižnice , aby sa vnútorné zmeny bez predchádzajúceho upozornenia . Veci , ktoré budete potrebovať
knihy o C + + programovanie
Zobraziť ďalšie inštrukcie Cestuj 1

Pochopiť prístup špecifikátory poskytované C + + , ktoré určujú hranice triedy . Tie sú označené explicitné kľúčové slová " public " , " súkromné ​​" a " chránené " . Tým , že spozná členskú funkciu s jedným z týchto kľúčových slov , môžete riadiť úroveň prístupu tohto členského funkcie .
2

Použite " verejný " kľúčové k tomu , aby sa definícia dostupné pre každého , vrátane programátorov klienta .

3

Použiť " súkromnú " kľúčové slovo , keď nechcete nikoho okrem seba , aby prístup k definícii triedy . Súkromné ​​definície možno pristupovať len pomocou iných členských funkcií , ktoré patria do triedy v pochybnosť . Myslite na " súkromné ​​" ako firewall , ktorý chráni vnútorné implementáciu definície z klientskeho programátora .
4

deklarovať definície "chránené " , keď chcete len dedenia tried pre prístup k tejto definícii . Dedenia triedy alebo triedy , ktoré sú odvodené funkcie z triedy nemožno získať prístup k súkromným definície , ale môžu pristupovať definície označené ako chránené .
5

nájdete na nasledujúcom príklade získať lepšie porozumenie kroky 2 až 4 a kontrola prístupu :
trieda CFile {
public : int
Otvoriť ( const char * filename) ;
private : bool
FileExists ( ) const ;
chránené :
int PixelCount ( ) ;
} ;
//private function " FileExists " môžu byť použité členské funkcie v definícii
int CFile :: Open ( const char * filename) {
ak ( true == CFile :: FileExists ( ) )
hodiť ...
}
//zdedenie triedy možno použiť chránenú funkciu " PixelCount " základné triedy
triedy CImageFile : public CFile {
public : void
SomeFunc ( ) { int x =
CFile :: PixelCount ( ) ; }
,
} ;
//prevedenie oblasť
int main ( ) {
CFile súboru ;
file.Open ( referral.txt ) ;
if ( skutočné == file.Exists ( ) ) //chyba kompilátora
int x = file.PixelCount //chyba kompilátora
}

Najnovšie články

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