Contenu connexe
Similaire à CS201- Introduction to Programming- Lecture 29 (20)
CS201- Introduction to Programming- Lecture 29
- 6. FFrriieenndd
FFuunnccttiioonn FFrriieenndd ffuunnccttiioonnss aarree NNOOTT tthhee mmeemmbbeerrss ooff
tthhee ccllaassss
TThhee ccllaassss iittsseellff ddeeccllaarree iitt’’ss ffrriieenndd
ffuunnccttiioonnss
TThhee pprroottoottyyppee ooff tthheessee ffuunnccttiioonnss aarree
wwrriitttteenn iinnssiiddee tthhee ccllaassss aanndd tthhee kkeeyy wwoorrdd
ffrriieenndd iiss aappppeennddeedd bbeeffoorree tthhee ffuunnccttiioonn
nnaammee
FFrriieenndd ffuunnccttiioonnss hhaavvee aacccceessss ttoo pprriivvaattee
aanndd ppuubblliicc mmeemmbbeerrss ooff tthhee ccllaassss
- 7. EExxaammppllee 11
ccllaassss mmyyCCllaassss
{{
ffrriieenndd iinnccrreemmeenntt (( mmyyCCllaassss ,, iinntt )) ;;
pprriivvaattee::
iinntt ttooppSSeeccrreett ;;
ppuubblliicc::
mmyyCCllaassss (( ))
{{ ttooppSSeeccrreett == 110000 ;; }}
vvooiidd DDiissppllaayy (( ))
{{ ccoouutt<<<< ““TThhee vvaalluuee ooff ttooppSSeeccrreett iiss ““
<<<< ttooppSSeeccrreett ;; }}
}} ;;
- 9. EExxaammppllee 11
mmaaiinn (( ))
{{
mmyyCCllaassss xx ;;
xx..DDiissppllaayy (( )) ;;
IInnccrreemmeenntt (( xx ,, 1100 )) ;;
xx..DDiissppllaayy (( )) ;;
}}
- 11. EExxaammppllee 22
ccllaassss mmyyCCllaassssTTwwoo ;;
ccllaassss mmyyCCllaassssOOnnee
{{
pprriivvaattee ::
iinntt ttooppSSeeccrreett ;;
ppuubblliicc ::
vvooiidd DDiissppllaayy (( )) ;;
mmyyCCllaassssOOnnee (( ))
{{ ttooppSSeeccrreett == 110000;; }}
ffrriieenndd AAddddBBootthh (( mmyyCCllaassssOOnnee ,, mmyyCCllaassssTTwwoo )) ;;
}} ;;
- 12. EExxaammppllee 22
ccllaassss mmyyCCllaassssTTwwoo
{{
pprriivvaattee::
iinntt ttooppSSeeccrreett ;;
ppuubblliicc::
vvooiidd DDiissppllaayy (( )) ;;
mmyyCCllaassssTTwwoo (( ))
{{ ttooppSSeeccrreett == 220000 ;; }}
ffrriieenndd AAddddBBootthh (( mmyyCCllaassssOOnnee ,, mmyyCCllaassssTTwwoo )) ;;
}} ;;
- 13. EExxaammppllee 22
mmaaiinn (( ))
{{
mmyyCCllaassssOOnnee AA ;;
mmyyCCllaassssTTwwoo BB ;;
AA..DDiissppllaayy (( )) ;;
BB..DDiissppllaayy (( )) ;;
AAddddBBootthh (( AA ,, BB )) ;;
}}
- 14. EExxaammppllee 22
iinntt AAddddBBootthh (( mmyyCCllaassssOOnnee AA ,, mmyyCCllaassssTTwwoo BB ))
{{
ccoouutt <<<< ““TThhee vvaalluuee ooff ttooppSSeeccrreett iinn mmyyCCllaassssOOnnee oobbjjeecctt
iiss”” <<<< AA..ttooppSSeeccrreett ;;
ccoouutt <<<< ““TThhee vvaalluuee ooff ttooppSSeeccrreett iinn mmyyCCllaassssTTwwoo oobbjjeecctt
iiss””<<<< BB..ttooppSSeeccrreett ;;
ccoouutt <<<< ““TThhee ssuumm ooff ttooppSSeeccrreett vvaalluueess iinn ““
<<<< ““mmyyCCllaassssOOnnee aanndd mmyyCCllaassssTTwwoo oobbjjeecctt iiss ””
<<<< AA..ttooppSSeeccrreett ++ BB..ttooppSSeeccrreett ;;
}}
- 15. EExxaammppllee 33
ccllaassss ootthheerrCCllaassss ;;
ccllaassss ccllaassssOOnnee
{{
pprriivvaattee ::
iinntt ttooppSSeeccrreett;;
ppuubblliicc ::
vvooiidd DDiissppllaayy (( )) ;;
ccllaassssOOnnee (( ))
{{ TTooppSSeeccrreett == 110000 ;; }}
ffrriieenndd ootthheerrCCllaassss ;;
}} ;;