Ceballos: Programación orientada a objetos con C++ 4Ed

Embed Size (px)

Citation preview

  • 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