Ceballos: Programación orientada a objetos con C++ 4Ed
-
Upload
fco-javier-ceballos-sierra -
Category
Documents
-
view
227 -
download
1
Transcript of Ceballos: Programación orientada a objetos con C++ 4Ed
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
1/60
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
2/60
^xk`xjijgem kxelmtjdjj kholtkw gkm
G&&4 ldegem
Agk- Ojqelx Glhjcckw Welxxj^xkalwkx tet|cjx dl cj
Lwg|lcj ^kcetgmegj W|~lxekx\meqlxwedjd dl Jcgjc
btt~?++ppp-aoglhjcckw-lw
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
3/60
^xk`xjijgem kxelmtjdj j kholtkw gkm G& 4 ldegem- Agk- Ojqelx Glhjcckw Welxxj
Dl cj ldegem? XJ)IJ 8>>0
IJXGJW GKILXGEJCLW? Cjw ijxgjw dl ckw ~xkd|gtkw getjdkw lm lc gkmtlmedk dl lwtl cehxk"wljm k mk ijxgjw xl`ewtxjdjw% ~lxtlmlglm j w|w xlw~lgteqkw ~xk~eltjxekw- XJ)IJ mk lwtjwkgejdj j mem`m ~xkd|gtk k ajhxegjmtl ilmgekjdk lm cj khxj# ckw djtkw u ckw loli~ckw
|tecejdkw wkm aegtegekw wjcqk z|l wl emdez|l ck gkmtxjxek-
XJ)IJ lw |mj ijxgj gkilxgejc xl`ewtxjdj-
Wl bj ~|lwtk lc ireik li~lk lm kaxlglx jc clgtkx |mj emakxijgem gki~cltj u ~xlgewj-Wem lihjx`k# XJ)IJ Ldetkxejc mk jw|il mem`|mj xlw~kmwjhecedjd dlxeqjdj dl w| |wk#me tji~kgk ~kx g|jcz|elx qekcjgem dl ~jtlmtlw me ktxkw dlxlgbkw dl tlxglxjw ~jxtlw z|l ~|delxjmkg|xxex- Lwtj ~|hcegjgem telml ~kx kholtk ~xk~kxgekmjx |mkw gkmkgeielmtkw ~xlgewkw u jgxldetjdkw
wkhxl lc tlij txjtjdk- W| qlmtj mk w|~kml ~jxj lc ldetkx mem`|mj akxij dl jwewtlmgej cl`jc#jdiemewtxjteqj me dl mem`m ktxk te~k- Lm gjwk dl ~xlgewjxwl jwlwkxj cl`jc | ktxj akxij dl ju|djlr~lxtj# dlhlm h|wgjxwl ckw wlxqegekw dl |m ~xkalwekmjc gki~ltlmtl-
Xlwlxqjdkw tkdkw ckw dlxlgbkw dl ~|hcegjgem lm g|jcz|elx edekij-
Wl`m ck dew~|lwtk lm lc Gde`k ^lmjc qe`lmtl mem`|mj ~jxtl dl lwtl cehxk ~|ldl wlxxl~xkd|gedj# xjhjdj lm wewtlij dl jcijglmjielmtk k txjmwietedj lm akxij jc`|mj me~kx g|jcz|elx ~xkgldeielmtk# uj wlj lclgtxmegk# ilgmegk# xl~xk`xaegk# ij`mtegk kg|jcz|elx ktxk# wem j|tkxejgem ~xlqej u ~kx lwgxetk dl XJ)IJ6 w| gkmtlmedk lwt ~xktl`edk
~kx cj Clu qe`lmtl z|l lwtjhclgl ~lmjw dl ~xewem u+k i|ctjw j z|elmlw emtlmgekmjdjilmtl#xl~xkd|olxlm k ~cj`ejxlm# lm tkdk k lm ~jxtl# |mj khxj cetlxjxej# jxtwtegj k gelmtaegj-
Ldetjdk ~kx?XJ)IJ LdetkxejcG+ Ojxjij# 7J# kc`kmk emd|wtxejc E`jxwj8221> ^JXJG\LCCKW DLC OJXJIJ# IjdxedTlcakmk? 5: 1Tlclajr? 5: 118 2: 75Gkxxlk lclgtxmegk? ldetkxejcNxj)ij-gki
Emtlxmlt? ppp-xj)ij-lw u ppp-xj)ij-gki
EWHM? 502)24)0250)01:):Dl~wetk Cl`jc? I)125>0J|tkldegem? Agk- Ojqelx GlhjcckwAecijgem l ei~xlwem? Jchjdjclok# W-C-
Ei~xlwk lm Lw~jj^xeilxj ei~xlwem? Ijxk 8>>0
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
4/60
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
5/60
GKMTLMEDK
^XCK@K------------------------------------------------------------------------------------------------------------- RQ
GJ^T\CK :- ^XK@XJIJGEM KXELMTJDJ J KHOLTKW--------------------- :
^LMWJX LM KHOLTKW ------------------------------------------------------------------------------------ 8Gcjwlw u kholtkw--------------------------------------------------------------------------------------------- 8Ilmwjolw u itkdkw -------------------------------------------------------------------------------------- 7
DEWLK DL \MJ GCJWL DL KHOLTKW-------------------------------------------------------- 4GKMWTX\GTKXLW ------------------------------------------------------------------------------------------ :8BLXLMGEJ-------------------------------------------------------------------------------------------------------- :4LOLXGEGEKW XLW\LCTKW ------------------------------------------------------------------------------ 8:LOLXGEGEKW XK^\LWTKW---------------------------------------------------------------------------- 8Gkmtlmldkxlw------------------------------------------------------------------------------------------------- 7>Etlxjdkxlw------------------------------------------------------------------------------------------------------- 7>Jc`kxetikw----------------------------------------------------------------------------------------------------- 7> Milxkw -------------------------------------------------------------------------------------------------------- 7:Dej`mwtegkw-------------------------------------------------------------------------------------------------- 7:\tecedjdlw lmlxjclw--------------------------------------------------------------------------------------- 7:
Ckgjcejgem -------------------------------------------------------------------------------------------------- 7:Wk~kxtl dlc clm`|jol -------------------------------------------------------------------------------------- 7:
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
6/60
QEEE ^XK@XJIJGEM KXELMTJDJ J KHOLTKW GKM G&&G&& ^JXJ ^XK@XJIJDKXLW DL G----------------------------------------------------------- 78
A|mgekmlw ------------------------------------------------------------------------------------------------------ 78^jcjhxjw xlwlxqjdjw m|lqjw---------------------------------------------------------------------------- 77Gkilmtjxekw--------------------------------------------------------------------------------------------------- 77K~lxjdkxlw G&& -------------------------------------------------------------------------------------------- 74^xekxedjd u kxdlm dl lqjc|jgem-------------------------------------------------------------------- 7Gjceaegjdkx qkcjtecl ---------------------------------------------------------------------------------------- 48Aclrehecedjd lm cjw dlgcjxjgekmlw------------------------------------------------------------------- 48Dlgcjxjgem lm |mj wlmtlmgej ------------------------------------------------------------------------ 47Lc k~lxjdkx dl xlwkc|gem dlc ihetk "??% ------------------------------------------------------ 44Lw~lgeaegjgekmlw dl lmcjgl ---------------------------------------------------------------------------- 44
^JXILTXKW ^KX KIEWEM LM \MJ A\MGEM------------------------------------ 40A\MGEKMLW LM CMLJ ---------------------------------------------------------------------------------- 42IJGXKW ----------------------------------------------------------------------------------------------------------- 45A\MGEKMLW WKHXLGJX@JDJW ------------------------------------------------------------------
Jihe`ldjdlw----------------------------------------------------------------------------------------------- Lmtxjdj dl gjxjgtlxlw------------------------------------------------------------------------------------- 0
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
7/60
GKMTLMEDK ER
Etlxjdkxlw-------------------------------------------------------------------------------------------------- 05Tjijk----------------------------------------------------------------------------------------------------- 05Lceiemjx lclilmtkw----------------------------------------------------------------------------------- 05H|wgjx lclilmtkw-------------------------------------------------------------------------------------- 2>Emwlxtjx lclilmtkw------------------------------------------------------------------------------------- 2>Gki~jxjgekmlw ----------------------------------------------------------------------------------------- 2>
Ij~---------------------------------------------------------------------------------------------------------------- 2:Wtxem` ------------------------------------------------------------------------------------------------------------- 28
Gkmwtx|gtkxlw-------------------------------------------------------------------------------------------- 28Etlxjdkxlw-------------------------------------------------------------------------------------------------- 27Jgglwk j |m gjxgtlx--------------------------------------------------------------------------------- 27Jwe`mjgem------------------------------------------------------------------------------------------------ 27Gkmqlxwekmlw j gjdlmjw lwteck G--------------------------------------------------------------- 24Gki~jxjgekmlw ----------------------------------------------------------------------------------------- 24Emwlxgem--------------------------------------------------------------------------------------------------- 2Ilikxej emw|aegelmtl------------------------------------------------------------------------------------- 57
A|mgem wlt[mlp[bjmdclx------------------------------------------------------------------------- 57K~lxjdkx dlcltl --------------------------------------------------------------------------------------------- 5:
DLAEMEGEM DL \MJ GCJWL------------------------------------------------------------------------ :>:Jtxeh|tkw-------------------------------------------------------------------------------------------------------- :>7Itkdkw dl |mj gcjwl------------------------------------------------------------------------------------- :>4Gkmtxkc dl jgglwk j ckw ielihxkw dl cj gcjwl------------------------------------------------ :>0Jgglwk ~xeqjdk----------------------------------------------------------------------------------------- :>0Jgglwk ~xktl`edk-------------------------------------------------------------------------------------- :>0
Gcjwlw lm aegblxkw dl gjhlglxj ---------------------------------------------------------------------- :>0
EI^CLILMTJGEM DL \MJ GCJWL----------------------------------------------------------- :::
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
8/60
R ^XK@XJIJGEM KXELMTJDJ J KHOLTKW GKM G&&ITKDKW WKHXLGJX@JDKW --------------------------------------------------------------------- ::4^JXILTXKW GKM QJCKXLW KX KIEWEM------------------------------------------ ::1EI^CLILMTJGEM DL \MJ J^CEGJGEM ----------------------------------------------- ::0LC ^\MTLXK EI^CGETK tbew ------------------------------------------------------------------------ ::2ITKDKW U KHOLTKW GKMWTJMTLW -------------------------------------------------------- :8>EMEGEJGEM DL \M KHOLTK------------------------------------------------------------------------- :88
Gkmwtx|gtkx---------------------------------------------------------------------------------------------------- :84Jwe`mjgem dl kholtkw------------------------------------------------------------------------------------ :82Gkmwtx|gtkx gk~ej ------------------------------------------------------------------------------------------ :85
DLWTX\GGEM DL KHOLTKW------------------------------------------------------------------------ :7>Dlwtx|gtkx------------------------------------------------------------------------------------------------------ :7:
^\MTLXKW GKIK JTXEH\TKW DL \MJ GCJWL-------------------------------------- :78IELIHXKW WTJTEG DL \MJ GCJWL ---------------------------------------------------------- :4:Jtxeh|tkw wtjteg ---------------------------------------------------------------------------------------------- :4:
Jggldlx j ckw jtxeh|tkw wtjteg ------------------------------------------------------------------------- :47Itkdkw wtjteg------------------------------------------------------------------------------------------------ :44
JTXEH\TKW Z\L WKM KHOLTKW------------------------------------------------------------------ :41GCJWLW EMTLXMJW----------------------------------------------------------------------------------------- :42EMTL@XEDJD DL CKW DJTKW ---------------------------------------------------------------------- :DLQKCQLX \M ^\MTLXK K \MJ XLALXLMGEJ-------------------------------------- :4Wkhxlgjx`j dl k~lxjdkxlw dl jwe`mjgem ------------------------------------------------------- 8>4
Wkhxlgjx`j dl k~lxjdkxlw jxetitegkw ----------------------------------------------------------- 8>0Jxetitegj iertj-------------------------------------------------------------------------------------------- 8>2Wkhxlgjx`j dl k~lxjdkxlw dl xlcjgem ----------------------------------------------------------- 8:>Itkdkw jdegekmjclw -------------------------------------------------------------------------------------- 8:>Wkhxlgjx`j dlc k~lxjdkx dl emwlxgem------------------------------------------------------------ 8::Wkhxlgjx`j dlc k~lxjdkx dl lrtxjggem---------------------------------------------------------- 8:4
WKHXLGJX@J DL K^LXJDKXLW \MJXEKW --------------------------------------------- 8:1Emgxlilmtk u dlgxlilmtk ------------------------------------------------------------------------------ 8:0
K~lxjdkxlw |mjxekw+hemjxekw -------------------------------------------------------------------------- 8:2
GKMQLXWEM DL TE^KW DLAEMEDKW KX LC \W\JXEK------------------------- 8:5
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
9/60
GKMTLMEDK RE
Gkmqlxwem ildejmtl gkmwtx|gtkxlw --------------------------------------------------------------- 88>K~lxjdkxlw dl gkmqlxwem ----------------------------------------------------------------------------- 88:Jihe`ldjdlw----------------------------------------------------------------------------------------------- 888Dlwtx|gtkxlw qext|jclw ------------------------------------------------------------------------------------ 7>1K~lxjdkx dumjieg[gjwt--------------------------------------------------------------------------------- 7>1K~lxjdkx tu~led--------------------------------------------------------------------------------------------- 7>5
^KCEIKXAEWIK---------------------------------------------------------------------------------------------- 7:>GCJWLW JHWTXJGTJW ---------------------------------------------------------------------------------- 78
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
10/60
REE ^XK@XJIJGEM KXELMTJDJ J KHOLTKW GKM G&&Xldlaemegem dl itkdkw dl hjwlw qext|jclw -------------------------------------------------- 774Gkmqlxwekmlw lmtxl gcjwlw------------------------------------------------------------------------------ 771
LOLXGEGEKW XLW\LCTKW ------------------------------------------------------------------------------ 770LOLXGEGEKW XK^\LWTKW---------------------------------------------------------------------------- 7
GJ^T\CK 1- ^CJMTECCJW------------------------------------------------------------------------------ 71Xlcjmjx |mj lrgl~gem--------------------------------------------------------------------------------- 4>0
GXLJX LRGL^GEKMLW----------------------------------------------------------------------------------- 4>0Lw~lgeaegjgem dl lrgl~gekmlw ---------------------------------------------------------------------- 4>2Lrgl~gekmlw mk lw~lxjdjw ----------------------------------------------------------------------------- 4>5
AC\OK DL LOLG\GEM----------------------------------------------------------------------------------- 4::G\MDK \TECE_JX LRGL^GEKMLW U G\MDK MK ------------------------------- 4:1JDZ\EWEGEM DL XLG\XWKW---------------------------------------------------------------------- 4:0
^|mtlxkw j|tkitegkw------------------------------------------------------------------------------------- 488LOLXGEGEKW XLW\LCTKW ------------------------------------------------------------------------------ 481LOLXGEGEKW XK^\LWTKW---------------------------------------------------------------------------- 478
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
11/60
GKMTLMEDK REEE
GJ^T\CK 2- AC\OKW---------------------------------------------------------------------------------------- 47DLWGXE^GEM DL CKW HALXLW U AC\OKW---------------------------------------------- 444
Gcjwl wtxljih|a --------------------------------------------------------------------------------------------- 444Gcjwl aeclh|a -------------------------------------------------------------------------------------------------- 44
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
12/60
REQ ^XK@XJIJGEM KXELMTJDJ J KHOLTKW GKM G&&Lrgc|wem i|t|j---------------------------------------------------------------------------------------
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
13/60
^XCK@K\m ~xk`xjij txjdegekmjc wl gki~kml dl ~xkgldeielmtkw u dl djtkw- \m ~xk`xjij
kxelmtjdk j kholtkw gkmwewtl wkcjilmtl lm kholtkw# lmtlmdelmdk ~kx kholtk |mj lm)
tedjd z|l telml |mkw jtxeh|tkw ~jxteg|cjxlw# ckw djtkw# u |mjw akxijw dl k~lxjx wk)
hxl lcckw# ckw itkdkw k ~xkgldeielmtkw-
Cj ~xk`xjijgem kxelmtjdj j kholtkw lw |mj dl cjw tgmegjw iw ikdlxmjw
z|l txjtj dl dewiem|ex lc gkwtl dlc wkatpjxl# j|ilmtjmdk cj laegelmgej lm cj ~xk)`xjijgem u xld|gelmdk lc teli~k mlglwjxek ~jxj lc dlwjxxkcck dl |mj j~cegjgem-
Gkm cj ~xk`xjijgem kxelmtjdj j kholtkw# ckw ~xk`xjijw telmlm ilmkw cmljw dl
gde`k# ilmkw wlmtlmgejw dl hea|xgjgem u id|ckw z|l wkm iw gki~xlmwehclw
~kxz|l xlaclojm dl |mj akxij gcjxj cj xlcjgem lrewtlmtl lmtxl gjdj gkmgl~tk j dlwj)
xxkccjx u gjdj kholtk z|l emtlxqelml lm degbk dlwjxxkcck- Dkmdl cj ~xk`xjijgem
kxelmtjdj j kholtkw tkij qlxdjdlxj qlmtjoj lw lm cj gki~jxtegem u xl|tecejgem
dlc gde`k-
Wem lihjx`k# mk dlhl ~lmwjxwl z|l cj ~xk`xjijgem kxelmtjdj j kholtkw xl)
w|lcql tkdkw ckw ~xkhclijw dl |mj akxij wlmgeccj u x~edj- ^jxj gkmwl`|ex h|lmkwxlw|ctjdkw# lw ~xlgewk dldegjx |m teli~k we`meaegjteqjilmtl w|~lxekx jc jmcewew u
jc dewlk- ^lxk# wtl mk lw |m teli~k ~lxdedk# uj z|l wei~ceaegjx lmkxililmtl cj
xljcejgem dl j~cegjgekmlw a|t|xjw-
Wl`m ck lr~|lwtk# cjw qlmtjojw dl cj ~xk`xjijgem kxelmtjdj j kholtkw wkm
w|wtjmgejclw- Mk khwtjmtl# tjihem ~xlwlmtj emgkmqlmelmtlw6 ~kx loli~ck# cj lolg|)
gem dl |m ~xk`xjij mk `jmj lm qlckgedjd u khce`j jc |w|jxek j j~xlmdlxwl |mj
ji~cej hehcektlgj dl gcjwlw jmtlw dl li~ljx j ijme~|cjx |m clm`|jol kxelmtjdk j
kholtkw-
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
14/60
RQE ^XK@XJIJGEM KXELMTJDJ J KHOLTKW GKM G&&Lrewtlm qjxekw clm`|jolw z|l ~lxietlm lwgxehex |m ~xk`xjij kxelmtjdk j khol)
tkw u lmtxl lcckw wl lmg|lmtxj G&&- Wl txjtj dl |m clm`|jol dl ~xk`xjijgem hjwj)
dk lm lc clm`|jol G# lwtjmdjxejdk "EWK+ELG :4228?:552 Emtlxmjtekmjc
Kx`jmezjtekm akx Wtjmdjxdezjtekm+Emtlxmjtekmjc Lclgtxktlgbmegjc Gkiiewwekm% u
ji~cejilmtl dea|mdedk- @xjgejw j lwtj lwtjmdjxejgem u j cj hehcektlgj lwtmdjx#
G&& wl bj gkmqlxtedk lm |m clm`|jol ~ktlmtl# laegelmtl u wl`|xk# gjxjgtlxwtegjw
z|l bjm blgbk dl G&& |m clm`|jol |meqlxwjc dl ~xk~wetk `lmlxjc ji~cejilmtl
|tecejdk# tjmtk lm lc ihetk ~xkalwekmjc gkik lm lc ld|gjteqk# u gki~lteteqk axlm)
tl j ktxkw clm`|jolw gkik G' dl Iegxkwkat k Ojqj dl W|m Iegxkwuwtliw- Lqedlm)
tlilmtl# jc`|mjw m|lqjw gjxjgtlxwtegjw z|l wl bjm emgkx~kxjdk j G' k j Ojqj mk
lwtm wk~kxtjdjw lm cj jgt|jcedjd# gkik lw lc gjwk dl cj xlgkclggem dl hjw|xj6 mk
khwtjmtl# lrewtlm lrglclmtlw xlgkclgtkxlw dl hjw|xj dl G& tjmtk gkilxgejclw gk)
ik `xjt|etkw# z|l xlw|lcqlm lwtl ~xkhclij- Ktxk a|t|xk dlwjxxkcck ~xlqewtk lw cjji~cejgem dl cj hehcektlgj lwtmdjx ~jxj dlwjxxkccjx j~cegjgekmlw gkm emtlxaj `x)
aegj dl |w|jxek-
Lc cehxk# lm w| tktjcedjd# lwt dldegjdk jc j~xlmdejol dl cj ~xk`xjijgem
kxelmtjdj j kholtkw u jc dlwjxxkcck dl j~cegjgekmlw- ^kx ck tjmtk# wl w|~kml z|l we
|wtld bj lcl`edk lwtl cehxk lw ~kxz|l uj ~kwll gkmkgeielmtkw dlc clm`|jol G+G&&-
We mk a|lxj jw# z|ew dlhelxj li~ljx ~kx cllxwl G+G&& ) G|xwk dl ~xk`xjij)
gem# k helm lcl`ex |mk z|l emgc|uj jihjw ~jxtlw# clm`|jol G+G&& u ~xk`xjijgem
kxelmtjdj j kholtkw# gkik w|gldl gkm cj Lmgegck~ldej dl G& jihkw lwgxetkw
tjihem ~kx ie- Tkdkw ckw tlijw txjtjdkw lm lc cehxk wl bjm dkg|ilmtjdk gkm
jh|mdjmtlw ~xkhclijw xlw|lctkw-
Lwtj g|jxtj ldegem a|l lwgxetj |tecejmdk emdewtemtjilmtl ckw gki~ecjdkxlw
z|l w|hujglm hjok ckw lmtkxmkw dl dlwjxxkcck Dlq)G&& u Iegxkwkat Qew|jc G&&
8>>< Lr~xlww "qjmwl ckw j~mdeglw H u G%- Lm lc ~xeilx gjwk wl txjtj dl |m gki)
~ecjdkx @GG ~jxj Pem78 "|m gki~ecjdkx dl G+G&& dl cj gkclggem dl gki~ecjdk)
xlw @M\% dl cehxl dewtxeh|gem z|l g|i~cl cj mkxij EWK+ELG :4228# dlc g|jc
lrewtlm qlxwekmlw ~jxj ~xgtegjilmtl tkdkw ckw wewtlijw k~lxjteqkw- Lm lc wl`|mdk
gjwk wl txjtj dlc gki~ecjdkx dl G+G&& dl Iegxkwkat z|l tjihem g|i~cl lc lwtm)djx- Jihkw lmtkxmkw dl dlwjxxkcck wl ~|ldlm khtlmlx dl akxij `xjt|etj lm Emtlx)
mlt- ^kx ck tjmtk# ckw loli~ckw dl lwtl cehxk lwtm lwgxetkw lm G&& ~|xk# tjc u gkik
wl dlaeml lm lc lwtmdjx G& ck z|l `jxjmtejx z|l wl lolg|tlm lm g|jcz|elx ei)
~clilmtjgem z|l wl jo|wtl j lwtl lwtmdjx# z|l lm cj jgt|jcedjd# gjwe gkm jhwkc|tj
wl`|xedjd# wlxm cj tktjcedjd dl cjw lrewtlmtlw- ^kx loli~ck# lc j|tkx ~xkh cj ij)
ukxj dl ckw dlwjxxkcckw hjok ckw LDEDlq)G&& u Iegxkwkat Qew|jc G&& 8>>< Lr)
~xlww# u tjihem wkhxl cj ~cjtjakxij Cem|r# ~jxj gkmwl`|ex |m gde`k ck iw
~kxtjhcl ~kwehcl-
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
15/60
^XCK@K RQEE
J`xjdlgeielmtkw
Lm cj ~xl~jxjgem dl lwtj g|jxtj ldegem z|elxk# lm lw~lgejc# lr~xlwjx ie j`xjdl)geielmtk j ie gkcl`j Ijm|lc ^lemjdk @jccl`k# gkm |mj ji~cej lr~lxelmgej lmdlwjxxkcckw gkm G& ~kxz|l xlqew cj tlxglxj ldegem dl lwtl cehxk u ~kx w|w j~kx)
tjgekmlw j lwtj m|lqj ldegem6 j wgjx @jxgj ^khcjgem u Lclmj Gji~k Ikm)tjcqk# z|l xlqewjxkm lc gj~t|ck wkhxl beckw u j~kxtjxkm edljw u w|`lxlmgejw z|lil ju|djxkm j xljcejx |m ilokx dlwjxxkcck6 j Wlhjwtem Wmgblz ^xeltk# j|tkxdl qjxekw cehxkw wkhxl wewtlijw k~lxjteqkw# ~kxz|l# jdliw dl w|~lxqewjx lc gj~t|)
ck wkhxl beckw# weli~xl lwt|qk dew~|lwtk j xlwkcqlx cjw ~xl`|mtjw z|l cl ~cjmtl6 j
Emijg|cjdj Xkdx`|lz Wjmtej`k u I Dkckxlw Xkdx`|lz Ikxlmk# z|l ~|m)t|jcejxkm wkhxl cjw ikdeaegjgekmlw z|l dlhj bjglx j cj wl`|mdj ldegem ~jxj ccl)
`jx j |mj tlxglxj- Tkdkw lcckw wkm k a|lxkm ~xkalwkxlw dl cj \meqlxwedjd dlJcgjc# gkm |mj ji~cej lr~lxelmgej wkhxl cj ijtlxej z|l txjtj lc cehxk- Aemjcilm)
tl# mk z|elxk kcqedjxil dlc xlwtk dl iew gki~jlxkw# j|mz|l mk getl w|w mki)
hxlw# ~kxz|l tkdkw lcckw# dl akxij dexlgtj k emdexlgtj# il ju|djxkm gkm cj gxtegj
gkmwtx|gteqj z|l begelxkm wkhxl cjw ldegekmlw jmtlxekxlw# u tji~kgk dl iew jc|i)
mkw z|l gkm w| emtlxw ~kx j~xlmdlx il bjglm xlaclrekmjx wkhxl cj akxij iw jdl)
g|jdj dl txjmwietex lwtkw gkmkgeielmtkw6 j tkdkw lcckw clw lwtku axjmgjilmtl
j`xjdlgedk-
Axjmgewgk Ojqelx Glhjcckw Welxxjbtt~?++ppp-aoglhjcckw-lw+
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
16/60
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
17/60
J^MDEGL JA-O-Glhjcckw+XJ)IJ
CJ HEHCEKTLGJ DL G
Cj hehcektlgj dl G ~|ldl wlx |tecejdj tjihem dlwdl |m ~xk`xjij G&&- ^kx
loli~ck# gkm axlg|lmgej jc`|mkw ~xk`xjijdkxlw ~xlaelxlm |tecejx cjw a|mgekmlw dl
L+W dl G# z|l wl lmg|lmtxjm lm wtdek-b "gwtdek lm cj hehcektlgj dl G&& lwtmdjx%#
~kx wlx iw ajiecejxlw- Lm lwtl gjwk# gkm cj ccjijdj j wumg[petb[wtdek"ajcwl% dl
cj gcjwl ekw[hjwl jmtlw dl cj ~xeilxj k~lxjgem dl L+W ~|ldl dlwjgteqjx cj wemgxk)
mejgem dl cjw a|mgekmlw ekwtxlji gkm cjw a|mgekmlw gwtdek# z|l ~kx kiewem lwt
jgteqjdj- Lwtj a|mgem xltkxmj lc ikdk dl wemgxkmejgem "tx|l k ajcwl% ~xlqek-
hkkc wumg[petb[wtdek"hkkc wumg 9 tx|l%6
G|jmdk cj wemgxkmejgem lwt dlwjgteqjdj "wumg 9 ajcwl%# cjw k~lxjgekmlw dl
L+W gkm gem# gk|t# glxx u gck` wl xljcejm |tecejmdk |m halx dl te~k aeclh|au cjw
k~lxjgekmlw gkm wtdem# wtdk|t# u wtdlxx wl xljcejm |tecejmdk |m halx dl te~k
wtdekh|a6 lwtk lw# ckw ac|okw ekwtxlji u ckw ac|okw gwtdek k~lxjm emdl~lmdelmtl# ck
g|jc ~|ldl ilokxjx cj lolg|gem ~lxk wem `jxjmtejx cj wemgxkmejgem- Lm gjihek#
g|jmdk bju wemgxkmejgem "wumg 9 tx|l%# tkdkw ckw ac|okw |tecejm lc iewik halx#
z|l lw wtdekh|a- Lc we`|elmtl loli~ck cl ~lxietex gki~xkhjx cj wemgxkmejgem lmk~lxjgekmlw dl L+W?
++ Gki~xkhjx we wumg[petb[wtdek"tx|l% txjhjoj'emgc|dl 3gwtdek='emgc|dl 3ekwtxlji=|wem` mjilw~jgl wtd6
emt ijem"%v+/:- Z| wl lwgxehl lm tlwt-trt g|jmdk wl emqkgj j
wumg[petb[wtdek gkm lc jx`|ilmtk tx|l;8- U gkm lc jx`|ilmtk ajcwl;
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
18/60
6 e 3 86 e&&%v~xemta"(:(%6gk|t 33 (8(6~|tg"7# wtdk|t%6gk|t 33 46a~|tw"(
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
19/60
J^MDEGL J? CJ HEHCEKTLGJ DL G 6ackjt ~lwk 9 >6
++ ---
~xemta"(Telml ,| jkw u ~lwj ,` feckwSm(# ldjd# ~lwk%6
jx`|ilmtk Xl~xlwlmtj lc qjckx k qjckxlw j lwgxehex- Gjdj jx`|ilmtk dlhl tlmlxw| gkxxlw~kmdelmtl lw~lgeaegjgem dl akxijtk u lm lc iewik kxdlm-
~xemta"(Telml ,| jkw u ~lwj ,` feckwSm(# ldjd# ~lwk%6
\mj lw~lgeaegjgem dl akxijtk lwt gki~|lwtj ~kx?
,Vacj`wYVjmgbkYV-~xlgewemYVvbscsCyYte~k
\mj lw~lgeaegjgem dl akxijtk weli~xl gkielmj gkm ,- Lc we`meaegjdk dl
gjdj |mk dl ckw lclilmtkw wl emdegj j gkmtem|jgem?
acj`w we`meaegjdk
O|wteaegj lc xlw|ctjdk j cj ez|elxdj# dlmtxk dlc jmgbk lw~lgeaegjdk-^kx dlalgtk cj o|wteaegjgem wl bjgl j cj dlxlgbj-
& Jmtl~kml lc we`mk & k jc qjckx dl wjcedj- ^kx dlalgtk wck wl ~kml
we`mk j ckw qjckxlw ml`jteqkw-
> Xlcclmj cj wjcedj gkm glxkw mk we`meaegjteqkw bjwtj jcgjmjx lc jmgbkimeik lw~lgeaegjdk-
hcjmgk Jmtl~kml |m lw~jgek lm hcjmgk jc qjckx dl wjcedj we lw ~kweteqk- We wl
|tecej o|mtk gkm lmtkmglw wl e`mkxj-
' G|jmdk wl |tecej gkm cj lw~lgeaegjgem dl akxijtk k# r k R# jmtl~kml
jc qjckx dl wjcedj ># >r k >R# xlw~lgteqjilmtl-
G|jmdk wl |tecej gkm cj lw~lgeaegjgem dl akxijtk l# L k a# a|lxj j
z|l lc qjckx dl wjcedj gkmtlm`j |m ~|mtk dlgeijc lm tkdkw ckw gjwkw-
G|jmdk wl |tecej gkm cj lw~lgeaegjgem dl akxijtk ` k @# a|lxj j
z|l lc qjckx dl wjcedj gkmtlm`j |m ~|mtk dlgeijc lm tkdkw ckw gjwkw ulqetj z|l ckw glxkw jxxjwtxjdkw wljm tx|mgjdkw- Wl e`mkxj gkmg# d# e# |
k w-
lw~lgeaegjgekmlw dl akxijtk
gjxjgtlxlw kxdemjxekw wlg|lmgej dl lwgj~l
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
20/60
^XK@XJIJGEM KXELMTJDJ J KHOLTKW GKM G&&
jmgbk Imeik milxk dl ~kwegekmlw ~jxj cj wjcedj- We lc qjckx j lwgxehex
kg|~j iw ~kwegekmlw dl cjw lw~lgeaegjdjw# lc jmgbk lw emgxlilmtjdk
lm ck mlglwjxek-
~xlgewem Lc we`meaegjdk dl~lmdl dlc te~k dl cj wjcedj-
te~k Lw |mk dl ckw we`|elmtlw gjxjgtlxlw?
gjxgtlx wjcedj
d "emt% lmtlxkw gkm we`mk lm hjwl :>-
e "emt% lmtlxkw gkm we`mk lm hjwl :>-
| "emt% lmtlxkw wem we`mk lm hjwl :>-
k "emt% lmtlxkw wem we`mk lm hjwl2-
r "emt% lmtlxkw wem we`mk lm hjwl :1 ">:---jhgdla%-R "emt% lmtlxkw wem we`mk lm hjwl :1 ">:---JHGDLA%-
a "dk|hcl% qjckx gkm we`mk dl cj akxij? VYdddd-dddd- Lc milxk dl
d`etkw jmtlw dlc ~|mtk dlgeijc dl~lmdl dl cj ij`met|d dlc milxk u
lc milxk dl dlgeijclw dl cj ~xlgewem# cj g|jc lw 1 ~kx dlalgtk-
l "dk|hcl% qjckx gkm we`mk# dl cj akxij VYd-ddddlVYddd-
L "dk|hcl% qjckx gkm we`mk# dl cj akxij VYd-ddddLVYddd-
` "dk|hcl% qjckx gkm we`mk# lm akxijtk a k l "lc z|l wlj iw gki~jgtk
~jxj lc qjckx u ~xlgewem djdkw%-
@ "dk|hcl% e`|jc z|l `# lrgl~tk z|l @ emtxkd|gl lc lr~kmlmtl L lm qldl l-
g "emt% |m wkck gjxgtlx# gkxxlw~kmdelmtl jc hutl ilmkw we`meaegjteqk-
w "gjdlmj dl gjxjgtlxlw% lwgxehex |mj gjdlmj dl gjxjgtlxlw bjwtj lc
~xeilx gjxgtlx m|ck "'S>'%-
Loli~ck?
'emgc|dl 3gwtdek=emt ijem"%
vemt j 9 :874
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
21/60
J^MDEGL J? CJ HEHCEKTLGJ DL G
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
22/60
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
23/60
J^MDEGL J? CJ HEHCEKTLGJ DL G # :1 | 2- We lc lmtlxk
gkielmj gkm >#wl tkij lc qjckx lm kgtjc u we li~el)
j gkm >r k >R#lc qjckx wl tkij lm blrjdlgeijc-
| |mwe`mld emt lmtlxkw wem we`mk lm hjwl :>-
a
l# L
`# @ ackjt qjckx gkm we`mk dl cj akxij VYd-ddddVvlsLyVYdddY
g gbjx |m wkck gjxgtlx-
w gbjx gjdlmj dl gjxjgtlxlw-
`ltgbjx
Cllx |m gjxgtlx dl cj lmtxjdj lwtmdjx "wtdem%-
'emgc|dl 3gwtdek=emt `ltgbjx"qked%6
gbjx gjx6gjx 9 `ltgbjx"%6
~|tgbjx
Lwgxehex |m gjxgtlx lm cj wjcedj lwtmdjx "wtdk|t%-
'emgc|dl 3gwtdek=emt ~|tgbjx"emtg%6
~|tgbjx"Sm%6~|tgbjx"gjx%6
`ltw
Cllx |mj gjdlmj dl gjxjgtlxlw dl wtdem-
'emgc|dl 3gwtdek=gbjx /`ltw"gbjx /qjx%6
gbjx mkihxlV4:Y6`ltw"mkihxl%6~xemta"(,wSm(# mkihxl%6
~|twLwgxehex |mj gjdlmj dl gjxjgtlxlw lm wtdk|t-
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
24/60
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
25/60
J^MDEGL J? CJ HEHCEKTLGJ DL G we cj gjdlmj: lw e`|jc j cj gjdlmj8 u
=> we cj gjdlmj: lw ijukx z|l cj gjdlmj8-
Dealxlmgej cjw cltxjw ijuwg|cjw dl cjw iemwg|cjw-
'emgc|dl 3gwtxem`=emt wtxgi~"gkmwt gbjx /gjdlmj:# gkmwt gbjx /gjdlmj8%6
xlw| 9 wtxgi~"gjdlmj:# gjdlmj8%6
wtxgw~m
Dj gkik xlw|ctjdk cj ~kwegem "w|hmdegl% dlc ~xeilx gjxgtlx dl gjdlmj:# z|l
~lxtlmlgl jc gkmo|mtk dl gjxjgtlxlw gkmtlmedkw lm gjdlmj8-
'emgc|dl 3gwtxem`=wel[t wtxgw~m"gkmwt gbjx /gjdlmj:# gkmwt gbjx /gjdlmj8%6
~kw 9 wtxgw~m"gjdlmj# (jhg(%6
wtxclm
Dlq|lcql cj ckm`et|d lm hutlw dl gjdlmj# mk emgc|ulmdk lc gjxgtlx dl tlxiemj)
gem m|ck- Lc te~k wezl[t lw wemmeik dl |mwe`mld emt-
'emgc|dl 3gwtxem`=wel[t wtxclm"gbjx /gjdlmj%6
gbjx gjdlmjV2>Y 9 (Bkcj(6~xemta"(Lc tjijk dl gjdlmj lw ,dSm(# wtxclm"gjdlmj%%6
wtxmgjt
Jjdl ckw ~xeilxkw m gjxjgtlxlw dl gjdlmj8 j cj gjdlmj:# tlxiemj cj gjdlmj xl)
w|ctjmtl gkm lc gjxgtlx m|ck u dlq|lcql |m ~|mtlxk j gjdlmj:-
'emgc|dl 3gwtxem`=gbjx /wtxmgjt"gbjx /gjdlmj:# gkmwt gbjx /gjdlmj8# wel[t m%6
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
26/60
we cj gjdlmj: lw ilmkx z|l cj gjdlmj8#
9> we cj gjdlmj: lw e`|jc j cj gjdlmj8 u
=> we cj gjdlmj: lw ijukx z|l cj gjdlmj8-
'emgc|dl 3gwtxem`=emt wtxmgi~"gkmwt gbjx /gjdlmj:# gkmwt gbjx /gjdlmj8# wel[t m%6
wtxw~m
Dj gkik xlw|ctjdk cj ~kwegem "w|hmdegl% dlc ~xeilx gjxgtlx dl gjdlmj:# z|l mk
~lxtlmlgl jc gkmo|mtk dl gjxjgtlxlw gkmtlmedkw lm gjdlmj8-
'emgc|dl 3gwtxem`=wel[t wtxw~m"gkmwt gbjx /gjdlmj:# gkmwt gbjx /gjdlmj8%6
wtxwtx
Dlq|lcql |m ~|mtlxk j cj ~xeilxj kg|xxlmgej dl gjdlmj8 lm gjdlmj: k |m qjckx
M\CC we cj gjdlmj8 mk wl lmg|lmtxj lm cj gjdlmj:-
'emgc|dl 3gwtxem`=gbjx /wtxwtx"gkmwt gbjx /gjdlmj:# gkmwt gbjx /gjdlmj8%6
wtxtkf
^lxietl khtlmlx dl cj gjdlmj: ckw lclilmtkw lm ckw z|l wl deqedl wl`m ckw dlce)
ietjdkxlw lw~lgeaegjdkw lm gjdlmj8-
^jxj khtlmlx lc ~xeilx lclilmtk# wtxtkf dlhl tlmlx gjdlmj: gkik ~xeilx jx)`|ilmtk u ~jxj khtlmlx ckw we`|elmtlw lclilmtkw# dlhl tlmlx M\CC- Gjdj ccjij)
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
27/60
J^MDEGL J? CJ HEHCEKTLGJ DL G
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
28/60
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
29/60
J^MDEGL J? CJ HEHCEKTLGJ DL G j # g|uk gkwlmk lwr- Lc qjckx dlr dlhllwtjx lmtxl : u :6 dl ck gkmtxjxek wl khtelml |m lxxkx "jx`|ilmtk a|lxj dlc dkie)
mek dl cj a|mgem%-
'emgc|dl 3gijtb=dk|hcl jgkw"dk|hcl r%6
jwem
Dj gkik xlw|ctjdk lc jxgk# lm lc xjm`k +8 j +8# g|uk wlmk lwr- Lc qjckx dlr
dlhl lwtjx lmtxl : u :6 we mk wl khtelml |m lxxkx "jx`|ilmtk a|lxj dlc dkiemek dl
cj a|mgem%-
'emgc|dl 3gijtb=dk|hcl jwem"dk|hcl r%6
jtjm
Dj gkik xlw|ctjdk lc jxgk# lm lc xjm`k +8 j +8# g|uj tjm`lmtl lwr-
'emgc|dl 3gijtb=dk|hcl jtjm"dk|hcl r%6
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
30/60
^XK@XJIJGEM KXELMTJDJ J KHOLTKW GKM G&&
jtjm8
Dj gkik xlw|ctjdk lc jxgk# lm lc xjm`k j # g|uj tjm`lmtl lwu+r- We jihkw jx)`|ilmtkw wkm ># wl khtelml |m lxxkx "jx`|ilmtk a|lxj dlc dkiemek dl cj a|mgem%-
'emgc|dl 3gijtb=dk|hcl jtjm8"dk|hcl u# dk|hcl r%6
gkw
Dj gkik xlw|ctjdk lc gkwlmk dlr "r lm xjdejmlw%-
'emgc|dl 3gijtb=dk|hcl gkw"dk|hcl r%6
wem
Dj gkik xlw|ctjdk lc wlmk dlr "r lm xjdejmlw%-
'emgc|dl 3gijtb=dk|hcl wem"dk|hcl r%6
tjm
Dj gkik xlw|ctjdk cj tjm`lmtl dlr "r lm xjdejmlw%-
'emgc|dl 3gijtb=dk|hcl tjm"dk|hcl r%6
gkwb
Dj gkik xlw|ctjdk lc gkwlmk be~lxhcegk dlr "r lm xjdejmlw%-
'emgc|dl 3gijtb=dk|hcl gkwb"dk|hcl r%6
wemb
Dj gkik xlw|ctjdk lc wlmk be~lxhcegk dlr "r lm xjdejmlw%-
'emgc|dl 3gijtb=
dk|hcl wemb"dk|hcl r%6
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
31/60
J^MDEGL J? CJ HEHCEKTLGJ DL G "dk|hcl r%6
glec
Dj gkik xlw|ctjdk |m qjckx dk|hcl# z|l xl~xlwlmtj lc lmtlxk iw ~lz|lk z|l lw
ijukx k e`|jc z|lr-
'emgc|dl 3gijtb=dk|hcl glec"dk|hcl r%6
dk|hcl r 9 8-2# u 9 )8-26~xemta"(,` ,`Sm(# glec"r%# glec"u%%6 ++ xlw|ctjdk? 7 )8
ajhw
Dj gkik xlw|ctjdk lc qjckx jhwkc|tk dlr- Lc jx`|ilmtkr lw |m qjckx xljc lm dk)hcl ~xlgewem- E`|jcilmtl# jhw u cjhw djm lc qjckx jhwkc|tk dl |m emt u |m ckm`
xlw~lgteqjilmtl-
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
32/60
lu ml`jteqk k wer lu wkm > k wer lw ml`jteqk lu
mk lw lmtlxk# wl khtelml |m lxxkx "jx`|ilmtk a|lxj dlc dkiemek dl cj a|mgem%- We
rudj |m xlw|ctjdk w|~lxekx jc qjckx cietl ~jxj lc te~k dk|hcl# lc xlw|ctjdk lw lwtl
qjckx cietl ":-05015l&7>2%-
'emgc|dl 3gijtb=
dk|hcl ~kp"dk|hcl r# dk|hcl u%6
dk|hcl r 9 8-2# u 9 )8-26~xemta"(,`Sm(# ~kp"r# u%%6 ++ xlw|ctjdk? >-> u XJMD[IJR
"78010%-
'emgc|dl 3gwtdceh=emt xjmd"qked%6
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
33/60
J^MDEGL J? CJ HEHCEKTLGJ DL G
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
34/60
2 :8?>:?85 8>:>SmS>
'emgc|dl 3gteil=gbjx /gteil"gkmwt teil[t /wl`%6
Lwtj a|mgem dlq|lcql |m ~|mtlxk j cj gjdlmj dl gjxjgtlxlw xlw|ctjmtl k |m
~|mtlxk m|ck we wl`xl~xlwlmtj |m djtk jmtlxekx jc : dl lmlxk dl :50>- ^kx loli~ck#
lc we`|elmtl ~xk`xjij ~xlwlmtj cj algbj jgt|jc u# j gkmtem|jgem# `lmlxj gemgk m)ilxkw wl|dkjcljtkxekw# |mk gjdj wl`|mdk-
+////////// @lmlxjx |m milxk jcljtkxek gjdj wl`|mdk //////////+'emgc|dl 3gwtdek='emgc|dl 3gwtdceh='emgc|dl 3gteil=emt ijem"%vckm` r# ti6teil[t wl`|mdkw6
teil"!wl`|mdkw%6~xemta"(Sm,wSm(# gteil"!wl`|mdkw%%6wxjmd""|mwe`mld%teil"M\CC%%6
akx "r 9 :6 r 39 bkxjw dlc : dl lmlxk dl
:50># qjckx khtlmedk ~kx cj a|mgem teil# j cj algbj u bkxj gkxxlw~kmdelmtl "gk)
xxl`edj lm a|mgem dl cj kmj bkxjxej lm cj z|l mkw lmgkmtxlikw%- Lc xlw|ctjdk lw
jcijglmjdk lm |mj lwtx|gt|xj dl te~k ti# dlaemedj lm gteil-
'emgc|dl 3gteil=wtx|gt ti /ckgjcteil"gkmwt teil[t /wl`%6
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
35/60
J^MDEGL J? CJ HEHCEKTLGJ DL G ) >%-
ti[pdju Dj dl cj wlijmj "> ) 16 dkiem`k 9 >%-ti[udju Dj dlc jk "> ) 71%-
Lc we`|elmtl loli~ck i|lwtxj gik wl |tecej lwtj a|mgem-
'emgc|dl 3gwtdek='emgc|dl 3gteil=emt ijem"%vwtx|gt ti /ab6
teil[t wl`|mdkw6teil"!wl`|mdkw%6ab 9 ckgjcteil"!wl`|mdkw%6~xemta"(,d bkxjw# ,d iem|tkwSm(# ab)=ti[bk|x# ab)=ti[iem%6
y
Cj a|mgem ckgjcteil |tecej |mj qjxejhcl dl te~k wtjteg wtx|gt ti ~jxj xljcejx
cj gkmqlxwem u ck z|l dlq|lcql lw cj dexlggem dl lwj qjxejhcl-
IJME^\CJX HCKZ\LW DL ILIKXEJiliwlt
^lxietl emegejx |m hckz|l dl ilikxej-
'emgc|dl 3gwtxem`=qked /iliwlt"qked /dlwtemk# emt h# wel[t mhutlw%6
Lc jx`|ilmtk dlwtemk lw cj dexlggem dlc hckz|l dl ilikxej z|l wl dlwlj eme)
gejx# h lw lc qjckx li~cljdk ~jxj emegejx gjdj hutl dlc hckz|l u mhutlw lw lc mil)xk dl hutlw dlc hckz|l z|l wl emegejxm- ^kx loli~ck# lc we`|elmtl gde`k emegej j
glxk cj ijtxe j?
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
36/60
YV:>Y6++ ---iliwlt"j# ># welka"j%%6
ilig~u
Gk~ej |m hckz|l dl ilikxej lm ktxk-
'emgc|dl 3gwtxem`=qked /ilig~u"qked /dlwtemk# gkmwt qked /kxe`lm# wel[t mhutlw%6
Lc jx`|ilmtk dlwtemk lw cj dexlggem dlc hckz|l dl ilikxej dlwtemk dl ckw dj)
tkw# kxe`lm lw cj dexlggem dlc hckz|l dl ilikxej kxe`lm dl ckw djtkw u mhutlw lw
lc milxk dl hutlw z|l wl gk~ejxm dlwdl lc kxe`lm jc dlwtemk- ^kx loli~ck# lc we)
`|elmtl gde`k gk~ej cj ijtxe j lm h?
dk|hcl jV:>YV:>Y# hV:>YV:>Y6++ ---ilig~u"h# j# welka"j%%6
iligi~
Gki~jxj hutl j hutl dkw hckz|lw dl ilikxej-
'emgc|dl 3gwtxem`=emt iligi~"qked /hi:# gkmwt qked /hi8# wel[t mhutlw%6
Ckw jx`|ilmtkw hi: u hi8 wkm cjw dexlggekmlw dl ckw hckz|lw dl ilikxej j
gki~jxjx u mhutlw lw lc milxk dl hutlw z|l wl gki~jxjxm- Lc xlw|ctjdk dlq|lc)
tk ~kx cj a|mgem lw lc iewik z|l wl lr~|wk ~jxj wtxgi~- ^kx loli~ck# lc we`|elm)
tl gde`k gki~jxj cj ijtxe j gkm cj h?
dk|hcl jV:>YV:>Y# hV:>YV:>Y6++ ---ea "iligi~"j# h# welka"j%% 99 >%~xemta"(Cjw ijtxeglw j u h gkmtelmlm ckw iewikw djtkwSm(%6
lcwl~xemta"(Cjw ijtxeglw j u h mk gkmtelmlm ckw iewikw djtkwSm(%6
JWE@MJGEM DEMIEGJ DL ILIKXEJ
ijcckg
^lxietl jwe`mjx |m hckz|l dl ilikxej dl mhutlw gkmwlg|teqkw lm ilikxej ~jxj
jcijglmjx |mk k iw kholtkw dl |m te~k g|jcz|elxj- Lwtj a|mgem dlq|lcql |m ~|m)
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
37/60
J^MDEGL J? CJ HEHCEKTLGJ DL G # jwe`mj |m hckz|l dl tjijk > dlqkcqelmdk |m ~|mtlxk
qcedk-
'emgc|dl 3gwtdceh=qked /ijcckg"wezl[tmhutlw%6
axll
^lxietl cehlxjx |m hckz|l dl ilikxej jwe`mjdk ~kx cjw a|mgekmlw ijcckg# gjcckg k
xljcckg "wtjw dkw cteijw# cjw qlxlikw j gkmtem|jgem%# ~lxk mk ~kml lc ~|mtlxk j
M\CC- We lc ~|mtlxk z|l xlalxlmgej lc hckz|l dl ilikxej z|l dlwljikw cehlxjxlw m|ck# cj a|mgem axll mk bjgl mjdj-
'emgc|dl 3gwtdceh=qked axll"qked /q~|mtlxk%6
xljcckg
^lxietl gjihejx lc tjijk dl |m hckz|l dl ilikxej ~xlqejilmtl jwe`mjdk-
'emgc|dl 3gwtdceh=qked /xljcckg"qked /~Hckili# wezl[tmHutlw%6
~Hckili mHutlw Jggem
M\CC > Jwe`mj > hutlw "e`|jc z|l ijcckg%-
M\CC Dewtemtk dl > Jwe`mj mHutlw hutlw "e`|jc z|l ijcckg%- We
mk lw ~kwehcl# dlq|lcql M\CC-
Dewtemtk dl M\CC > Dlq|lcql M\CC u cehlxj lc hckz|l kxe`emjc-
Dewtemtk dl M\CC Dewtemtk dl > Xljwe`mj mHutlw hutlw- Lc gkmtlmedk dlc
lw~jgek gkmwlxqjdk mk gjihej- We cj xljwe`)mjgem mk lw ~kwehcl# dlq|lcql M\CC u lc
hckz|l kxe`emjc mk gjihej-
AEGBLXKW
ak~lm
^lxietl gxljx |m ac|ok dlwdl |m aegblxk# bjgej |m aegblxk k helm dlwdl u bjgej |maegblxk- Lm txiemkw iw wei~ceaegjdkw# ~lxietl jhxex |m aegblxk ~jxj cllx# ~jxj
lwgxehex k ~jxj cllx u lwgxehex-
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
38/60
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
39/60
J^MDEGL J? CJ HEHCEKTLGJ DL G -
'emgc|dl 3gwtdek=emt alka"AECL /~a%6
pbecl "*alka"~a%% ++ ielmtxjw mk wl ccl`|l jc aemjc dlc aegblxkv++ Cllx jz| lc we`|elmtl xl`ewtxk dlc aegblxk
yagckwl"~a%6
atlcc
Dlq|lcql cj ~kwegem jgt|jc lm lc aegblxk jwkgejdk gkm~adlc ~|mtlxk dl C+L# k
helm lc qjckx :C we kg|xxl |m lxxkx- Lwtj ~kwegem lw xlcjteqj jc ~xemge~ek dlc ae)
gblxk-
'emgc|dl 3gwtdek=ckm` atlcc"AECL /~a%6
awllf
I|lql lc ~|mtlxk dl C+L dlc aegblxk jwkgejdk gkm~a j |mj m|lqj ckgjcejgemdlw~cjjdj dlw~ hutlw "|m qjckx ~kweteqk jqjmj lc ~|mtlxk u |m qjckx ml`jteqk ck
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
40/60
^XK@XJIJGEM KXELMTJDJ J KHOLTKW GKM G&&
xltxkgldl% dl cj ~kwegem lw~lgeaegjdj ~kx lc jx`|ilmtk~kw# cj g|jc ~|ldl wlx |mj
dl cjw we`|elmtlw?
WLLF[WLT Bjgl xlalxlmgej j cj ~xeilxj ~kwegem lm lc aegblxk-
WLLF[G\X Bjgl xlalxlmgej j cj ~kwegem jgt|jc dlc ~|mtlxk dl C+L-
WLLF[LMD Bjgl xlalxlmgej j cj cteij ~kwegem lm lc aegblxk-
'emgc|dl 3gwtdek=emt awllf"AECL /~a# ckm`dlw~# emt~kw%6
++ Gjcg|cjx lc m tktjc dl xl`ewtxkw |m aegblxkawllf"~a# >C# WLLF[LMD%6tktjcxl` 9 "emt%atlcc"~a%+welka"xl`ewtxk%6
xlpemd
I|lql lc ~|mtlxk dl C+L jc ~xemge~ek dlc aegblxk jwkgejdk gkm~a-
'emgc|dl 3gwtdek=qked xlpemd"AECL /~a%6
a~|tg
Lwgxehl |m gjxgtlx gjx lm cj ~kwegem emdegjdj ~kx lc ~|mtlxk dl clgt|xj+lwgxet|xj
"C+L% dlc aegblxk k dew~kweteqk jwkgejdk gkm~a-
'emgc|dl 3gwtdek=emt a~|tg"emtgjx# AECL /~a%6
a`ltg
Cll |m gjxgtlx dl cj ~kwegem emdegjdj ~kx lc ~|mtlxk dl C+L dlc aegblxk k dew~k)
weteqk jwkgejdk gkm~au jqjmj jc we`|elmtl gjxgtlx j cllx- Dlq|lcql lc gjxgtlxcldk k |m LKA# we kg|xxl |m lxxkx k wl dltlgtj lc aemjc dlc aegblxk-
'emgc|dl 3gwtdek=emt a`ltg"AECL /~a%6
a~|tw
^lxietlgk~ejx |mj gjdlmj dl gjxjgtlxlw lm |m aegblxk k dew~kweteqk-
'emgc|dl 3gwtdek=emt a~|tw"gkmwt gbjx /gjdlmj# AECL /~a%6
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
41/60
J^MDEGL J? CJ HEHCEKTLGJ DL G
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
42/60
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
43/60
J^MDEGL HA-O-Glhjcckw+XJ)IJ
LMTKXMKW DL DLWJXXKCCK
G|jmdk wl |tecej |m lmtkxmk dl dlwjxxkcck emtl`xjdk "LDE%# ck ~xeilxk z|l bju
z|l bjglx |mj ql emwtjcjdk lw jwl`|xjxwl dl z|l cjw x|tjw dkmdl wl ckgjcejm cjw
blxxjielmtjw# cjw hehcektlgjw# cj dkg|ilmtjgem u ckw aegblxkw a|lmtl bjujm wedk
lwtjhclgedjw6 jc`|mkw LDE wck xlz|elxlm cj x|tj dkmdl wl emwtjc lc gki~ecjdkx-
Lwtl ~xkglwk mkxijcilmtl wl lolg|tj j|tkitegjilmtl d|xjmtl lc ~xkglwk dl emw)
tjcjgem# gjwk dl ckw lmtkxmkwDlq)G&& u Iegxkwkat Qew|jc G&&- We mk lw jw# lclmtkxmk ~xk~kxgekmjx jc`m ilm gkm cjw xdlmlw j~xk~ejdjw ~jxj xljcejx degbk
~xkglwk- ^kx loli~ck# lm lc LDE z|l wl ~xlwlmtj j gkmtem|jgem ~|ldl gki~xkhjx
lwtk j txjqw dl cjw k~gekmlw dlc ilmBlxxjielmtjw-
Dlq)G&&
Lm cj ae`|xj we`|elmtl wl ~|ldl khwlxqjx lc jw~lgtk dlc lmtkxmk dl dlwjxxkcck emtl)
`xjdkDlq)G&& emgc|edk lm lc GD z|l jgki~jj jc cehxk-
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
44/60
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
45/60
J^MDEGL H? LMTKXMKW DL DLWJXXKCCK >< Lr~xlww- Lm cjae`|xj we`|elmtl wl ~|ldl khwlxqjx cj ~`emj dl emegek dlc lmtkxmk dl dlwjxxkcck em)
tl`xjdk Qew|jc G&&- Tjihem ~|ldl dew~kmlx dl lwtj blxxjielmtj we bj jdz|exedkjc`|mj dl cjw ldegekmlw dl Iegxkwkat Qew|jc Wt|dek 8>>
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
46/60
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
47/60
J^MDEGL H? LMTKXMKW DL DLWJXXKCCK
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
48/60
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
49/60
J^MDEGL H? LMTKXMKW DL DLWJXXKCCK
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
50/60
1>> ^XK@XJIJGEM KXELMTJDJ J KHOLTKW GKM G&&
Dl akxij xlw|iedj# cjw xdlmlw dew~kmehclw ~jxj dl~|xjx |mj j~cegjgem wkm
cjw we`|elmtlw?
Emegejx k A- Lolg|tj lc gde`k z|l bju lmtxl cj cte)ij cmlj lolg|tjdj u cj cmlj dkmdl wl lmg|lmtxj lc ~|mtk dl emwlxgem-
Emw~lggem x~edj k Gtxc&Jct&Z- Qew|jcej lc qjckx dl cj qjxejhcl z|l lwt hj)ok lc ~|mtk dl emwlxgem k lc qjckx dl cj lr~xlwem wlclggekmjdj "wkihxljdj%-
Lc wei~cl blgbk dl ~kmlx lc ~|mtk dl emwlxgem wkhxl degbj qjxejhcl uj qew|j)cej w| qjckx-
^jxj lolg|tjx cj j~cegjgem lm |m wkck ~jwk# wlclggekml cj kxdlmEmegejx wem dl)~|xjx "Gtxc&A
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
51/60
J^MDEGL H? LMTKXMKW DL DLWJXXKCCK 1>:
Lwtj hjxxj dl blxxjielmtjw ~kml j w| dew~kwegem cjw xdlmlw we`|elmtlw?
@lmlxjx j~cegjgem- Gki~ecj cj j~cegjgem u `lmlxj lc aegblxk lolg|tjhcl gk)xxlw~kmdelmtl-
@lmlxjx wkc|gem- Gki~ecj u `lmlxj tkdkw ckw ~xkulgtkw z|l gki~kmlm cj wk)c|gem-
Gjmglcjx- Dltelml lc ~xkglwk dl gki~ecjgem k dl `lmlxjgem dlc aegblxk lol)g|tjhcl-
Gkm ktxk lmtkxmk emtl`xjdk dl dlwjxxkcck# ~kx loli~ckDlq)G& ckw ~jwkw jwl`|ex ~jxj dl~|xjx |mj j~cegjgem wkm weiecjxlw-
IEGXKWKAT G&&? EMTLXAJ_ CMLJ DL XDLMLW
Ckw aegblxkw z|l gki~kmlm |mj j~cegjgem G&& ~|ldlm wlx lwgxetkw |tecejmdk
g|jcz|elx ldetkx dl tlrtk JWGEE6 ~kx loli~ck# lcHckg dl mktjw- \mj ql ldetjdkw u
`|jxdjdkw tkdkw ckw aegblxkw z|l gki~kmlm cj j~cegjgem# lc we`|elmtl ~jwk lw
gki~ecjxckw u lmcjjxckw ~jxj khtlmlx lc aegblxk lolg|tjhcl gkxxlw~kmdelmtl j cjiewij- Cj kxdlm ~jxj xljcejx lwtjw k~lxjgekmlw |tecejmdk lc gki~ecjdkx Iegxk)wkat G&& lw cj we`|elmtl?
gc V+LBwgY aegblxk>:-g~~ Vaegblxk>8 Vaegblxk>7Y ---Y
Lc mkihxl dlc aegblxk lolg|tjhcl xlw|ctjmtl wlx lc iewik z|l lc mkihxl dlc
~xeilx aegblxk lw~lgeaegjdk# ~lxk gkm lrtlmwem -lrl-
^xlqejilmtl# ~jxj z|l lc wewtlij k~lxjteqk lmg|lmtxl cj |tecedjd gc# ckw aegbl)xkw dl gjhlglxj "dexlgtxe emgc|dl% u cjw hehcektlgjw demiegjw u lwttegjw# g|jmdk
wkm emqkgjdkw dlwdl cj cmlj dl xdlmlw# bju z|l dlaemex lm lc lmtkxmk dl txjhjok
"lm cj gkmwkcj wkhxl cj z|l lwtlikw txjhjojmdk% cjw we`|elmtlw qjxejhclw?
wlt ~jtb9,~jtb,6x|tj dl ckw aegblxkw -lrl u -dccwlt emgc|dl9x|tj dl ckw aegblxkw -bwlt ceh9x|tj dl ckw aegblxkw -ceh
Cj lr~xlwem ,~jtb, xl~xlwlmtj lc qjckx jgt|jc dl cj qjxejhcl dl lmtkxmk
~jtb- \mj x|tj qj wl~jxjdj dl cj jmtlxekx ~kx |m ~|mtk u gkij- Lwtjw qjxejhclwtjihem ~|ldlm wlx lwtjhclgedjw lolg|tjmdk lc aegblxk qgqjxw78-hjtz|l j~kxtj Qe)
w|jc G&&- Lm cj ae`|xj we`|elmtl ~|ldl khwlxqjxwl |m loli~ck?
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
52/60
1>8 ^XK@XJIJGEM KXELMTJDJ J KHOLTKW GKM G&&
\mj ql lwtjhclgedjw lwtjw qjxejhclw# uj ~|ldl emqkgjx jc gki~ecjdkx G&& u jc
lmcjjdkx- Lm cj ae`|xj we`|elmtl wl ~|ldl khwlxqjx# gkik loli~ck# lc ~xkglwk wl)
`|edk ~jxj gki~ecjx TlwtGG|lmtj-g~~?
Khwlxql z|l jmtlw dl emqkgjx jc gki~ecjdkx blikw gjihejdk jc dexlgtkxek dl
cj j~cegjgem "gd%- Dlw~|w emqkgjikw jc gki~ecjdkx G&& "gc% gkm cj k~gem
LBwg- Lc xlw|ctjdk lw TlwtGG|lmtj-lrl- ^jxj lolg|tjx lwtl aegblxk# lwgxehj TlwtG)G|lmtj lm cj cmlj dl xdlmlw u ~|cwlLmtxjx-
CEM\R? EMTLXAJ_ CMLJ DL XDLMLW
Ckw aegblxkw z|l gki~kmlm |mj j~cegjgem G&& xljcejdj hjok @M\)Cem|r ~|l)
dlm wlx lwgxetkw |tecejmdk g|jcz|elx ldetkx dl tlrtk JWGEE ~xk~kxgekmjdk ~kx wtl-
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
53/60
J^MDEGL H? LMTKXMKW DL DLWJXXKCCK 1>7
\mj ql ldetjdkw u `|jxdjdkw tkdkw ckw aegblxkw z|l gki~kmlm cj j~cegjgem# lc
we`|elmtl ~jwk lw gki~ecjxckw u lmcjjxckw ~jxj khtlmlx lc aegblxk lolg|tjhcl gk)xxlw~kmdelmtl j cj iewij- Cj kxdlm ~jxj xljcejx lwtjw k~lxjgekmlw lw cj we`|elmtl?
`&& aegblxk>:-g~~ Vaegblxk>8 Vaegblxk>7Y ---Y k aegblxk[lolg|tjhcl
Lm lc gjwk dl Cem|r# cjw x|tjw dl jgglwk ~jxj z|l lc wewtlij k~lxjteqk lmg|lm)
txl cj |tecedjd`& ckw aegblxkw dl gjhlglxj u cjw hehcektlgjw# g|jmdk wkm emqkgj)dkw dlwdl cj cmlj dl xdlmlw# uj lwtm dlaemedjw lm lc lmtkxmk dl txjhjok-
Lm cj ae`|xj we`|elmtl wl ~|ldl khwlxqjx# gkik loli~ck# lc ~xkglwk wl`|edk
~jxj gki~ecjx TlwtGG|lmtj-g~~?
Khwlxql z|l ~xeilxk blikw gjihejdk jc dexlgtkxek dl cj j~cegjgem "gd%# dlw)~|w blikw qew|jcejdk lc gkmtlmedk dl lwl dexlgtkxek "cw )c% u aemjcilmtl blikw
emqkgjdk jc gki~ecjdkx G&& "`&&%- Lc aegblxk lolg|tjhcl xlw|ctjmtl lw lc lw~lge)aegjdk ~kx cj k~gemk# lm lc loli~ck TlwtGG|lmtj# k j-k|t~kx kiewem-
^jxj lolg|tjx cj j~cegjgem dlc loli~ck# lwgxehj TlwtGG|lmtj lm cj cmlj dlxdlmlw u ~|cwlLmtxjx- We jc xljcejx lwtj k~lxjgem wl lmg|lmtxj gkm z|l mk ~|l)dl bjglxck ~kxz|l lc wewtlij mk lmg|lmtxj lc aegblxk lw~lgeaegjdk# telml z|l jjdex
cj x|tj dlc dexlgtkxek jgt|jc dl txjhjok j cj qjxejhcl dl lmtkxmk ^JTB- Lwtk wl bjgl
jw?
^JTB9$^JTB?-
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
54/60
1>4 ^XK@XJIJGEM KXELMTJDJ J KHOLTKW GKM G&&
Cj lr~xlwem $^JTB xl~xlwlmtj lc qjckx jgt|jc dl cj qjxejhcl dl lmtkxmk
^JTB- \mj x|tj qj wl~jxjdj dl cj jmtlxekx ~kx dkw ~|mtkw- Lc dexlgtkxek jgt|jc lw)t xl~xlwlmtjdk ~kx lc gjxgtlx ~|mtk-
Lc dl~|xjdkx `dh dl @M\
G|jmdk wl telml cj emtlmgem dl dl~|xjx |m ~xk`xjij G lwgxetk hjok @M\# lm lc
ikilmtk dl gki~ecjxck wl dlhl lw~lgeaegjx cj k~gem `k`7- Lwtj k~gem emdegj
jc gki~ecjdkx z|l emgc|uj emakxijgem lrtxj ~jxj lc dl~|xjdkx lm lc aegblxk khol)
tk- ^kx loli~ck?
`&& )`7 ~xk`>:-g~~ )k ~xk`>:-lrl
Cj kxdlm jmtlxekx gki~ecj u lmcjj lc aegblxk a|lmtl~xk`>:-g~~- Lc xlw|ctjdklw |m aegblxk lolg|tjhcl~xk`>:-lrl gkm emakxijgem ~jxj lc dl~|xjdkx-
\mj ql gki~ecjdk |m ~xk`xjij gkm cjw k~gekmlw mlglwjxejw ~jxj dl~|xjxck#
emqkgjxlikw j`dh ~jxj ~xkgldlx j w| dl~|xjgem- Cj wemtjrew lw cj we`|elmtl?
`dhaegblxk)lolg|tjhcl
Lc we`|elmtl loli~ck emqkgj jc dl~|xjdkx`dh dl @M\)Cem|r# z|l gjx`j lc ae)gblxk lolg|tjhcl~xk`>: lm ilikxej ~jxj dl~|xjxck-
`dh ~xk`>:
\mj ql z|l wl bj emqkgjdk lc dl~|xjdkx# dlwdl cj cmlj dl xdlmlw wl ~|ldlmlolg|tjx xdlmlw gkik cjw we`|elmtlw?
hxljfVaegblxk?Ya|mgem- Lwtjhclgl |m ~|mtk dl ~jxjdj lm cj a|mgem emdegjdjdlc aegblxk lw~lgeaegjdk- ^kx loli~ck# cj we`|elmtl kxdlm ~kml |m ~|mtk dl ~j)
xjdj lm cj a|mgem lwgxehex-
h lwgxehex
hxljfVaegblxk?Ycmlj- Lwtjhclgl |m ~|mtk dl ~jxjdj lm cj cmlj emdegjdj- ^kxloli~ck# cj we`|elmtl kxdlm ~kml |m ~|mtk dl ~jxjdj lm cj cmlj :>-
h :>
dlcltl ~|mtk)dl)~jxjdj- Lceiemj lc ~|mtk dl ~jxjdj lw~lgeaegjdk- ^kx loli)~ck# cj we`|elmtl kxdlm lceiemj lc ~|mtk dl ~jxjdj : "~xeilxk%-
d :
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
55/60
J^MDEGL H? LMTKXMKW DL DLWJXXKCCK 1>
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
56/60
1>1 ^XK@XJIJGEM KXELMTJDJ J KHOLTKW GKM G&&
^jxj gxljx |mj dl lwtjw hehcektlgjw we`j ckw ~jwkw emdegjdkw j gkmtem|jgem?
:- Lolg|tl lc lmtkxmk dl dlwjxxkcck dl Qew|jc G&&-8- Wlclggekml cj kxdlmJxgbeqk = M|lqk = ^xkulgtk-7- Wlclggekml lc te~k dl ~xkulgtk Pem78 u cj ~cjmteccj J~cegjgem dl gkmwkcj
Pem78- Lwgxehj lc mkihxl dlc ~xkulgtk lm cj gjojMkihxl u lm cj gjoj \hegj)gem wlclggekml lc dexlgtkxek dkmdl dlwlj gxljx lwtl ~xkulgtk- ^|cwl lc hktmJgl~tjx- Wl qew|jcej cj we`|elmtl qlmtjmj?
4- Lm lwtj qlmtjmj wlclggekml Hehcektlgj lwttegj# mk wlclggekml Lmgjhljdk~xlgki~ecjdk u bj`j gceg lm lc hktmAemjcejx-
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
57/60
J^MDEGL GA-O-Glhjcckw+XJ)IJ
EMWTJCJGEM DLC ^JZ\LTLDL DLWJXXKCCK
Lm lc j~mdegl H blikw qewtk gik lwgxehex u lolg|tjx |mj j~cegjgem G&& dlwdl
dkw lmtkxmkw dl dlwjxxkcck dealxlmtlw? Dlq)G& z|l emgc|ul |m gki~ecjdkx
G+G&& dl @GG"@M\ Gki~eclx Gkcclgtekm%# u Iegxkwkat Qew|jc G& z|l emgc|)
ul lc gki~ecjdkx Iegxkwkat G+G&&- Tjihem blikw qewtk z|l ~kdlikw bjglxck dl
dkw akxijw dealxlmtlw? ldetjmdk# gki~ecjmdk u dl~|xjmdk dlwdl lc lmtkxmk dl dl)wjxxkcck# k helm dlwdl cj cmlj dl xdlmlw- Qljikw j gkmtem|jgem gik emwtjcjx
lwtkw gki~ecjdkxlw-
EMWTJCJGEM DL Dlq)G&&
Dlq)G&& lw |m lmtkxmk dl dlwjxxkcck z|l |tecej Iem@P gkik gki~ecjdkx-
Iem@P"Iemeijcewt @M\ akx Pem78% lw |m ~jz|ltl z|l ~xk~kxgekmj |mj qlxwem
mjteqj dl Pem78 dl @GG "`gg# `& `00# ltg-%# lc dl~|xjdkx `dh# ijfl#
pem78j~e# u ktxjw |tecedjdlw- Wl ~|ldl xljcejx |mj emwtjcjgem ~lxwkmjcejdj emwtj)cjmdk ~kx |mj ~jxtl cj ei~clilmtjgem @GG# u ~kx ktxj lc lmtkxmk dl dlwjxxkcck
emtl`xjdk "LDE%Dlq)G& k helm wl ~|ldl emwtjcjx |mj qlxwem dlDlq)G&& z|l
uj emgc|ul @GG6 wtj lw cj k~gem xlgkilmdjdj-
^jxj xljcejx cj emwtjcjgem dl Dlq)G&& gkm @GG# lolg|tl lc aegblxk dlqg~~)
4-5-5-8[wlt|~-lrl ckgjcejdk lm cj gjx~ltj LDEdlc GD)XKI "k ~|ldl dlwgjx`jx
cj cteij qlxwem dlwdl ie Plh? btt~?++ppp-aoglhjcckw-lw = \tecedjdlw% u we`j ckw
~jwkw emdegjdkw ~kx lc jwewtlmtl-
J gkmtem|jgem jhxj lc LDE u dlwdl lc ilmBlxxjielmtjw ~|ldl# we ck gxll
mlglwjxek# gkmae`|xjx cjw k~gekmlw dlc gki~ecjdkx# dlc lmtkxmk u dlc ldetkx-
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
58/60
1>2 ^XK@XJIJGEM KXELMTJDJ J KHOLTKW GKM G&&
EMWTJCJGEM DL Iegxkwkat G+G&&
Qew|jc Wt|dek 8>>< ~xk~kxgekmj |mj qjxeldjd dl blxxjielmtjw tjmtk ~jxj dlwjxxk)ccjdkxlw emdeqed|jclw gkik ~jxj lz|e~kw dl dlwjxxkcck- ^|ldl khtlmlx iw emakx)
ijgem dl cj dexlggem?
btt~?++ppp-iegxkwkat-gki+w~jmewb+iwdm+qw8>>>< Lr~xlww- Qew|jc Wt|dek 8>>< Wtjmdjxd Ldetekm- Qew|jc Wt|dek 8>>< xkalwwekmjc Ldetekm- Qew|jc Wt|dek 8>>< Tlji Wuwtli-
Qew|jc Wt|dek 8>>< Lr~xlww lw cj m|lqj cmlj dl ~xkd|gtkw z|l lr~jmdlm Qe)
w|jc Wt|dek kaxlgelmdk blxxjielmtjw ce`lxjw u wlmgeccjw dl j~xlmdlx u dl |wjx ~jxj
jaegekmjdkw# lmt|wejwtjw u j~xlmdeglw z|l z|elxlm gxljx wetekw Plh u j~cegjgekmlw
~jxj Pemdkpw-
Qew|jc Plh Dlqlck~lx 8>>< Lr~xlww Ldetekm-
Qew|jc Hjweg 8>>< Lr~xlww Ldetekm- Qew|jc G' 8>>< Lr~xlww Ldetekm- Qew|jc G&& 8>>< Lr~xlww Ldetekm- WZC Wlxqlx 8>>< Lr~xlww Ldetekm- u Qew|jc O' 8>>< Lr~xlww Ldetekm-
^jxj emwtjcjx Qew|jc G&& 8>>< Lr~xlww telml z|l bjglxck dlwdl cj dexlggem
dl Emtlxmlt w|iemewtxjdj lm cj gjx~ltj LDEdlc GD)XKI "k ~|ldl bjglxck dlwdl
ie Plh? btt~?++ppp-aoglhjcckw-lw = \tecedjdlw%- Dlwdl lwtj dexlggem wl dlwgjx)
`jx |m aegblxk z|l# |mj ql lolg|tjdk# emegejx lc jwewtlmtl dl emwtjcjgem- Lwtl
jwewtlmtl cl kaxlglx emwtjcjx lc LDE `xaegk# |mkw 0> IH# u ktxjw a|mgekmlw jde)
gekmjclw6 ~kx loli~ck# IWDM 8>> IH# z|l gkmtelml emakxijgem jde)
gekmjc dlc ~xkd|gtk ~jxj tkdjw cjw ldegekmlw Lr~xlww- Lwtj emakxijgem tjihem
lwt dew~kmehcl lm Emtlxmlt lm cj Plh dl Iegxkwkat# ~kx ck z|l ~jxj |mj emwtjcj)
gem x~edj wl xlgkielmdj mk dlwgjx`jxcj- Gkmgc|wem# lw w|aegelmtl gkm emwtjcjx lc
LDE `xaegk-
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
59/60
J^MDEGL G? EMWTJCJGEM DLC ^JZ\LTL DL DLWJXXKCCK 1>5
EMWTJCJGEM DL CJ HEHCEKTLGJ ^KWER Tbxljdw
^jxj txjhjojx gkm beckw ^KWER# gj~t|ck 5# telml z|l emwtjcjx cj hehcektlgj ^KWERTbxljdw- ^jxj lcck# w|~kmelmdk z|l lc gki~ecjdkx emwtjcjdk lw @GG# we`j ckw ~j)
wkw we`|elmtlw?
:- Dlwgki~xeij lc aegblxk~tbxljdw)p78)8)2)>)xlcljwl-lrl ckgjcejdk lm cj gjx)~ltj^tbxljdw)pem78 dlc GD)XKI# lm |mj gjx~ltj tli~kxjc# ~kx loli~ck lm
g?S~tbxljd-
8- Gk~el ckw aegblxkw g?S~tbxljdSemgc|dlS/-b lm cj gjx~ltj emgc|dl dl w| emwtjcj)gem-
7- Gk~el cjw hehcektlgjw g?S~tbxljdScehS/-j lm cj gjx~ltj ceh dl w| emwtjcjgem-4- Gk~el cjw hehcektlgjw dl e`|jc mkihxl z|l cjw jmtlxekxlw u lrtlmwem -dcc# ~lxk
wem ~xlaeok ceh# lm cj gjx~ltj wuwtli78 dl Pemdkpw k lm cj gjx~ltj hem dl w|
emwtjcjgem-
Lwtj hehcektlgj tjihem lwt dew~kmehcl ~jxj lc gki~ecjdkx G+G&& dl Iegxk)
wkat "gki~ecjdkx z|l |tecej Iegxkwkat Qew|jc G&&? IWQG&&%- ^jxj emwtjcjxcj we)
`j ckw ~jwkw emdegjdkw j gkmtem|jgem?
:- Dlwgki~xeij lc aegblxk~tbxljdw)p78)8)2)>)xlcljwl-lrl ckgjcejdk lm cj gjx)~ltj^tbxljdw)pem78 dlc GD)XKI# lm |mj gjx~ltj tli~kxjc# ~kx loli~ck lm
g?S~tbxljd-
8- Gk~el ckw aegblxkw g?S~tbxljdSemgc|dlS/-b lm cj gjx~ltj emgc|dl dl w| emwtjcj)gem-
7- Gk~el cjw hehcektlgjw g?S~tbxljdScehS/-ceh lm cj gjx~ltj ceh dl w| emwtjcjgem-4- Gk~el cjw hehcektlgjw dl e`|jc mkihxl z|l cjw jmtlxekxlw u lrtlmwem -dcc# lm cj
gjx~ltj wuwtli78 dl Pemdkpw-
Gki~ecjx |mj j~cegjgem i|ctebeck
^jxj gki~ecjx |mj j~cegjgem i|ctebeck dlwdl cj cmlj dl xdlmlw# telml z|l jjdex
cj hehcektlgj z|l ~xk~kxgekmj lc wk~kxtl i|ctebeck- Dlwdl |mj gkmwkcj gkm Iem@P
~xkgldj jw?
~jtb9,~jtb,6g?SDlq)G~~Shem
`&& )k iej~~-lrl iej~~-g~~ Vktxkw -g~~Y c ~tbxljd@GL8
-
7/23/2019 Ceballos: Programacin orientada a objetos con C++ 4Ed
60/60
1:> ^XK@XJIJGEM KXELMTJDJ J KHOLTKW GKM G&&
Dlwdl lc LDEDlq)G&& telml z|l lw~lgeaegjx lm cjw k~gekmlw dlc ~xkulgtk cj
hehcektlgj dl beckw z|l dlwlj |tecejx? ceh~tbxljd@G8-j k ceh~tbxljd@GL8-j- ^jxj
lcck# dexojwl j cj hjxxj dl ilmw u lolg|tl?
^xkulgtk ) K~gekmlw dlc ~xkulgtk ) ^jxiltxkw ) Jjdex hehcektlgj
Dlwdl |mj gkmwkcj gkm Qew|jc G&& ~xkgldj jw?
G?SJxgbeqkw dl ~xk`xjijSIegxkwkat Qew|jc Wt|dek 2SQGShemSqgqjxw78-hjt
gc +LBwg iej~~-g~~ Vktxkw -g~~Y +cemf ~tbxljdQWL8-ceh
Dlwdl lc LDE Qew|jc G&& telml z|l lw~lgeaegjx lm cjw k~gekmlw dlc ~xkulgtk
cj hehcektlgj dl beckw z|l dlwlj |tecejx? ~tbxljdQG8-ceh# ~tbxljdQGL8-ceh k
~tbxljdQWL8-ceh- ^jxj lcck# bj`j gceg gkm lc hktm dlxlgbk dlc xjtm wkhxl lc
mkihxl dlc ~xkulgtk u wlclggekml?
^xk~eldjdlw ) K~gekmlw dlc ~xkulgtk ^xk~eldjdlw dl gkmae`|xjgem
Qemg|cjdkx Cmlj dl gkijmdkw
u lwgxehj lm cj qlmtjmj K~gekmlw jdegekmjclw# ~kx loli~ck? ~tbxljdQWL8-ceh-
Aemjcilmtl# ~jxj gki~ecjx |mj j~cegjgem i|ctebeck dlwdl cj cmlj dl xdlmlw
lm |mj ~cjtjakxij CEM\R# telml z|l jjdex cj hehcektlgj~tbxljd?
`&& )k iej~~-lrl iej~~-g~~ Vktxkw -g~~Y c ~tbxljd