c++ tutorial(romaneste)

256
3DJH RI 'LDQDù7()1(6&8 &ULVWLQD6(*$/

Upload: dennis-denes

Post on 27-Jun-2015

232 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: C++ Tutorial(Romaneste)

3DJH�� RI����

� � �

'LDQD�ù7()�1(6&8 &ULVWLQD�6(*$/

Page 2: C++ Tutorial(Romaneste)

3DJH�� RI����

� � �

,1752'8&(5(

/LPEDMHOH�& úL�&���VXQW�OLPEDMH�GH�SURJUDPDUH�GH�QLYHO�vQDOW�/LPEDMXO�& D�DS�UXW�vQ�DQLL������úL�D�IRVW�FUHDW�GH�'HQQLV�5LWFKLH�vQ�ODERUDWRDUHOH�$77�%HOO��/LPEDMXO�&�

IDFH� SDUWH� GLQ� IDPLOLD� GH� OLPEDMH� FRQFHSXWH� SH� SULQFLSL LOH� SURJUDP�ULL� VWUXFWXUDWH�� OD� FDUH� LGHHD� FHQWUDO� HVWH�´VWUXFWXUHD]� SHQWUX� D� VW�SkQL� R� DSOLFD LH´�� 3RSXODULWDWHD� OLPEDMXOXL� D� FUHVFXW� UDSLG� GDWRULW� HOHJDQ HL� úL� D�PXOWLSOHORU�SRVLELOLW� L�RIHULWH�SURJUDPDWRUXOXL�/LPEDMXO�&�� DSDUH�OD�vQFHSXWXO�DQLORU�¶���úL�vO�DUH�FD�DXWRU�SH�%MDUQH�6WURXVWUXS��(O�HVWH�R�YDULDQW� GH�OLPEDM�

&� vPEXQ�W� LW�� PDL� ULJXURDV� úL� PDL� SXWHUQLF��� FRPSOHWDW� FX� FRQVWUXF LLOH� QHFHVDUH� DSOLF�ULL� SULQFLSLLORU�SURJUDP�ULL�RULHQWDWH�SH�RELHFWH��322���/LPEDMXO�&����S�VWUHD]� WRDWH�HOHPHQWHOH�OLPEDMXOXL�&���EHQHILFLLQG�GH�HILFLHQ D�úL�IOH[LELOLWDWHD�DFHVWXLD��/LPEDMXO�&���HVWH�XQ�VXSHUVHW�DO�OLPEDMXOXL�&��,QFRPSDWLELOLW� LOH�VXQW�PLQRUH��GH�DFHHD��PRGXOHOH�&�SRW�IL�vQFRUSRUDWH�vQ�SURLHFWH�&���FX�XQ�HIRUW�PLQLP�/XFUDUHD FXSULQGH�GRX� S�U L�3ULPD�SDUWH�VH�DGUHVHD]� SURJUDPDWRULORU�vQFHS�WRUL��(D�SUH]LQW� HOHPHQWHOH�GH�ED]� úL�FRQVWUXF LLOH�OLPEDMXOXL�&��FRPSOHWDWH� FX� H[WHQVLLOH� OLPEDMXOXL� &���� $FHVWHD� SHUPLW� UH]ROYDUHD� SUREOHPHORU� SULQ� PHWRGD� SURJUDP�ULL�VWUXFWXUDWH��3DUWHD� D� GRXD� VH DGUHVHD]� FXQRVF�WRULORU� OLPEDMXOXL� &� GRUQLFL� V��úL� PRGHUQL]H]H� VWLOXO� úL� FRQFHS LD� DERUG�ULL�SURLHFWHORU� LQIRUPDWLFH�� (OHPHQWHOH� SUH]HQWDWH� VXQW� VSHFLILFH� OLPEDMXOXL� &��� úL� SHUPLW� VWLOXUL� GH� SURJUDPDUH�LPSUDFWLFDELOH� vQ�&��SURJUDPDUHD�SULQ� DEVWUDFWL]DUHD GDWHORU� úL� SURJUDPDUHD�RULHQWDW� RELHFW��&LWkQGX�O� FKLDU�SH�%MDUQH�6WURXVWUXS��´&���HVWH�XQ� OLPEDM�GH�SURJUDPDUH�JHQHUDO��FRQFHSXW�DVWIHO� vQFkW� V��L� IDF� SH�SURJUDPDWRULL�VHULRúL�V� SURJUDPH]H�vQWU�R�PDQLHU� FkW�PDL�SO�FXW�´�ùL� FXP� FHD�PDL� EXQ� PHWRG� GH� vQY� DUH� HVWH� SUDFWLFD�� SUH]HQWDUHD� DVSHFWHORU� WHRUHWLFH� HVWH� vQVR LW� GH�PXOWH�H[HPSOH� úL� SUREOHPH� UH]ROYDWH�� 'HDVHPHQHD�� vQWUHE�ULOH� WHRUHWLFH� úL� SUREOHPHOH� SURSXVH� VSUH� UH]ROYDUH�� GH� OD�VIkUúLWXO� ILHF�UXL� FDSLWRO�� SHUPLW� FLWLWRUXOXL� V��úL� YHULILFH� FXQRúWLQ HOH� GREkQGLWH�� 8Q� DVSHFW� IRDUWH� LPSRUWDQW� vO�FRQVWLWXLH� LPSOHPHQWDUHD� úL� WHVWDUHD�SH� FDOFXODWRU� D� H[HPSOHORU� úL� D�SUREOHPHORU� UH]ROYDWH� VDX�SURSXVH�� J �VLUHD�XQRU�VROX LL�SURSULL�6SHU�P� FD� DFHVW�PDWHULDO� V� FRQVWLWXLH� XQ� VSULMLQ� UHDO� SHQWUX� FHL� FDUH GRUHVF� V� S�WUXQG� vQ� WDLQHOH� OLPEDMHORU�&�&����FkW�úL�XQ�SXQFW�GH�SOHFDUH�vQ�DFWLYLWDWHD�GH�SURJUDPDUH�'RULP� V� PXO XPLP� úL� SH� DFHVW� FDOH� GRPQXOXL� SURI�� 6HYHULQ� %80%$58� úL� FROHJLORU� SHQWUX� REVHUYD LLOH� úL�VIDWXULOH�FDUH�DX�FRQGXV�OD�IRUPD�DFWXDO� D�F�U LL�6XJHVWLLOH�FLWLWRULORU�VXQW�DúWHSWDWH�OD�DGUHVHOH��'LDQD�6WHIDQHVFX#XJDO�UR���&ULVWLQD�6HJDO#XJDO�UR�

$8725,,�

Page 3: C++ Tutorial(Romaneste)

3DJH�� RI����

� � �

&835,16

3$57($�,&$3,72/8/����1R LXQL�LQWURGXFWLYH �����,PSOHPHQWDUHD�VWUXFWXULL�GH�GHFL]LH������� ������ 6WUXFWXUD�JHQHUDO� D�XQXL�VLVWHP�GH �����,PSOHPHQWDUHD�VWUXFWXULORU�UHSHWLWLYH�

FDOFXO��������������������������� ���������������������������� � �FLFOLFH��������������������� ��������� ����������������� �� �������$OJRULWPL���������������������� ��������������� �� �������� �� �������,PSOHPHQWDUHD�VWUXFWXULORU�

�������1R LXQL�JHQHUDOH������ ����������������� ���� �� FLFOLFH�FX�WHVW�LQL LDO��������������������� ���������'HILQL LL�úL�FDUDFWHULVWLFL������������ ���� �� �������,PSOHPHQWDUHD�VWUXFWXULORU��������5HSUH]HQWDUHD�DOJRULPLORU������������ �� �� FLFOLFH�FX�WHVW�ILQDO���� ������������������� ��

���������5HSUH]HQWDUHD�SULQ �����)DFLOLW� L�GH�vQWUHUXSHUH�D�XQHL�VHFYHQ H� ��VFKHPH�ORJLFH���� ��������� ���� �� ÌQWUHE�UL�úL�H[HUFL LL������������ ������� ��������� �������� ��

���������5HSUH]HQWDUHD�SULQSVHXGRFRG������ ����������� ����� �� &$3,72/8/�����7DEORXUL

�����7HRULD�UH]ROY�ULL�SUREOHPHORU����������������� �� �����'HFODUDUHD�WDEORXULORU������������������������������ ��ÌQWUHE�UL�úL�H[HUFL LL������������ ����������������� ���������� �� �����7DEORXUL�XQLGLPHQVLRQDOH������������������������ ��

�����7DEORXUL�ELGLPHQVLRQDOH�������������������������� ��&$3,72/8/���'DWH��RSHUDWRUL�úL�H[SUHVLL �����ùLUXUL�GH�FDUDFWHUH�������������������� ��������������� �������/LPEDMHOH�&�úL�&������ ����������������� ���������� �� ÌQWUHE�UL�úL�H[HUFL LL������������ ����������������� ���������� �������3URJUDPH�vQ�OLPEDMXO�&�&��������������������� �������3UHSURFHVRUXO���������������� ������������� ��� �������� �� &$3,72/8/���� 3RLQWHUL�����(OHPHQWH�GH�ED]� DOH�OLPEDMXOXL���� �������� �� ����9DULDELOH�SRLQWHU������ ��� ����������������� ���������� ��

�������9RFDEXODUXO�������� ���������������������������� �� �������'HFODUDUHD�YDULDELOHORU�SRLQWHU���� �� ���������8QLW� LOH�OH[LFDOH�������� ��������������� ���� �� ��������,QL LDOL]DUHD�YDULDELOHORU�SRLQWHU���� ��

�����'DWH�vQ�OLPEDMXO�&�&����������������������������� �� ��������3RLQWHUL�JHQHULFL������ ����������������� �� ���������7LSXUL�GH�GDWH��������������������������������� �� �����2SHUD LL�FX�SRLQWHUL���������������������������������� ���������&RQVWDQWH��������������������������������������� �� �����3RLQWHUL�úL�WDEORXUL�������� ��������������� ����������� ��

���������&RQVWDQWH�vQWUHJL��������������� �� �������3RLQWHUL�úL�úLUXUL�GH�FDUDFWHUH���� ���� ����� ���������&RQVWDQWH�QXPHULFH��UHDOH�� �� ������3RLQWHUL�úL�WDEORXUL�ELGLPHQVLRQDOH�� ��

���������&RQVWDQWH�FDUDFWHU������������� �� �����7DEORXUL�GH�SRLQWHUL���� ��������������� ��� �������� �����������&RQVWDQWH�úLU�GH�FDUDFWHUH� �� �����3RLQWHUL�OD�SRLQWHUL�������� ��������������� ���������� ��

�������9DULDELOH������������������ ����������������� ���� �� �����0RGLILFDWRUXO�FRQVW�vQ�GHFODUDUHD���������'HFODUDUHD�YDULDELOHORU����� �� SRLQWHULORU���������� ������������������������������������� �����������,QL LDOL]DUHD�YDULDELOHORU�vQ� ÌQWUHE�UL�úL�H[HUFL LL������������ ����������������� ��������� ��

GHFODUD LL���������������������������� �����������2SHUD LL�GH�LQWUDUH�LHúLUH��� �� &$3,72/8/���� )XQF LL�����2SHUDWRUL�úL�H[SUHVLL�������������������������������� �� �����6WUXFWXUD�XQHL�IXQF LL���� ��������������� ���������� ��

�������2SHUDWRUL���������� ������� ����������������� ����� �� �����$SHOXO�úL�SURWRWLSXO�XQHL�IXQF LL��������������� ���������([SUHVLL�������������������� ����������������� ���� �� �����7UDQVIHUXO�SDUDPHWULORU�XQHL�IXQF LL���� ���� ���������&RQYHUVLL�GH�WLS���� ��� ����������������� ���� �� �������7UDQVIHUXO�SDUDPHWULORU�SULQ�

ÌQWUHE�UL�úL�H[HUFL LL������������ ����������������� ���������� �� YDORDUH�������������� ����������� ���������������� ���������7UDQVIHUXO��SULQ�SRLQWHUL����������������� ��

&$3,72/8/���� ,PSOHPHQWDUHD ���������)XQF LL�FDUH�UHWXUQHD]�VWUXFWXULORU�GH�FRQWURO SRLQWHUL������ ���������������������� �������,PSOHPHQWDUHD�VWUXFWXULL�VHFYHQ LDOH������� �� �������7UDQVIHUXO�SULQ�UHIHULQ ���������������� ��

Page 4: C++ Tutorial(Romaneste)

3DJH�� RI����

� � �

3$57($�D�,,�D�������7UDQVIHUXO�SDUDPHWULORU�F�WUH� &$3,72/8/�����&RQFHSWH�GH�ED]� DOHIXQF LD�PDLQ�������������� ������������������ �� SURJUDP�ULL RULHQWDWH�RELHFW

�����7DEORXUL�FD�SDUDPHWUL���� ��������������� ���������� �� �����,QWURGXFHUH���������������� ��� ��������������� ��������� ��������)XQF LL�FX�SDUDPHWUL�LPSOLFL L������������������� �� �����$EVWUDFWL]DUHD�GDWHORU����������������������������� ��������)XQF LL�FX�QXP�U�YDULDELO�GH�SDUDPHWUL��� �� �����0RúWHQLUHD�������������������� ��������������� ��������� ��������)XQF LL�SUHGHILQLWH������ ���������������������������� �� �������0RúWHQLUHD�XQLF� ������������������������� ���

�������)XQF LL�PDWHPDWLFH���� ��������������� ���� �� �������0RúWHQLUHD�PXOWLSO� ��������������������� ����������)XQF LL�GH�FODVLILFDUH��WHVWDUH��D� �����ÌQFDSVXODUHD�LQIRUPD LHL�������������������������� ���

FDUDFWHUHORU����������������������������������� �� �����/HJDUHD�GLQDPLF� �WkU]LH������������������������� ����������)XQF LL�GH�FRQYHUVLH�D� �����$OWH�DVSHFWH���� ����������� ���������������������������� ���

FDUDFWHUHORU����������������������������������� ���������)XQF LL�GH�FRQYHUVLH�GLQ�úLU�vQ� &$3,72/8/���� &ODVH�úL�RELHFWH

QXP�U�������������������������������� ������������ �� ������'HILQL LD�FODVHORU�úL�DFFHVXO�OD��������)XQF LL�GH�WHUPLQDUH�D�XQXL�SURFHV� 0HPEUL������������������������������ ����������������� � ���

�SURJUDP������������� ����������� �������������� �� ��������/HJ�WXUD�FODV��VWUXFWXU���������)XQF LL�GH�LQWUDUH�LHúLUH����������������� �� 8QLXQH���������������������������� ��������� ���

�����&ODVH�GH�PHPRUDUH����������������������������������� �� ��������'HFODUDUHD�FODVHORU������������������� ��������0RGXUL�GH�DORFDUH�D�PHPRULHL�������������� �� ��������2ELHFWH������������������ ����������������� ��������)XQF LL UHFXUVLYH�������� ����������������� ���������� �� ��������0HPEULL�XQHL�FODVH������������������ ��������3RLQWHUL�F�WUH�IXQF LL���� ��������������� ����������� ��� ��������3RLQWHUXO�WKLV ��������� ������������������ ���ÌQWUHE�UL�úL�H[HUFL LL���������� ��� ��������������� ���������� ��� ��������'RPHQLXO�XQXL�QXPH��

YL]LELOLWDWH�úL�WLPS�GH�YLD ������� ���&$3,72/8/�����7LSXUL�GH�GDWH�GHILQLWH� ������)XQF LL�LQOLQH ���������������������������������������� ���GH�XWLOL]DWRU �������&RQVWUXFWRUL�úL�GHVWUXFWRUL�������������������� ��������7LSXUL�GHILQLWH�GH�XWLOL]DWRU��������������������� ��� ��������,QL LDOL]DUHD�GDWHORU������������������ ��������6WUXFWXUL�������� ����������� ��� ��������������� ��������� ��� ��������&RQVWUXFWRUL������������ ���������������� ��������&kPSXUL�GH�EL L���������������������������������������� ��� �����������&RQVWUXFWRUL�FX������'HFODUD LL�W\SHGHI������������������������������������ ��� OLVWH�GH�LQL LDOL]DUH��� ��������8QLXQL������ ����������� ����������������������������������� ��� �����������&RQVWUXFWRUL�GH������(QXPHU�UL�������� ��������������������������������������� ��� FRSLHUH�������������� ����� ���ÌQWUHE�UL�úL�H[HUFL LL������������ ����������������� ���������� ��� ��������'HVWUXFWRUL�������� ��� ������������������ ���

��������7DEORXUL�GH�RELHFWH������������������ ���&$3,72/8/���� )LúLHUH ������)XQF LL�SULHWHQH��IULHQG������������������������� ��������&DUDFWHULVWLFLOH�JHQHUDOH�DOH�ILúLHUHORU������ ��� ÌQWUHE�UL�úL�H[HUFL LL������������ ����������������� ���������� ��������'HVFKLGHUHD�XQXL�ILúLHU���������������������������� ��������ÌQFKLGHUHD�XQXL�ILúLHU���� ��������������� ��������� ��� &$3,72/8/���� 6XSUDvQF�UFDUHD������3UHOXFUDUHD�ILúLHUHORU�WH[W�������� ��������������� ��� RSHUDWRULORU

�������3UHOXFUDUHD�OD�QLYHO�GH�FDUDFWHU����� ��� ������0RGXUL�GH�VXSUDvQF�UFDUH�D��������3UHOXFUDUHD�OD�QLYHO�GH�FXYkQW������� ��� RSHUDWRULORU������������������������ ������������������ ����������3UHOXFUDUHD�OD�QLYHO�GH�úLU�GH� ��������6XSUDvQF�UFDUHD�SULQ�IXQF LL

FDUDFWHUH�������������������������������������� ��� PHPEUH������������������������������ ����� ����������,QWU�UL�LHúLUL�IRUPDWDWH������������������� ��� ��������6XSUDvQF�UFDUHD�SULQ�IXQF LL

�����,QWU�UL�LHúLUL ELQDUH������ ����������������� ��������� ��� SULHWHQH������������������������������ ����� ��������3R]L LRQDUHD�vQWU�XQ�ILúLHU������������������������ ��� ������5HVWULF LL�OD�VXSUDvQF�UFDUHD�����)XQF LL�XWLOLWDUH�SHQWUX�OXFUXO�FX�ILúLHUH��� ��� RSHUDWRULORU������������������������ ������������������ ��������$OWH�RSHUD LL�FX�ILúLHUH������������������ ���������� ��� ������6XSUDvQF�UFDUHD�RSHUDWRULORU�XQDUL������� ���

Page 5: C++ Tutorial(Romaneste)

3DJH�� RI����

� � �

ÌQWUHE�UL�úL�H[HUFL LL������������ ����������������� ���������� ��� ������0HPEULL�FRQVWDQ L�DL�XQHL�FODVH���� ������ ���

������6XSUDvQF�UFDUHD�RSHUDWRULORU ��� ������0RúWHQLUHD�VLPSO� ������������������������������

���LQVHUWRU�úL�H[WUDFWRU���� ������� ����������������� ��� ��� ������0RúWHQLUHD�PXOWLSO� ������������� ������

�����������

������6XSUDvQF�UFDUHD��RSHUDWRUXOXL�GH� ��� ������ 5HGHILQLUHD� PHPEULORU� XQHL�FODVH�GH

DWULEXLUH� ������ ������������������� ����������������� � ��� ��� ED]� vQ�FODVD�GHULYDW� �������������������������� ���������6XSUDvQF�UFDUHD�RSHUDWRUXOXL�GH� �������0HWRGH�YLUWXDOH������ ��� ��������������� �������� ���

LQGH[DUH�>�@ ��������� ��������������������������������� ��� ÌQWUHE�UL�úL�H[HUFL LL������������ ����������������� �������� ���������6XSUDvQF�UFDUHD�RSHUDWRULORU�QHZ úL�

GHOHWH� ��� ��������� ����������� ������������������������ ��� &$3,72/8/���� ,QWU�UL�LHúLUL�������6XSUDvQF�UFDUHD�RSHUDWRUXOXL���� ���������� ��� ������3ULQFLSLLOH�GH�ED]� DOH�VLVWHPXOXL�GH��������6XSUDvQF�UFDUHD�RSHUDWRUXOXL��!���������� ��� ,�2 GLQ�OLPEDMXO�&���������������������������� ����������&RQYHUVLL������������ �������������������������������� ��� ������7HVWDUHD�úL�PRGLILFDUHD�VW�ULL�XQXL

���������&RQYHUVLL�GLQ�WLS� IOX[������������������������������������������������������ ���SUHGHILQLW��vQ�WLS�SUHGHILQLW��� ��� ������)RUPDWDUHD�XQXL�IOX[������������������ �������� ���

���������&RQYHUVLL�GLQ�WLS�SUHGHILQLW� ��������)RUPDWDUHD�SULQ�vQ�FODV� ��������� ����������� ����������� ��� PDQLSXODWRUL���������� ����������� ���� ���

���������&RQYHUVLL�GLQ�FODV� vQ�WLS� �����������0DQLSXODWRUL�I�U�SUHGHILQLW���������������������������� �� ��� SDUDPHWUL���������������� ���

���������&RQYHUVLL�GLQ�FODV���vQ� �����������0DQLSXODWRUL�FXFODV�������������������� ����������� ������ ��� SDUDPHWUL���������������� ���

ÌQWUHE�UL�úL�H[HUFL LL������������ ����������������� ���������� ��� ��������)RUPDWDUHD�SULQ�PHWRGH����������� ����������0HWRGHOH�FODVHL�LVWUHDP���������������������� ���

&$3,72/8/���� &UHDUHD�LHUDUKLLORU�GH �������0HWRGHOH�FODVHL�RVWUHDP�������������������� ���FODVH �������0DQLSXODWRUL�FUHD L�GH�XWLOL]DWRU�������� ������ ������0HFDQLVPXO�PRúWHQLULL���� ��������������

���������� �������)OX[XUL�SHQWUX�ILúLHUH�������������������������� ���

������0RGXO�GH�GHFODUDUH�D�FODVHORU�GHULYDWH�� ��� �������)LúLHUH�ELQDUH�������������������������������������� ������ ������&RQVWUXFWRULL�FODVHORU�GHULYDWH������

���������� ÌQWUHE�UL�úL�H[HUFL LL������������ ����������������� ��������

��������������

Page 6: C++ Tutorial(Romaneste)

3DJH�� RI����

� � �

��12�,81,�,1752'8&7,9(�����6WUXFWXUD�JHQHUDO� D�XQXL�VLVWHP�GH�FDOFXO �������'HILQL LL�úL�FDUDFWHULVWLFL�����$OJRULWPL �������5HSUH]HQWDUHD�DOJRULPLORU

�������1R LXQL�JHQHUDOH �����7HRULD�UH]ROY�ULL�SUREOHPHORU

���� 6758&785$�*(1(5$/� $�818,�6,67(0�'(�&$/&8/&DOFXODWRUXO�UHSUH]LQW� XQ�VLVWHP�HOHFWURQLF��DQVDPEOX�GH�GLVSR]LWLYH�úL�FLUFXLWH�GLYHUVH��FRPSOH[GDWHOH� LQWURGXVH� vQWU�R� IRUP� SUHVWDELOLW��� HIHFWXHD]� GLYHUVH� RSHUD LL� DVXSUD� DFHVWRUD� úL� IXUQLRE LQXWH��ILJXUD�������

3ULQFLSDOHOH�DYDQWDMH�DOH�IRORVLULL�FDOFXODWRUXOXL�FRQVWDX�vQ��� YLWH]D�PDUH�GH�HIHFWXDUH�D�RSHUD LLORU�� FDSDFLWDWHD�H[WLQV� GH�SUHOXFUDUH�úL�PHPRUDUH�D�LQIRUPD LHL�'HúL�FRQVWUXF LD�XQXL�FDOFXODWRU�� GHWHUPLQDW� GH�WHKQRORJLD�H[LVWHQW� OD�XQ�PRPHQW�GDW��GH�GRPHGH�FRVWXO�HFKLSDPHQWXOXL�úL�GH�SHUIRUPDQ HOH�FHUXWH�� D�HYROXDW�UDSLG�vQ�XOWLPLL�DQL��VLVWHPHOH�GH�GH�PRGHO�� VHULH� VDX�JHQHUD LH�� DX�R� VHULH�GH� FDUDFWHULVWLFL� FRPXQH��&XQRDúWHUHD� DFHVWRU� FDUDFWSURFHVXO�GH�vQ HOHJHUH�úL�vQY� DUH�D�PRGXOXL�GH�IXQF LRQDUH�úL�GH�XWLOL]DUH�D�FDOFXODWRUXOXL�ÌQ�RULFH�VLVWHP�GH�FDOFXO�YRP�J�VL�GRX� S�U L�GLVWLQFWH�úL�OD�IHO�GH�LPSRUWDQWH��KDUGZDUH�XO�úL�VRIW� +DUGZDUH�XO�HVWH�UHSUH]HQWDW�GH�WRWDOLWDWHD�HFKLSDPHQWHORU�úL�GLVSR]LWLYHORU�IL]LFH�� 6RIWZDUH�XO�HVWH�UHSUH]HQWDW�SULQ�WRWDOLWDWHD�SURJUDPHORU�FDUH�DMXW� XWLOL]DWRUXO�vQ�UH]ROYDUHD�

�ILJXUD�������6RIWZDUH�XO�DUH�GRX� FRPSRQHQWH�SULQFLSDOH�� 6LVWHPXO� GH� RSHUDUH� �GH� H[SORDWDUH�� FDUH� FRRUGRQHD]� vQWUHDJD� DFWLYLWDWH� D� HFKLSDPH

6LVWHPXO�GH�RSHUDUH�LQWU� vQ�IXQF LXQH�OD�SRUQLUHD�FDOFXODWRUXOXL�úL�DVLJXU���vQ�SULQFLSDO��WUH9 *HVWLXQHD�HFKLWDELO� úL�HILFLHQW� D�UHVXUVHORU GLQ�FDGUXO�VLVWHPXOXL�GH�FDOFXO�9 5HDOL]DUHD�LQWHUIH HL�FX�XWLOL]DWRUXO�9 )XUQL]DUHD�VXSRUWXOXL�SHQWUX�GH]YROWDUHD�úL�H[HFX LD�DSOLFD LLORU�

([HPSOH�GH�VLVWHPH�GH�RSHUDUH��56;����&3�0��06�'26��/,18;��:,1'2:6�17��81,;�� 6LVWHPXO� GH� DSOLFD LL� �GH� SURJUDPDUH��� PHGLL� GH� SURJUDPDUH�� HGLWRDUH� GH� WH[WH�� FRPSLOD

DSOLFDWLYH�GLQ�GLYHUVH�GRPHQLL��HFRQRPLF��úWLLQ LILF��ILQDQFLDU��GLYHUWLVPHQW��&RPSRQHQWHOH� XQXL� VLVWHP� GH� FDOFXO� SRW� IL� JUXSDWH� vQ� XQLW� L� FX� IXQF LL� FRPSOH[H�� GDU� ELQH� SXQLW� L�IXQF LRQDOH��0RGHOXO�GLQ�ILJXUD������IDFH�R�SUH]HQWDUH�VLPSOLILFDW� D�VWUXFWXULL�XQXL�FDOFvQ HOHJHUHD�XQRU�QR LXQL�úL�FRQFHSWH�GH�ED]� SULYLQG�IXQF LRQDUHD�úL�XWLOL]DUHD�DFHVWXLD��'HQXPLUHLQGLF� IXQF LD�HL��LDU�V�JH LOH�� PRGXO�GH�WUDQVIHU�DO�LQIRUPD LHL�

'DWH�GH�LQWUDUH�GDWHOH�LQL LDOH�DOH�

SUREOHPHL�'DWH�GH�LHúLUH �UH]XOWD

RE LQXWH�352*5$0 �úLU�GH�DF LXQL���

SUHOXFU�UL��DOJRULWP�

)LJXUD�������&DOFXODWRUXO � VLVWHP�DXWRPDW�GH�SUHOXFUDUH�D�GDWHORU

�FDUH�SUHOXFUHD]�]HD]� UH]XOWDWHOH�

QLXO�GH�DSOLFD LH��FDOFXO��LQGLIHUHQW�HULVWLFL�XúXUHD]�

ZDUH�XO��SUREOHPHORU�VDOH�

QWXOXL� GH� FDOFXO�L�IXQF LL�

WRDUH�� SURJUDPH�

UHFL]DWH�� QXPLWH�XODWRU��IDFLOLWkQGD�ILHF�UHL�XQLW� L�

WHOH�

Page 7: C++ Tutorial(Romaneste)

3DJH�� RI����

� � �

9RP�XWLOL]D� vQ�FRQWLQXDUH�WHUPHQLL�GH�FLWLUH�SHQWUX�RSHUD LD�GH�LQWURGXFHUH��GH�LQWUDUH��GH�OD�WDVWDWXU� D�GDWHORU�LQL LDOH�DOH�XQHL�SUREOHPH��úL�VFULHUH�SHQWUX�RSHUD LD�GH�DILúDUH��GH�LHúLUH��D�UH]XOWDWHORU�RE LQXWH��ÌQ�FD]XO�vQ�FDUH�XWLOL]DWRUXO�GRUHúWH�V� UH]ROYH�R�SUREOHP� FX�DMXWRUXO�FDOFXODWRUXOXL��LQIRUPD LD�GH�LQWUDUH��IXUQL]DW� FDOFXODWRUXOXL�GH� F�WUH� XWLOL]DWRU�� YD� FRQVWD� GLQ� GDWHOH� LQL LDOH� DOH� SUREOHPHL� GH� UH]ROYDW� úL� GLQWU�XQ� SURJUDP� �QXPLW� SURJUDP�VXUV���� ÌQ� SURJUDPXO� VXUV� XWLOL]DWRUXO� LPSOHPHQWHD]� �WUDGXFH�� vQWU�XQ� OLPEDM� GH� SURJUDPDUH� XQ� DOJRULWP��DF LXQLOH� H[HFXWDWH� DVXSUD� GDWHORU� GH� LQWUDUH� SHQWUX� D� RE LQH� UH]XOWDWHOH��� $FHDVW� LQIRUPD LH� GH� LQWUDUH� HVWH�SUH]HQWDW� vQWU�R�IRUPD�H[WHUQ���DFFHVLELO� RPXOXL��QXPHUH��WH[W��JUDILF���úL�YD�IL�WUDQVIRUPDW� GH�F�WUH�FDOFXODWRU�vQWU�R�IRUPD�LQWHUQ���ELQDU��8QLWDWHD� GH� LQWUDUH �FX� IXQF LD� GH� FLWLUH�� UHDOL]HD]� DFHDVW� FRQYHUVLH� D� LQIRUPD LHL� GLQ� IRUPDW� H[WHUQ� vQ� FHO�LQWHUQ��'LQ�SXQFW�GH�YHGHUH�ORJLF��IOX[XO��LQIRUPD LD��GH�LQWUDUH�HVWH�XQ�úLU�GH�FDUDFWHUH��GLQ�H[WHULRU�F�WUH�PHPRULD�FDOFXODWRUXOXL��'LQ�SXQFW�GH�YHGHUH�IL]LF��XQLWDWHD�GH�LQWUDUH�VWDQGDUG�HVWH�WDVWDWXUD�FDOFXODWRUXOXL��7RW�FD�XQLW � L�GH�LQWUDUH��SRW�IL�HQXPHUDWH��PRXVH�XO��MR\VWLFN�XO��VFDQQHU�XO��SHQWUX�LQWURGXFHUHD�LQIRUPD LLORU�JUDILFH��8QLWDWHD�GH�LHúLUH �FX�IXQF LD�GH�VFULHUH��DILúDUH�� UHDOL]HD]� FRQYHUVLD�LQYHUV���GLQ�IRUPDWXO�LQWHUQ�vQ�FHO�H[WHUQ��DFFHVLELO�RPXOXL��'LQ�SXQFW�GH�YHGHUH�IL]LF��XQLWDWHD�GH�LHúLUH�VWDQGDUG�HVWH�PRQLWRUXO�FDOFXODWRUXOXL��&D�XQLW� L�GH�LHúLUH�vQWU�XQ�VLVWHP�GH�FDOFXO��PDL�SXWHP�HQXPHUD��LPSULPDQWD��SORWWHU�XO��HWF�,QIRUPD LD�HVWH�vQUHJLVWUDW� vQ�PHPRULH�0HPRULD� LQWHUQ� �PHPRULD�5$0�� 5DQGRP $FFHV 0HPRU\�� VH�SUH]LQW� FD�R� VXFFHVLXQH�GH�RFWH L� �RFWHW� VDX�E\WH VDX�ORFD LH�GH�PHPRULH���8Q�RFWHW�DUH���EL L��%LW�XO�UHSUH]LQW� XQLWDWHD�HOHPHQWDU� GH�LQIRUPD LH�úL SRDWH�DYHD�XQD�GLQ�YDORULOH����VDX����

&DSDFLWDWHD�XQHL�PHPRULL� HVWH� GDW� GH� QXP�UXO� GH� ORFD LL� SH� FDUH� DFHDVWD� OH� FRQ LQH� úL� VH�P�VRDU� vQ�PXOWLSOLL�GH�������� �� ���'H�H[HPSOX����0E\WH ����.E\WHV���.E\WH ����E\WHV�1XP�UXO�GH�RUGLQH�DO�XQXL�RFWHW� vQ�PHPRULH�VH�SRDWH�VSHFLILFD�SULQWU �XQ�FRG��QXPLW�DGUHV�� 2UGLQHD�vQ�FDUH�VXQW�DGUHVDWH�ORFD LLOH�GH�PHPRULH�QX�HVWH�LPSXV���PHPRULD�ILLQG�XQ�GLVSR]LWLY�FX�DFFHV�DOHDWRU� OD�LQIRUPD LH�ÌQ�PHPRULH�VH�vQUHJLVWUHD]� GRX� FDWHJRULL�GH�LQIRUPD LL�� 'DWH�� LQIRUPD LL�GH�SUHOXFUDW�� 3URJUDPH� � FRQ LQ�GHVFULHUHD� �LPSOHPHQWDUHD� vQWU�XQ� OLPEDM�GH�SURJUDPDUH��D� DF LXQLORU�FDUH�YRU� IL�

H[HFXWDWH�DVXSUD�GDWHORU��vQ�YHGHUHD�SUHOXFU�ULL�DFHVWRUD�

)LJXUD�������(FKLSDPHQWXO�GH�FDOFXO�FD�XQ�VLVWHP�KDUGZDUH�VRIWZDUH

+$5':$5(

6,67(0�23(5$5(

87,/,=$725

62)7:$5(

62)7:$5(�'(�$3/,&$�,(

Page 8: C++ Tutorial(Romaneste)

3DJH�� RI����

� � �

ÌQ�PHPRULD� LQWHUQ� HVWH� S�VWUDW� GRDU� LQIRUPD LD� SUHOXFUDW� OD� XQ�PRPHQW� GDW��0HPRULD� LQWHUQ� DUH� FDSDFLWDWH�UHGXV���DFFHVXO�OD�LQIRUPD LD�SDVWUDW� vQ�DFHDVWD�HVWH�H[WUHP�GH�UDSLG��LDU�GDWHOH�QX�VXQW�S�VWUDWH�GXS� WHUPLQDUHD�SUHOXFU�ULL��DX�XQ�FDUDFWHU�WHPSRUDU��8QLWDWHD�FHQWUDO� SUHOXFUHD]� GDWHOH�GLQ�PHPRULD�LQWHUQ� úL�FRRUGRQHD]� DFWLYLWDWHD�WXWXURU�FRPSRQHQWHORU�IL]LFH�DOH�XQXL�VLVWHP�GH�FDOFXO��(D�vQJOREHD]��

� 0LFURSURFHVRUXO� FLUFXLW�LQWHJUDW�FRPSOH[�FX�XUP�WRDUHOH�FRPSRQHQWH�GH�ED]��9 8QLWDWHD�GH�H[HFX LH��UHDOL]HD]� RSHUD LL�ORJLFH�úL�PDWHPDWLFH��9 8QLWDWHD�GH�LQWHUID ��D�PDJLVWUDOHL��WUDQVIHU� GDWHOH�OD�GH�OD�PLFURSURFHVRU��

� &RSURFHVRUXO�PDWHPDWLF�± FLUFXLW�LQWHJUDW�GHVWLQDW�UHDOL]�ULL�FX�YLWH]� VSRULW� D�RSHUD LLORU�FX�QXPHUH�UHDOH�

ÌQ�IXQF LH�GH�QXP�UXO�GH�EL L�WUDQVIHUD L�VLPXOWDQ�SH�PDJLVWUDOD�GH�GDWH��PLFURSURFHVRDUHOH�SRW�IL�FODVLILFDWH�DVWIHO��PLFURSURFHVRDUH� SH� �� EL L� �=���� ������� PLFURSURFHVRDUH� SH� ��� EL L� ������� ������ ������� FX� FRSURFHVRDUHOH�FRUHVSXQ]�WRDUH����������������IDPLOLL�GH�SURFHVRDUH�SH����EL L�������';���������3(17,80��FX�FRSURFHVRDUHOH�FRUHVSXQ]�WRDUH��vQFHSkQG�GH�OD������FRSURFHVRDUH�VXQW�vQFRUSRUDWH�PLFURSURFHVRDUHORU� �0HPRULD� H[WHUQ� HVWH� UHSUH]HQWDW��� IL]LF�� SULQ� XQLW� LOH� GH� GLVFXUL� � �GLVFXUL� GXUH�KDUG� GLVN�� GLVFXUL� IOH[LELOH�IORSS\� GLVN�� GLVFXUL� GH� SH� FDUH� LQIRUPD LD� SRDWH� IL� GRDU� FLWLW��&'520�� '9'520�� HWF��� 6SUH� GHRVHELUH� GH�PHPRULD� LQWHUQ���PHPRULD� H[WHUQ� DUH� FDSDFLWDWH�PXOW�PDL�PDUH�� GDWHOH� vQUHJLVWUDWH� DX� FDUDFWHU� SHUPDQHQW�� vQ�GH]DYDQWDMXO�WLPSXOXL�GH�DFFHV�OD�LQIRUPD LH�

������$/*25,70,��������12�,81,�*(1(5$/($OJRULWPXO HVWH�FRQFHSWXO�IXQGDPHQWDO DO�LQIRUPDWLFLL��2ULFH�HFKLSDPHQW�GH�FDOFXO�SRDWH�IL�FRQVLGHUDW�R�PD úLQ�DOJRULWPLF���ÌQWU�R�GHILQL LH�DSUR[LPDWLY���DOJRULWPXO�HVWH�XQ�VHW�GH�SDúL�FDUH�GHILQHúWH�PRGXO�vQ�FDUH�SRDWH�IL�GXV�OD�vQGHSOLQLUH�R�DQXPLW� VDUFLQ�� ([HPSOX�GH�DOJRULWP��DOJRULWPXO�GH�LQWHUSUHWDUH�D�XQHL�EXF� L�PX]LFDOH��GHVFULV�vQ�SDUWLWXU����3HQWUX�FD�R�PDúLQ� GH�FDOFXO�V� SRDW� UH]ROYD�R�DQXPLW� SUREOHP���SURJUDPDWRUXO�WUHEXLH�PDL�vQWkL�V�VWDELOHDVF� XQ�DOJRULWP�FDUH�V� FRQGXF� OD�HIHFWXDUHD�OD�VDUFLQLL�UHVSHFWLYH�([HPSOX�

$OJRULWPXO� OXL� (XFOLG� SHQWUX� GHWHUPLQDUHD� FHOXL�PDL�PDUH� GLYL]RU� FRPXQ� �FPPGF�� D� �� QXPHUH� vQWUHJL�SR]LWLYH�'DWH�GH�LQWUDUH��FHOH���QXPHUH�vQWUHJL'DWH�GH�LHVLUH��FPPGF

�� 6H�QRWHD]� FX�$�úL�%� FHD�PDL�PDUH��UHVSHFWLY�FHD�PDL�PLF���GLQWUH�GDWHOH�GH�LQWUDUH�� 6H�vPSDUWH�$�OD�%�úL�VH�QRWHD]� FX�5�UHVWXO�vPS�U LULL�� D��'DF� 5�GLIHULW�GH����VH�DWULEXLH�OXL�$�YDORDUHD�OXL�%�úL�OXL�%�YDORDUHD�OXL�5��6H�UHYLQH�OD�SDVXO���

8QLWDWH�GH�LQWUDUH��IOX[�GH�LQWUDUH�� LVWUHDP vQ�&��� 0HPRULH�LQWHUQ� 8QLWDWH�GH�LHúLUH��IOX[�GH�

LHúLUH�� RVWUHDP vQ�&���

8QLWDWH�FHQWUDO�

0HPRULH�H[WHUQ�

)LJXUD�������8QLW� LOH�IXQF LRQDOH�DOH�XQXL�VLVWHP�GH�FDOFXO

Page 9: C++ Tutorial(Romaneste)

3DJH�� RI����

� � �

E��'DF� 5�HVWH����DWXQFL�FPPGF�HVWH�%�3UREOHPH�OHJDWH�GH�DOJRULWPL'HVFRSHULUHD� XQXL� DOJRULWP� FDUH� V� UH]ROYH� R� SUREOHP� HFKLYDOHD]� vQ� HVHQ �� FX� GHVFRSHULUHD� XQHL� VROX LL� D�SUREOHPHL��'XS� GHVFRSHULUHD�DOJRULWPXOXL��SDVXO�XUP�WRU�HVWH�FD�DOJRULWPXO� UHVSHFWLY�V� ILH� UHSUH]HQWDW� � vQWU�R�IRUP� vQ�FDUH�V� SRDW� IL�FRPXQLFDW�XQHL�PDúLQL�GH�FDOFXO��$OJRULWPXO�WUHEXLH�WUDQVFULV�GLQ�IRUPD�FRQFHSWXDO � vQWU�XQ� VHW� FODU� GH� LQVWUXF LXQL�� $FHVWH� LQVWUXF LXQL WUHEXLH� UHSUH]HQWDWH� vQWU�XQ�PRG� OLSVLW� GH� DPELJXLWDWH�� ÌQ� DFHVW�GRPHQLX�� VWXGLLOH� VH� ED]HD]� SH� FXQRúWLQ HOH� SULYLWRDUH� OD� JUDPDWLF� úL� OLPEDM� úL� DX� GXV� OD� R�PDUH� YDULHWDWH� GH�VFKHPH�GH�UHSUH]HQWDUH�D�DOJRULWPLORU��QXPLWH�OLPEDMH�GH�SURJUDPDUH���ED]DWH�S H�GLYHUVH�DERUG�UL�DOH�SURFHVXOXL�GH�SURJUDPDUH��QXPLWH�SDUDGLJPH�GH�SURJUDPDUH��&�XWDUHD�XQRU�DOJRULWPL�SHQWUX�UH]ROYDUHD�XQRU�SUREOHPH�GLQ�FH�vQ�FH�PDL�FRPSOH[H�D�DYXW�FD�XUPDUH�DSDUL LD�XQRU�vQWUHE�UL�OHJDWH�GH�OLPLWHOH�SURFHVHORU�DOJRULWPLFH��FXP�DU IL�� &H�SUREOHPH�SRW�IL�UH]ROYDWH�SULQ�LQWHUPHGLXO�SURFHVHORU�DOJRULWPLFH"� &XP�WUHEXLH�SURFHGDW�SHQWUX�GHVFRSHULUHD�DOJRULWPLORU"� &XP�SRW�IL�vPEXQ�W� LWH�WHKQLFLOH�GH�UHSUH]HQWDUH�úL�FRPXQLFDUH�D�DOJRULWPLORU"� &XP�SRW�IL�DSOLFDWH�FXQRúWLQ HOH�GREkQGLWH�vQ�YHGHUHD�RE LQHULL�XQRU�PDúLQL�DOJRULWPLFH�PDL�SHUIRUPDQWH"� &XP�SRW�IL�DQDOL]DWH�úL�FRPSDUDWH�FDUDFWHULVWLFLOH�GLYHUúLORU�DOJRULWPL"

��������'(),1,�,,�ù,�&$5$&7(5,67,&,'HILQL LL��

$OJRULWPXO�XQHL�SUHOXFU�UL�FRQVW� vQWU�R�VHFYHQ ��GH�SULPLWLYH�FDUH�GHVFULH�SUHOXFUDUHD�$OJRULWPXO�HVWH�XQ�VHW�RUGRQDW�GH�SDúL�H[HFXWDELOL��GHVFULúL�I�U� HFKLYRF��FDUH�GHILQHVF�XQ�SURFHV�ILQLW�

3URSULHW� LOH�IXQGDPHQWDOH DOH�DOJRULWPLORU�� &DUDFWHUXO�ILQLW� RULFH�DOJRULWP�ELQH�SURLHFWDW�VH�WHUPLQ� vQWU�XQ�QXP�U�ILQLW�GH�SDúL�� &DUDFWHUXO�XQLF�úL�XQLYHUVDO��RULFH�DOJRULWP�WUHEXLH�V� UH]ROYH�WRDWH�SUREOHPHOH�GLQWU�R�FODV� GH�SUREOHPH�� 5HDOL]DELOLWDWHD��RULFH�DOJRULWP�WUHEXLH�V� SRDW� IL�FRGLILFDW�vQWU�XQ�OLPEDM�GH�SURJUDPDUH�� &DUDFWHUXO�GLVFUHW��ILHFDUH�DF LXQH�VH�H[HFXW� OD�XQ�PRPHQW�GDW�GH�WLPS�� &DUDFWHUXO�GHWHUPLQLVW��RUGLQHD�DF LXQLORU�vQ�H[HFX LH�HVWH�GHWHUPLQDW� vQ�PRG�XQLF�GH�UH]XOWDWHOH�RE LQXWH�OD�

ILHFDUH�PRPHQW�GH�WLPS�1HUHVSHFWDUHD�DFHVWRU�FDUDFWHULVWLFL�JHQHUDOH�FRQGXFH�OD�RE LQHUHD�GH�DOJRULWPL�QHSHUIRUPDQ L��SRVLELO�LQILQL L�VDX�QHUHDOL]DELOL�

��������5(35(=(17$5($�$/*25,70,/255HSUH]HQWDUHD� �GHVFULHUHD�� XQXL� DOJRULWP� QX� VH� SRDWH� IDFH� vQ� DEVHQ D� XQXL� OLPEDM� FRPXQ� FHORU� FDUH� YRU� V� vO�vQ HOHDJ��� 'H� DFHHD� V�D� VWDELOLW� R� PXO LPH� ELQH� GHILQLW� GH� SULPLWLYH �EORFXUL� HOHPHQWDUH� FDUH� VWDX� OD� ED]D�UHSUH]HQW�ULL� DOJRULWPLORU��� )LHFDUH� SULPLWLY� VH� FDUDFWHUL]HD]� SULQ� VLQWD[� úL� VHPDQWLF��� 6LQWD[D� VH� UHIHU� OD�UHSUH]HQWDUHD�VLPEROLF� D�SULPLWLYHL��VHPDQWLFD�VH�UHIHU� OD�VHPQLILFD LD�SULPLWLYHL��([HPSOX�GH�SULPLWLY���DHU�GLQ�SXQFW�GH�YHGHUH� VLQWDFWLF�HVWH�XQ�FXYkQW� IRUPDW�GLQ� WUHL� VLPEROXUL� �OLWHUH��� GLQ�SXQFW�GH�YHGHUH�VHPDQWLF� HVWH�R�VXEVWDQ ��JD]RDV� FDUH�vQFRQMRDU� JOREXO�S�PkQWHVF��$OJRULWPLL�VH�UHSUH]LQW� SULQ�

� VFKHPH�ORJLFH�� SVHXGRFRG�

Page 10: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

����������5HSUH]HQWDUHD�DOJRUL WPLORU�SULQ�VFKHPH�ORJLFH3ULPLWLYHOH�XWLOL]DWH�vQ�VFKHPHOH�ORJLFH�VXQW�VLPEROXUL�JUDILFH��FX�IXQF LXQL��UHSUH]HQWkQG�SURFHVH�GH�FDOFXO��ELQH�SUHFL]DWH��$FHVWH�VLPEROXUL�VXQW�XQLWH�SULQ�DUFH�RULHQWDWH�FDUH�LQGLF� RUGLQHD�GH�H[HFX LH�D�SURFHVHORU�GH�FDOFXO�&DWHJRULL�GH�VLPEROXUL�� 6LPEROXUL�GH�vQFHSXW úL�VIkUúLW

� 6LPEROXO�SDUDOHORJUDP

� 6LPEROXO�GUHSWXQJKL

� 6LPEROXO�URPE

&X�DMXWRUXO�DFHVWRU�VLPEROXUL�JUDILFH�VH�SRDWH�UHSUH]HQ5HSHWDUHD XQHL�VHFYHQ H�VH�UHDOL]HD]� SULQ�FRPELQDUH6WUXFWXULOH�UHSHWLWLYH�RE LQXWH�SRW�IL��FX�WHVW�LQL LDO�VDX

6WUXFWXUL�UHSHWLWLYH�FX�WHVW�LQLWLDO

&,7(ù7(�D�� $),ù($=� D�

D�m��

67$57 6723

)LJXUD�������6WUXFWXUD�GH�GHFL]LH

'$18

$&�,81(� $&�,81(�

&RQGL LH�vQGHSOLQLW�

'$18

$&�,81(� $&�,81(�

&RQGL LH�vQGHSOLQLW

)LJXUD�� ����6WUXFWXU� WLWLY� X� W�L L L O

6LPEROXO� 67$57 GHVHPQHD]� vQFHSXWXO� XQXL�SURJUDP�VDX�DO�XQXL�VXESURJUDP��6LPEROXO� 6723 GHVHPQHD]� VIkUúLWXO XQXL�SURJUDP�VDX�DO�XQXL� VXESURJUDP��3UH]HQ D� ORU�HVWH�REOLJDWRULH�

WD�RULFH�DOJRULWP��D�VLPEROXULORU�GH�GHFL]LH�úL�GH�DWULEXLUH��FX�WHVW�ILQDO�

6HPQLILF� SURFHVH��RSHUD LL��GH�LQWUDUH�LHúLUH��FLWLUHD�VDX�VFULHUHD��E

6HPQLILF� R�DWULEXLUH��PRGLILFDUHD�YDORULL�XQHL�GDWH��

6LPEROXO�URPE�HVWH�XWLOL]DW�SHQWUX�GHFL]LL��ILJXUD��������6H�WHVWHD]� vQGHSOLQLUHD��FRQGL LHL�GLQ�EORFXO�GH�GHFL]LH��'DF�DFHDVW� FRQGL LH�HVWH�vQGHSOLQLW���VH�H[HFXW� $&�,81(���'DF� QX��VH�H[HFXW�$&�,81(���/D�XQ�PRPHQW�GDW��VH�H[HFXW� VDX $&�,81(���VDX $&�,81(��

6H�HYDOXHD]� FRQGL LD�GH�WHVW��ILJXUD��������'DF� DFHDVWD�HVWH�vQGHSOLQLW���VH�H[HFXW�$&�,81(���6H�UHYLQH�DSRL�úL�VH�WHVWHD]� LDU�FRQGL LD��'DF� HVWH�vQGHSOLQLW���VH�H[HFXW� �VH�UHSHW���$&�,81(���ú�D�P�G��$ELD�vQ�PRPHQWXO�vQ�FDUH�FRQGL LD�QX�PDL�HVWH�vQGHSOLQLW���VH�WUHFH�OD�H[HFX LD�$&�,81(��$VWIHO��FkW�WLPS FRQGL LD�HVWH�vQGHSOLQLW���VH�UHSHW� $&�,81(���ÌQ�FD]XO�vQ�FDUH��OD�SULPD�WHVWDUH�D�FRQGL LHL��DFHDVWD�QX�HVWH�vQGHSOLQLW���VH�H[HFXW� $&�,81(���$VWIHO��HVWH�SRVLELO�FD�$&�,81(� V� QX�ILH�H[HFXWDW� QLFLRGDW��

Page 11: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

([LV� úL�VLWXD LL�vQ�FDUH�VH�úWLH�GH�OD�vQFHSXW�GH�FkWH�RUL�VH YD�UHSHWD�R�DQXPLW� DF LXQH��ÌQ�DFHVWH�FD]XUL�VH�IRORVHúWH�WRW�R� VWUXFWXU� GH�FRQWURO� UHSHWLWLY� FX� WHVW� LQL LDO��6H�XWLOL]HD]� XQ�FRQWRU� �QXPHULF��SHQWUX� D� LQH�R� HYLGHQ �� D�QXP�UXOXL�GH�H[HFX LL�DOH�DF LXQLL��'H�FkWH�RUL�VH�H[HFXW� DF LXQHD��FRQWRUXO�HVWH�LQFUHPHQWDW�

6WUXFWXU� UHSHWLWLY� FX�WHVW�ILQDO�

����������5HSUH]HQWDUHD�DOJRULWPLORU�SULQ�SVHXGRFRG3VHXGRFRGXO� HVWH� LQVSLUDW�GLQ� OLPEDMHOH� GH� SURJUDPDUH�� QHILLQG� vQV� DWkW� GH� IRUPDOL]DW� FD� DFHVWHD�� 3VHXGRFRGXO�UHSUH]LQW� R� SXQWH� GH� OHJ�WXU� vQWUH� OLPEDMXO� QDWXUDO� úL� OLPEDMHOH� GH� SURJUDPDUH��1X� H[LVW� XQ� VWDQGDUG� SHQWUX�UHJXOLOH�OH[LFDOH��/LPEDMXO�SVHXGRFRG�SHUPLWH�FRPXQLFDUHD�vQWUH�RDPHQL��úL�QX�FRPXQLFDUHD�RP �PDúLQD��SUHFXP�OLPEDMHOH�GH�SURJUDPDUH���3VHXGRFRGXO�XWLOL]HD]� FXYLQWH� FKHLH� �VFULVH� FX�PDMXVFXOH� VXEOLQLDWH�� FX�XUP�WRDUHOH�VHPQLILFD LL�6IkUúLW�DOJRULWP� 6)Æ5ù,7ÌQFHSXW�DOJRULWP� Ì1&(387&LWLUH��LQWURGXFHUH��GDWH� &,7(ù7( OLVWD

)LJXUD������6WUXFWXU� UHSHWLWLY� FX�WHVW�LQL LDO��FX�QXP�U�FXQRVFXW�GH�SDúL

6H�DWULEXLH�FRQWRUXOXL�YDORDUHD�LQL LDO��ILJXUD��������&kW�WLPS�FRQGL LD �YDORDUHD�FRQWRUXOXL�HVWH�PDL PLF� VDX�HJDO� FX�YDORDUHD�ILQDO���HVWH�vQGHSOLQLW���VH�UHSHW��� $&�,81(� LQFUHPHQWDUH�FRQWRU��VH�DGXQ� ��OD�

YDORDUHD�DQWHULRDU� D�FRQWRUXOXL��

FRQWRUmYDORDUHBLQL LDO�

YDORDUHBFRQWRU� YDORDUHBILQDO�

$&�,81(

YDORDUHBFRQWRU�P Q� �� �� YDORDUHBFRQWRU����

'$18

6H�H[HFXW� PDL�vQWkL�$&�,81(���6H�WHVWHD]� DSRL�FRQGL LD��ILJXUD��������6H�UHSHW� $&�,81(� FkW�WLPS FRQGL LD�HVWH�vQGHSOLQLW��ÌQ�DFHVW�FD]��FRUSXO�FLFOXOXL��$&�,81(���HVWH�H[HFXWDW�FHO�SX LQ�R�GDW��

18

'$

$&�,81(��

$&�,81(��

&RQGL LH�vQGHSOLQLW�

)LJXUD�������6WUXFWXU� UHSHWLWLY� FX�WHVW�ILQDO

Page 12: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

6FULHUH��DILúDUH��GDWH� 6&5,( OLVWD$WULEXLUH� ��6WUXFWXUD�GH�GHFL]LH��DOWHUQDWLY��� '$&� FRQGL LH

$781&, DF LXQH�$/7)(/ DF LXQH�

6WUXFWXUL�UHSHWLWLYH�FX�WHVW�LQL LDO� &Æ7�7,03 FRQGL LH5(3(7� DF LXQH3(1758 FRQWRU YDOBLQL /$ YDOBILQ >3$6@5(3(7� DF LXQH�

6WUXFWXUL�UHSHWLWLYH�FX�WHVW�ILQDO�5(3(7� DF LXQH�&Æ7�7,03 FRQGL LH

VDX�5(3(7� DF LXQH�3Æ1� &Æ1' FRQGL LH

3H� OkQJ� FXYLQWHOH� FKHLH�� vQ� UHSUH]HQWDUHD� DOJRULWPLORU� vQ� SVHXGRFRG� SRW� DSDUH� úL� SURSR]L LL� QHVWDQGDUG� D� FDURU�GHWDOLHUH�YD�IL�UHDOL]DW� XOWHULRU�ÌQ�FD]XO�vQ�FDUH�VH�UHDOL]HD]� XQ�DOJRULWP�PRGXODUL]DW��SRW�DSDUH�FXYLQWHOH FKHLH�68%$/*25,70 QXPH��OLVWDBLQWU�UL�&+($0� QXPH��OLVWDBYDORULBHIHFWLYHBGHBLQWUDUH�([HPSOH�6H�YRU�UHSUH]LQWD�vQ�FRQWLQXDUH�DOJRULWPLL�GH�UH]ROYDUH�SHQWUX�FkWHYD�SUREOHPH�VLPSOH��SHQWUX�SULPHOH���SUREOHPH�VH�YD�H[HPSOLILFD�úL�PRGXO�GH�LPSOHPHQWDUH�D�DFHVWRU�DOJRULWPL�vQ�OLPEDMXO�&������ 6H�FLWHVF���YDORUL�QXPHULFH�UHDOH��FDUH�UHSUH]LQW� GLPHQVLXQLOH��OXQJLPHD�úL� O� LPHD�XQXL�GUHSWXQJKL���6� VH�

FDOFXOH]H�úL�V� VH�DILúH]H�DULD�GUHSWXQJKLXOXL�

67$57

&,7(ù7(�/��O

DULD��� /� �O

$),ù($=� DULD

6723

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ���^�GRXEOH�/��O�FRXW���/XQJLPH ���FLQ!!/�FRXW���/D LPH ���FLQ!!O�GRXEOH�DULD� �/� �O�FRXW�����$ULD ����DULD�`

$/*25,70�DIODUHBDULHBGUHSW,1&(387

&,7(ù7(�/�ODULD��� / O$),ù($=$�DULD

6)$5ù,7

,PSOHPHQWDUH�

Page 13: C++ Tutorial(Romaneste)

3DJH��� RI����

�� 6H�FLWHVF���YDORUL�UHDOH��6� VH�DILVH]H�YDORDUHD�PD[LPXOXL�GLQWUH�FHOH���QXPHUH�

,PSO

�� 6Q

$OJR

$OJR

&UHúDFWLY

6)$5ù,7

6DX�

$,

6

$/*25,70�PD[B�BQU,1&(387

&,7(67(�D��E'$&$ D�! �E

$781&,�PD[��D$/7)(/�PD[��E

$),6($=$�PD[

� �� �

HPHQWDUH�vQ�OLPEDMXO�&���

� VH� FLWHDVF� FkWH� �� QXPHUH� vQWUHJL�� SkQ� OD� vQWkOQLUHXPHUH�FLWLWH��V� VH�DILúH]H�PD[LPXO�ULWP�FDUH�XWLOL]HD]� VWUXFWXU� UHSHWLWLY� FX�WHVW�LQL LDO�

ULWP�FDUH�XWLOL]HD]� VWUXFWXU� UHSHWLWLY� FX�WHVW�ILQDO�

������7(25,$�5(=2/9�WHUHD� FRPSOH[LW� LL� SUREOHPHORU� VXSXVH� UH]ROY�ULL� DXLWDWHD�GH�SURJUDPDUH�V� GHYLQ���GH�IDSW��XQ�FRPSOH[�GH

6)$5ù,7

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ���^�IORDW�D��E��PD[�FRXW���D ���FLQ!!D�FRXW���E ���FLQ!!E�LI��D�! �E�

PD[� �D�HOVH PD[� �E�FRXW���0D[LPXO�HVWH����PD[�`

/*25,70�PD[BSHUHFKL�1&(387

&,7(67(�D�E&$7�7,03�D��VDX�E���5(3(7$

,1&(387'$&$��D! E�

$781&,�$),6($=$� D$/7)(/�$),6($=$ E

&,7(67(�D�E6)$56,7)$56,7

$/*,1&

6)$

$/*25,70�PD[B�BQUÌ1&(387

&,7(ù7(�D��E'$&$ D�! �E

$781&,�$),6($=$�D$/7)(/�$),6($=$�E

D� SHUHFKLL� GH� QXPHUH� ������ 3HQWUX� ILHFDUH� SHUHFKH�GH�

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ���^�IORDW�D��E�FRXW���D ��FLQ!!D�FRXW���E ���FLQ!!E�LI��D�! �E�

FRXW���0D[LPXO�HVWH����D�HOVH

FRXW���0D[LPXO�HVWH����E� `

25,70�PD[BSHUHFKL�(387D�8 �&$7�7,03��D���VDX�E����5(3(7$

,1&(387&,7(67( D��E'$&$��D! E�

$781&,�$),6($=$� D$/7)(/�$),6($=$ E

6)$56,756,7

$/*25,70�PD[BSHUHFKL�,1&(387

5(3(7$,1&(387

&,7(ù7(�D�E'$&$��D! E�

$781&,�$),ù($=$� D$/7)(/�$),ù($=$ E

6)$5ù,7&$7�7,03��D���VDX�E���

5,,�352%/(0(/25WRPDWH� �FX� DMXWRUXO� FDOFXODWRUXOXL�� D� GHWHUPLQDW� FD��DFWLYLW� L��

Page 14: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

3HQWUX�UH]ROYDUHD�XQHL�SUREOHPH�WUHEXLH�SDUFXUVH�XUP�WRDUHOH�HWDSH�� $QDOL]D�SUREOHPHL��vQ HOHJHUHD�SUREOHPHL�úL�VSHFLILFDUHD�FHULQ HORU�DFHVWHLD���6H�VWDELOHVWH� FH WUHEXLH�V� IDF�

DSOLFD LD�� úL�QX�FXP�� 6H� VWDELOHVF� GDWHOH� GH� LQWUDUH� �LGHQWLILFDUHD�PHGLXOXL� LQL LDO�� úL� VH� VWDELOHVF� RELHFWLYHOH��LGHQWLILFDUHD�PHGLXOXL�ILQDO��D�UH]XOWDWHORU��

� 3URLHFWDUHD��FRQFHSHUHD�XQHL�PHWRGH�GH�UH]ROYDUH�D�SUREOHPHL�SULQWU�R�PHWRG� DOJRULWPLF���� ,PSOHPHQWDUHD��FRGLILFDUHD�DOJRULWPXOXL�DOHV�vQWU�XQ�OLPEDM�GH�SURJUDPDUH��� 7HVWDUHD�DSOLFD LHL�RE LQXWH��YHULILFDUHD�FRUHFWLWXGLQLL�SURJUDPXOXL��� ([SORDWDUHD�úL�vQWUH LQHUHD��PHQWHQDQ D��DFWLYLWDWHD�GH PRGLILFDUH�D�DSOLFD LHL�OD�FHUHUHD�EHQHILFLDUXOXL�VDX�vQ�

XUPD�XQRU�GHILFLHQ H�FRQVWDWDWH�SH�SDUFXUVXO�XWLOL]�ULL�DSOLFD LHL��ÌQ� DFHVW� FRQWH[W�� DFWLYLWDWHD� GH� SURJUDPDUH� D� GHYHQLW� R� DFWLYLWDWH� RUJDQL]DW ��� GHILQLQGX�VH� PHWRGH� IRUPDOH� GH�GH]YROWDUH�D�ILHF�UHL�HWDSH��(WDSHOH�GHVFULVH�DQWHULRU�DOF�WXLHVF�FLFOXO�GH�YLD ��DO�XQXL�SURGXV�VRIWZDUH úL�FRQVWLWXLH�RELHFWXO�GH�VWXGLX�DO�GLVFLSOLQHL�QXPLWH�LQJLQHULD�VLVWHPXORU�GH�SURJUDPH��VRIWZDUH�HQJLQHHULQJ��7HRUHWLFLHQLL�LQJLQHULHL�SURJUDP�ULL�FRQVLGHU� F� UH]ROYDUHD�XQHL�SUREOHPH�VH�SRDWH�IDFH�SH���GLUHF LL�� 5H]ROYDUHD�RULHQWDW��SH�DOJRULWP �SH�DF LXQH���vQ�FDUH�RUJDQL]DUHD�GDWHORU�HVWH�QHHVHQ LDO��� 5H]ROYDUHD�RULHQWDW��SH�GDWH��DF LXQLOH�ILLQG�GHWHUPLQDWH�GRDU�GH�RUJDQL]DUHD�GDWHORU�� 5H]ROYDUHD�RULHQWDW��RELHFW� FDUH�FRPELQ� WHQGLQ HOH�SULPHORU�GRX� DERUG�UL�$ERUGDUHD�DOHDV� GHWHUPLQ� PRGHODUHD�SUREOHPHL�GH�UH]ROYDW�'LQWUH� PHWRGHOH� GH� SURLHFWDUH� RULHQWDWH� SH� DOJRULWP DPLQWLP�� PHWRGD� SURJUDP�ULL� VWUXFWXUDWH úL� PHWRGD�UDILQ�ULL�VXFFHVLYH��$PEHOH�DX�FD�SXQFW�GH�SOHFDUH�PHWRGD�GH�SURLHFWDUH�WRS�GRZQ��FRQVLGHUDW� FD�ILLQG�R�PHWRG�FODVLF� GH�IRUPDOL]DUH�D�SURFHVXOXL�GH�GH]YROWDUH�D�XQXL�SURGXV�VRIWZDUH��/D� ED]D� PHWRGHL� WRS�GRZQ� VW� GHVFRPSXQHUHD� IXQF LRQDO� D� SUREOHPHL� 3�� DGLFD� J�VLUHD� XQXL� QXP�U� GH�VXESUREOHPH�3� ��3 � ������3 Q ��FX�XUP�WRDUHOH�SURSULHW� L�� )LHFDUH�VXESUREOHP� 3 L ��� L� Q��SRDWH�IL�UH]ROYDW� LQGHSHQGHQW��'DF� QX�FRQVWLWXLH�R�SUREOHP� HOHPHQWDU���

SRDWH�IL��OD�UDQGXO�HL��GHVFRPSXV��� )LHFDUH�VXESUREOHP� 3 L HVWH�PDL�VLPSO� GHFkW�SUREOHPD�3�� 6ROX LD�SUREOHPHL�3�VH�RE LQH�SULQ�UHXQLXQHD�VROX LLORU�VXESUREOHPHORU�3 L �� 3URFHVXO�GH�GHVFRPSXQHUH�VH�RSUHúWH�vQ�PRPHQWXO�vQ�FDUH�WRDWH�V XESUREOHPHOH�3 L RE LQXWH�VXQW�HOHPHQWDUH��

GHFL�SRW�IL�LPSOHPHQWDWH�&RPXQLFDUHD�vQWUH�DFHVWH�VXESUREOHPH�VH�UHDOL]HD]� SULQ�LQWHUPHGLXO�SDUDPHWULORU���,PSOHPHQWDUHD�PHWRGHL��WRS�GRZQ�vQWU�XQ� OLPEDM�GH�SURJUDPDUH�VH�IDFH�FX�DMXWRUXO�PRGXOHORU�GH�SURJUDP��IXQF LL�VDX�SURFHGXUL�vQ�OLPEDMXO�3DVFDO��IXQF LL�vQ�OLPEDMXO�&��

'HVFRPSXQHUHD�IXQF LRQDO� D�XQXL�SURJUDP�3 FRQVW� vQ�LGHQWLILFDUHD�IXQF LLORU��WDVN�XULORU��VDUFLQLORU��SULQFLSDOH�DOH�SURJUDPXOXL��3 � ��3 � ��3 � ���ILHFDUH�GLQWUH�DFHVWH�IXQF LL�UHSUH]HQWkQG�XQ�VXESURJUDP��ILJXUD��������3UREOHPHOH�GH�SH�DFHODúL�QLYHO�LVXQW�LQGHSHQGHQWH�XQHOH�ID ��GH DOWHOH�

3

3 �3�

3

3 �3 �

3�

)LJXUD�������'HVFRPSXQHUHD�IXQF LRQDO�

Page 15: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

������ (WDSHOH�UH]ROY�ULL�XQHL�SUREOHPH�FX�DMXWRUXO�FDOFXODWRUXOXL6� GHWDOLHP� vQ� FRQWLQXDUH� HWDSD� GH� LPSOHPHQWDUH�� 'XS� DQDOL]D� SUREOHPHL� úL� VWDELOLUHD� DOJRULWPXOXL�� DFHVWD�WUHEXLH�WUDGXV��LPSOHPHQWDW��vQWU�XQ�OLPEDM�GH�SURJUDPDUH��� 6ULHUHD��HGLWDUHD��SURJUDPXOXL�VXUV��

3URJUDPHOH� VXUV� VXQW� ILúLHUH� WH[W� FDUH� FRQ LQ� LQVWUXF LXQL� �FX� VLQWDFWLFD� úL� VHPDQWLFD� SURSULL� OLPEDMXOXL�XWLOL]DW��� 3URJUDPXO� �ILúLHUXO�� VXUV� HVWH� FUHDW� FX� DMXWRUXO� XQXL� HGLWRU� GH� WH[WH úL� � YD� IL� VDOYDW� SH� GLVF��SURJUDPHOH�VXUV� &�SULPHVF��GH�RELFHL���H[WHQVLD��F��LDU�FHOH�&����H[WHQVLD��FSS��3HQWUX�D�SXWHD�IL�H[HFXWDW��SURJUDPXO�VXUV� WUHEXLH�FRPSLODW� úL�OLQNHGLWDW.

� &RPSLODUHD3URFHVXO�GH�FRPSLODUH�HVWH�UHDOL]DW�FX�DMXWRUXO�FRPSLODWRUXOXL��FDUH�WUDQVODWHD]� FRGXO�VXUV� vQ�FRG�RELHFW��FRG�PDúLQ����SHQWUX�FD�SURJUDPXO�V� SRDW� IL�vQ HOHV�GH�FDOFXODWRU��ÌQ�FD]XO�OLPEDMXOXL�&��vQ�SULPD�ID]� D�FRPSLO�ULL�HVWH�LQYRFDW SUHSURFHVRUXO��$FHVWD�UHFXQRDúWH�úL�DQDOL]HD]� PDL�vQWkL�R�VHULH�GH�LQVWUXF LXQL�VSHFLDOH��QXPLWH�GLUHFWLYH� SURFHVRU�� 9HULILF� DSRL� FRGXO� VXUV� SHQWUX� D� FRQVWDWD� GDF� DFHVWD� UHVSHFW� VLQWD[D� úL� VHPDQWLFD�OLPEDMXOXL��'DF� H[LVW� HURUL�� DFHVWHD� VXQW� VHPQDODWH� XWLOL]DWRUXOXL��8WLOL]DWRUXO WUHEXLH� V� FRUHFWH]H� HURULOH��PRGLILFkQG�SURJUDPXO�VXUV����$ELD�DSRL�FRGXO�VXUV� HVWH�WUDQVODWDW� vQ�FRG�GH�DVDPEODUH��LDU�vQ�ILQDO�� vQ�FRG�PDúLQ���ELQDU��SURSULX�FDOFXODWRUXOXL��$FHVW�FRG�ELQDU�HVWH�QXPLW�FRG�RELHFW�úL�GH�RELFHL�HVWH�PHPRUDW�vQWU �XQ�DOW�ILúLHU��QXPLW�ILúLHU�RELHFW��)LúLHUXO�RELHFW�YD�DYHD��GH�RELFHL��DFHODúL�QXPH�FX�ILúLHUXO�VXUV� úL�H[WHQVLD��REM�

� /LQNHGLWDUHD'XSD� FH� SURJUDPXO� VXUV� D� IRVW� WUDQVODWDW� vQ� SURJUDP� RELHFW�� HO� HVWH� YD� IL� VXSXV� RSHUD LHL� GH� � OLQNHGLWDUH��6FRSXO�ID]HL�GH�OLQNHGLWDUH�HVWH�DFHOD�GH�D�RE LQH�R�IRUP� ILQDO� D�SURJUDPXOXL��vQ�YHGHUHD�H[HFX LHL�DFHVWXLD��/LQNHGLWRUXO� ³OHDJ�´�PRGXOHOH� RELHFW�� UH]ROY� UHIHULQ HOH� F�WUH� IXQF LLOH� H[WHUQH� úL� UXWLQHOH� GLQ� ELEOLRWHFL� úL�SURGXFH�FRG�H[HFXWDELO��PHPRUDW�vQWU�XQ�DOW�ILVLHU��QXPLW�ILúLHU�H[HFXWDELO �DFHODúL�QXPH��H[WHQVLD��H[H�

� ([HFX LD/DQVDUHD�vQ�H[HFX LH�FRQVW� vQ�vQF�UFDUHD�SURJUDPXOXL�H[HFXWDELO�vQ�PHPRULH�úL�VWDUWDUHD�H[HFX LHL�VDOH�

2EVHUYD LL���� 0HGLLOH�GH�SURJUDPDUH�LQWHJUDWH��%25/$1'&��785%2&��vQJOREHD]� HGLWRUXO��FRPSLODWRUXO��OLQNHGLWRUXO�úL�

GHSDQDWRUXO��XWLOL]DW�vQ�VLWXD LLOH�vQ�FDUH�DSDU�HURUL�OD�H[HFX LH����� 'DF� QX� VH� XWLOL]HD]� XQ�PHGLX� LQWHJUDW�� SURJUDPDWRUXO� YD� DSHOD� vQ�PRG� H[SOLFLW� �vQ� OLQLH� GH� FRPDQG ��� XQ�

HGLWRU�GH�WH[WH��FRPSLODWRUXO��OLQNHGLWRUXO��/DQVDUHD�vQ�H[HFX LH�VH�YD�IDFH�WRW�GLQ�OLQLH�GH�FRPDQG����� ([WHQVLLOH�VSHFLILFDWH�SHQWUX�ILúLHUHOH�VXUV���RELHFW�úL�H[HFXWDELOH�VXQW�

Ì175(%�5,�ù,�(;(5&,�,,

&RG�VXUV� �3UHSURFHVRU�&RPSLODWRU

/LQNHGLWRU&RG�RELHFW &RG�H[HFXWDELO

)LJXUD�������(WDSHOH�QHFHVDUH�RE LQHULL�ILúLHUXOXL�H[HFXWDELO

Page 16: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

&KHVWLXQL�WHRUHWLFH�� (QXPHUD L�XQLW� LOH�IXQF LRQDOH�FRPSRQHQWH�DOH�XQXL�VLVWHP�GH�FDOFXO��� &DUH�VXQW�GLIHUHQ HOH�vQWUH�VRIW�XO�GH�DSOLFD LH�úL�VLVWHPXO�GH�RSHUDUH"�� &DUH�HVWH�GHRVHELUHD�vQWUH�DOJRULWP�úL�SURJUDP"�� &DUH�VXQW�SURSULHW� LOH�IXQGDPHQWDOH�DOH�DOJRULWPLORU"�� &DUH�VXQW�PRGDOLW� LOH�GH�UHSUH]HQWDUH�D�DOJRULWPLORU"

&KHVWLXQL�SUDFWLFH�� 5HSUH]HQWD L� DOJRULWPXO� OXL�(XFOLG� �SHQWUX� FDOFXOXO� FHOXL�PDL�PDUH� GLYL]RU� FRPXQ� D� �� QXPHUH� vQWUHJL�� SULQ�

VFKHPD�ORJLF���� 3URLHFWD L�XQ�DOJRULWP�FDUH�V� UH]ROYH�R�HFXD LH�GH�JUDGXO�,��GH�IRUPD�D[���E� �����XQGH�D�E�VXQW�QXPHUH�UHDOH��

'LVFX LH�GXS� FRHILFLHQ L��� 3URLHFWD L�XQ�DOJRULWP�FDUH�V� UH]ROYH�R�HFXD LH�GH�JUDGXO�,,� �GH�IRUPD�D[ � ��E[� ��F� �����XQGH�D�E�F�VXQW�

QXPHUH�UHDOH��'LVFX LH�GXS� FRHILFLHQ L��� 3URLHFWD L�XQ�DOJRULWP�FDUH�V� WHVWH]H�GDF� XQ�QXP�U�vQWUHJ�GDW�HVWH�QXP�U�SULP���� 3URLHFWD L�XQ�DOJRULWP�FDUH�V� DILúH]H�WR L�GLYL]RULL�XQXL�QXP�U�vQWUHJ�LQWURGXV�GH�OD�WDVWDWXU���� 3URLHFWD L�XQ�DOJRULWP�FDUH�V� DILúH]H�WR L�GLYL]RULL�SULPL�DL�XQXL�QXP�U�vQWUHJ�LQWURGXV�GH�OD�WDVWDWXU���� 3URLHFWD L� XQ� DOJRULWP� FDUH� FDOFXOHD]� IDFWRULDOXO� XQXL� QXP�U� QDWXUDO� GDW�� �3ULQ� GHILQL LH� �� ��

Page 17: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

'$7(��23(5$725,�ù,�(;35(6,,�����/LPEDMHOH�&�úL�&�� �������7LSXUL�GH�GDWH�����3URJUDPH�vQ�OLPEDMXO�&�&�� �������&RQVWDQWH�����3UHSURFHVRUXO �������9DULDELOH�����(OHPHQWH�GH�ED]� DOH�OLPEDMXOXL �����2SHUDWRUL�úL�H[SUHVLL

�������9RFDEXODUXO �������2SHUDWRUL�������8QLW� LOH�OH[LFDOH �������([SUHVLL

�����'DWH�vQ�OLPEDMXO�&�&�� �����&RQYHUVLL�GH�WLS

�����/,0%$-(/(�&�ù,�&��$úD� FXP� FRPXQLFDUHD� GLQWUH� GRX� SHUVRDQH� VH� UHDOL]HD]� SULQ� LQWHUPHGLXO� OLPEDMXOXL� QDWXUDO��FRPXQLFDUHD�GLQWUH�RP�úL�FDOFXODWRU� HVWH�PLMORFLW� GH�XQ� OLPEDM�GH�SURJUDPDUH��/LPEDMHOH�&� úL�&���VXQW�OLPEDMH�GH�SURJUDPDUH�GH�QLYHO�vQDOW���/LPEDMXO�& D�DS�UXW�vQ�DQLL������úL�D�IRVW�FUHDW�GH�'HQQLV�5LWFKLH�vQ�ODERUDWRDUHOH�$77�%HOO��/LPEDMXO�&�IDFH�SDUWH�GLQ�IDPLOLD�GH�OLPEDMH�FRQFHSXWH�SH�SULQFLSLLOH�SURJUDP�ULL�VWUXFWXUDWH��OD�FDUH� LGHHD� FHQWUDO� HVWH� ´VWUXFWXUHD]� SHQWUX� D� VW�SkQL� R� DSOLFD LH´�� 3RSXODULWDWHD� OLPEDMXOXL� D�FUHVFXW� UDSLG� GDWRULW� HOHJDQ HL� úL� D� PXOWLSOHORU� SRVLELOLW� L RIHULWH� SURJUDPDWRUXOXL� �SXWHUHD� úL�IOH[LELOLWDWHD�XQXL� OLPEDM�GH�DVDPEODUH���FD�XUPDUH��DX�DS�UXW�QXPHURDVH�DOWH� LPSOHPHQW�UL��'H�DFHHD��vQ�DQLL�¶���VH�LPSXQH�QHFHVLWDWHD�VWDQGDUGL]�ULL�DFHVWXL�OLPEDM��ÌQ�SHULRDGD������������XQ�FRPLWHW� GHVHPQDW� GH� $16,� �$PHULFDQ� 1DWLRQDO� 6WDQGDUGV� ,QVWLWXWH�� D� HODERUDW� XQ� FRPSLODWRU�$16,�&��FDUH�SHUPLWH�VFULHUHD�XQRU�SURJUDPH�FDUH�SRW�IL�SRUWDWH�I �U� PRGLILF�UL��SH�RULFH�VLVWHP��/LPEDMXO�&�� DSDUH� OD� vQFHSXWXO� DQLORU� ¶��� úL� vO� DUH� FD� DXWRU� SH� %MDUQH� 6WURXVWUXS�� (O� HVWH� R�YDULDQW� GH� OLPEDM� &� vPEXQ�W� LW�� PDL� ULJXURDV� úL� PDL� SXWHUQLF��� FRPSOHWDW� FX� FRQVWUXF LLOH�QHFHVDUH�DSOLF�ULL�SULQFLSLLORU�SURJUDP�ULL�RULHQWDWH�SH�RELHFWH��322���/LPEDMXO�&��� �S�VWUHD]�WRDWH� HOHPHQWHOH� OLPEDMXOXL�&�� � EHQHILFLLQG�GH� HILFLHQ D� úL� IOH[LELOLWDWHD� DFHVWXLD��/LPEDMXO�&���HVWH� XQ� VXSHUVHW� DO� OLPEDMXOXL� &�� ,QFRPSDWLELOLW� LOH� VXQW�PLQRUH�� GH� DFHHD�� PRGXOHOH� &� SRW� IL�vQFRUSRUDWH�vQ�SURLHFWH�&���FX�XQ�HIRUW�PLQLP�

���� 352*5$0(�Ì1�/,0%$-8/�&�&��8Q�SURJUDP VFULV�vQ�OLPEDMXO�&��VDX�&����HVWH�FRPSXV�GLQ�XQXO�VDX�PDL�PXOWH�ILúLHUH�VXUV���8Q�ILúLHU� VXUV� HVWH�XQ�ILúLHU� WH[W�FDUH�FRQ LQH�FRGXO�VXUV� �vQ� OLPEDMXO�&��DO�XQXL�SURJUDP��)LHFDUH�ILúLHU�VXUV� FRQ LQH�XQD�VDX�PDL�PXOWH�IXQF LL úL�HYHQWXDO��UHIHULQ H�F�WUH�XQXO�VDX�PDL�PXOWH�ILúLHUH�KHDGHU �ILJXUD�������)XQF LD� SULQFLSDO� D� XQXL�SURJUDP�HVWH� QXPLW� PDLQ�� ([HFX LD� SURJUDPXOXL� vQFHSH� FX� H[HFX LD�DFHVWHL� IXQF LL�� FDUH� SRDWH� DSHOD�� OD� UkQGXO� HL�� DOWH� IXQF LL�� 7RDWH� IXQF LLOH� IRORVLWH� vQ� SURJUDP�WUHEXLH� GHVFULVH� vQ� ILúLHUHOH� VXUV� �FHOH� VFULVH� GH� F�WUH� SURJUDPDWRU��� vQ� ILúLHUH� KHDGHU� �IXQF LLOH�SUHGHILQLWH��H[LVWHQWH�vQ�OLPEDM���VDX�vQ�ELEOLRWHFL�GH�IXQF LL��

Page 18: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

8Q� ILúLHU� KHDGHU� HVWH� XQ� ILúLHU� DIODW� vQ� VLVWHP� VDX� FUHDW� GH� F�WUH� SURJUDPDWRU�� FDUH� FRQ LQH�GHFODUD LL�úL�GHILQL LL�GH�IXQF LL�úL�YDULDELOH�$F LXQLOH� GLQ� ILHFDUH� IXQF LH� VXQW� FRGLILFDWH� SULQ� LQVWUXF LXQL �ILJXUD� ����D���� ([LVW� PDL� PXOWH�WLSXUL�GH�LQVWUXF LXQL��FDUH�YRU�IL�GLVFXWDWH�vQ�FDSLWROXO�XUP�WRU��2�LQVWUXF LXQH�HVWH�RULFH�H[SUHVLH�YDOLG� �GH�RELFHL��R�DVLJQDUH�VDX�XQ�DSHO�GH�IXQF LH���XUPDW� GH�VLPEROXO����ÌQ�ILJXUD�����E��HVWH�GDW� XQ� H[HPSOX� GH� LQVWUXF LXQH� VLPSO��� 8QHRUL�� FD� LQVWUXF LXQH� SRDWH� DSDUH� LQVWUXF LXQHD� QXO��GRDU�����VDX�LQVWUXF LXQHD�FRPSXV� �SULYLW� FD�R�VXFFHVLXQH�GH�LQVWUXF LXQL�VLPSOH��vQFDGUDWH�vQWUH�DFRODGHOH�GHOLPLWDWRDUH�^`�

2�H[SUHVLH�HVWH�R�VWUXFWXU� FRUHFW� VLQWDFWLF��IRUPDW� GLQ RSHUDQ]L�úL�RSHUDWRUL��ILJXUD�����F���

3HQWUX� D� vQ HOHJH� PDL� ELQH� QR LXQLOH� SUH]HQWDWH�� V� FRQVLGHU�P� XQ� H[HPSOX� IRDUWH� VLPSOX��3URJUDPXO� XUP�WRU� DILúHD]� SH� HFUDQ� XQ� PHVDM� �PHVDMXO� 3ULPXO� PHX� SURJUDP��� ,QIRUPD LD� GH�SUHOXFUDW��GH�LQWUDUH��HVWH�vQVXúL�PHVDMXO��R�FRQVWDQW� úLU���LDU�SUHOXFUDUHD�HL�FRQVW� vQ�DILúDUHD�SH�HFUDQ�([HPSOX�

�LQFOXGH��LRVWUHDP�K! ���OLQLD��YRLG�PDLQ�� ���OLQLD���� DQWHWXO IXQF LHL�PDLQ^ � �OLQLD���� vQFHSXWXO�FRUSXOXL�IXQF LHL��D�XQHL�LQWUXF LXQL

,QVWUXF LXQHD�,QVWUXF LXQHD�,QVWUXF LXQHD�

����

��������� )

([SUHVLH�

��������� ,16758&�,8

������� 2SHUDWWRUL

�������� 2SHUDQ]L���������� (;35(6,,

)LJXUD������)XQF LH��LQVWUXF LXQH��H[SUHVLH����D� ����E� ����F�

)LúLHUH�KHDGHU

PDLQ)XQF LL

������� )LúLHU�VXUV�

������� 3URJ

������� %LEOLRWL�

������� )XQF LL�GLQ�

)LJXUD�������6WUXFWXUD�XQXL�SURJUDP�vQ�OLPEDMXO�&

Page 19: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

FRPSXVH� �FRXW��´3ULPXO�PHX�SURJUDP�LQ�OLPEDMXO�&��?Q´� ���OLQLD��` ���OLQLD��VIkUúLWXO�FRUSXOXL�IXQF LHL

3ULPD� OLQLH� HVWH� R� GLUHFWLY�� SUHSURFHVRU �LQGLFDW� GH� VLPEROXO ��� FDUH� GHWHUPLQ� LQFOXGHUHD� vQ�ILúLHUXO� VXUV� D� ILúLHUXOXL� KHDGHU� FX� QXPHOH� LRVWUHDP�K�� $FHVW� KHDGHU� SHUPLWH� UHDOL]DUHD�DILú�ULL SH�PRQLWRU�3URJUDPXO� FRQ LQH� R� VLQJXU� IXQF LH�� IXQF LD� SULQFLSDO��� QXPLW� PDLQ�� DO� F�UXL� DQWHW �OLQLD� ���LQGLF��� WLSXO� YDORULL� UHWXUQDWH� GH� IXQF LH� �YRLG�� FHHD� FH� vQVHDPQ� F� IXQF LD� QX� UHWXUQHD]� QLFL� R�YDORDUH�� QXPHOH�IXQF LHL��PDLQ�� OLVWD�DUJXPHQWHORU�SULPLWH�GH�IXQF LH��vQFDGUDW� GH�FHOH���SDUDQWH]H�URWXQGH��)XQF LLOH� FRPXQLF� vQWUH� HOH� SULQ� DUJXPHQWH��$FHVWH� DUJXPHQWH� UHSUH]LQW� GDWHOH� GH� LQWUDUH� DOH�IXQF LHL�� ÌQ�FD]XO�QRVWUX��QX�DYHP�QLFL�XQ�DUJXPHQW� vQ�DFHD� OLVW���GHFL�SXWHDP�V� VFULHP�DQWHWXO�IXQF LHL�úL�DVWIHO�

YRLG�PDLQ�YRLG�&HHD�FH�XUPHD]� GXS� VLPEROXO�����SkQ� OD�VI�UúLWXO�OLQLHL� HVWH�XQ FRPHQWDULX��FDUH�YD�IL�LJQRUDW�GH� F�WUH� FRPSLODWRU�� &RPHQWDULXO� SRDWH� FRQ LQH XQ� WH[W� H[SOLFDWLY�� LQIRUPD LL� O�PXULWRDUH� OD�DQXPLWH�DVSHFWH�DOH�SUREOHPHL�VDX�REVHUYD LL��'DF� YUHP�V� IRORVLP�XQ�FRPHQWDULX�FDUH�FXSULQGH�PDL�PXOWH�OLQLL��YRP�GHOLPLWD�vQFHSXWXO�DFHVWXLD�LQGLFDW�SULQ�VLPEROXOXULOH�� ��LDU�VIkUúLWXO�� SULQ� � �YH]L� OLQLLOH� ��� ���� ,QWURGXFHUHD� FRPHQWDULLORU� vQ� SURJUDPHOH� VXUV� XúXUHD]� vQ HOHJHUHD�DFHVWRUD��ÌQ�JHQHUDO��VH�UHFRPDQG� LQWURGXFHUHD�XQRU�FRPHQWDULL�GXS� DQWHWXO�XQHL�IXQF LHL��SHQWUX�D�SUHFL]D�SUHOXFU�ULOH�HIHFWXDWH�vQ�IXQF LH��DQXPLWH�OLPLWH�LPSXVH�GDWHORU�GH�LQWUDUH��HWF�ÌQFHSXWXO� úL� VIkUúLWXO� FRUSXOXL� IXQF LHL�PDLQ� VXQW� LQGLFDWH� GH� FHOH� GRX� DFRDODGH� ^ �OLQLD��� úL�`�OLQLD�����&RUSXO�IXQF LHL��OLQLD����HVWH�IRUPDW�GLQWU�R�VLQJXU� LQVWUXF LXQH��FDUH�LPSOHPHQWHD]� R�RSHUD LH�GH�VFULHUH��&XYDQWXO�FRXW HVWH�XQ�FXYkQW�SUHGHILQLW�DO�OLPEDMXOXL�&���� FRQVROH�RXWSXW��FDUH� GHVHPQHD]� GLVSR]LWLYXO� ORJLF� GH� LHVLUH�� VLPEROXO� �� HVWH� RSHUDWRUXO� GH� WUDQVIHU� D�LQIRUPD LHL��)RORVLWH� DVWIHO�� VH�GHVFKLGH�XQ�FDQDO�GH� FRPXQLFD LH� D�GDWHORU� F�WUH�GLVSR]LWLYXO�GH�LHúLUH�� vQ� FD]XO� DFHVWD��PRQLWRUXO��'XS� RSHUDWRU� VH� VSHFLILF� LQIRUPD LLOH� FDUH�YRU� IL�DILúDWH� �vQ�DFHVW� H[HPSOX�� XQ� úLU� GH� FDUDFWHUH� FRQVWDQW��� )DSWXO� F� HVWH� XQ� úLU� FRQVWDQW� GH� FDUDFWHUH� HVWH�LQGLFDW� GH� JKLOLPHOHOH� FDUH� vO� vQFDGUHD]��� 3H� HFUDQ� YD� IL� DILúDW� ILHFDUH� FDUDFWHU� GLQ� DFHVW� úLU�� FX�H[FHS LD�JUXSXOXL�?Q��'HúL�JUXSXO�HVWH� IRUPDW�GLQ�GRX� FDUDFWHUH��DFHVWD YD� IL� LQWHUSUHWDW�FD�XQ�VLQJXU� FDUDFWHU� � QXPLW� FDUDFWHU� HVFDSH � FDUH� GHWHUPLQ� SR]L LRQDUHD� FXUVRUXOXL� OD� vQFHSXWXO�XUP�WRDUHL�OLQLL��2�VHFYHQ ��HVFDSH��FXP�HVWH�?Q�� IXUQL]HD]� XQ�PHFDQLVP�JHQHUDO�úL�H[WHQVLELO�SHQWUX UHSUH]HQWDUHD� FDUDFWHUHORU� LQYL]LELOH� VDX� JUHX� GH� RE LQXW�� /D� VIkUúLWXO� LQVWUXF LXQLL� FDUH�LPSOHPHQWHD]� RSHUD LD�GH�VFULHUH��DSDUH�� �

������35(352&(6258/$úD�FXP�DP�PHQ LRQDW�vQ�FDSLWROXO�������vQ�ID]D�GH�FRPSLODUH�D�ILúLHUXOXL�VXUV� HVWH�LQYRFDW�vQWkL�SUHSURFHVRUXO�� $FHVWD� WUDWHD]� GLUHFWLYHOH� VSHFLDOH� � QXPLWH� GLUHFWLYH� SUHSURFHVRU� � SH� FDUH� OH�J�VHúWH�vQ�ILúLHUXO�VXUV���'LUHFWLYHOH SUHSURFHVRU�VXQW�LGHQWLILFDWH�SULQ�VLPEROXO��� FDUH�WUHEXLH�V�ILH� SULPXO� FDUDFWHU�� GLIHULW� GH� VSD LX�� GLQWU�R� OLQLH�� 'LUHFWLYHOH� SUHSURFHVRU� VXQW� XWLOL]DWH� OD�LQFOXGHUHD� ILúLHUHORU� KHDGHU�� OD� GHILQLUHD� QXPHORU� FRQVWDQWHORU� VLPEROLFH�� OD� GHILQLUHD� PDFUR �XULORU�� VDX� OD� UHDOL]DUHD� DOWRU� IXQF LL� �GH� H[HPSOX�� FRPSLODUHD� FRQGL LRQDW���� DúD� FXP� LOXVWUHD]�H[HPSOHOH�XUP�WRDUH�� ,QFOXGHUHD�ILúLHUHORU�KHDGHU�vQ�FRGXO�VXUV��

Page 20: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

������������([HPSOXO�������������� �LQFOXGH��VWGLR�K!

&kQG� SURFHVRUXO� vQWkOQHúWH� DFHDVW� OLQLH�� GDWRULW� VLPEROXOXL� ��� R� UHFXQRDúWH� FD� ILLQG� R�GLUHFWLY� SUHSURFHVRU�� ORFDOL]HD]� ILúLHUXO� KHDGHU� LQGLFDW� �SDUDQWH]HOH� XQJKLXODUH� �� !LQGLF� IDSWXO�F� HVWH�YRUED�GH�XQ�ILúLHU�KHDGHU�VLVWHP���

������������ ([HPSOXO������������������ �LQFOXGH��KHDGHUXOBPHX�K�

1XPHOH�ILúLHUXOXL�KHDGHU�LQFOXV�vQWUH�JKLOLPHOH��LQGLF� IDSWXO�F� KHDGHUXOBPHX�K HVWH�XQ� ILúLHU� KHDGHU� FUHDW� GH� XWLOL]DWRU�� 3UHSURFHVRUXO� YD� F�XWD� V� ORFDOL]H]H� DFHVW� ILúLHU� vQ�GLUHFWRUXO� FXUHQW�GH� OXFUX�DO�XWLOL]DWRUXOXL�� ÌQ� FD]XO� vQ� FDUH� ILúLHUXO�KHDGHU�QX�VH� DIO � vQ�GLUHFWRUXO�FXUHQW��VH�YD�LQGLFD�úL�FDOHD�F�WUH�DFHVWD�

������������ ([HPSOXO������������������ �LQFOXGH��F�??EF??KHDG??KHDGHUXOBPHX�K�

ÌQ�DFHVW�H[HPSOX��SHQWUX�LQWHUSUHWDUHD�FRUHFW� D�FDUDFWHUXOXL�EDFNVODVK�?��D�IRVW�QHFHVDU��GXEODUHD���DFHVWXLD��GLQ�PRWLYH�SH�FDUH�OH�YRP�SUH]HQWD� vQ�SDUDJUDIXO���������

� $VLJQDUHD�GH�QXPH�VLPEROLFH�FRQVWDQWHORU�([HPSOX�

�GHILQH�758( ��GHILQH�)$/6( �

7UDWDUHD�DFHVWRU�GLUHFWLYH�SUHSURFHVRU�DUH�FD�HIHFW�DVLJQDUHD��DWULEXLUHD��YDORULL�vQWUHJL���QXPHOXL� � � �FRQVWDQWHL� VLPEROLFH�� 758(�� úL� D� YDORULL� �� QXPHOXL� VLPEROLF� )$/6(�� &D�XUPDUH�� vQDLQWHD�FRPSLO�ULL�SURSULX�]LVH�� vQ�SURJUDPXO�VXUV��� DSDUL LLOH�QXPHORU�758( úL�)$/6( YRU�IL�vQORFXLWH�FX�YDORULOH����UHVSHFWLY���

� 0DFURGHILQL LL�'LUHFWLYD� �GHILQH HVWH� IRORVLW� úL� vQ� PDFURGHILQL LL�� 0DFURGHILQL LLOH� SHUPLW� IRORVLUHD�XQRU�QXPH�VLPEROLFH�SHQWUX�H[SUHVLLOH�LQGLFDWH�vQ�GLUHFWLY��

([HPSOX��GHILQH�1(*$7,9�[� ��[�

ÌQWUH�QXPHOH�PDFURGHILQL LHL�úL�SDUDQWH]D�VWkQJ� ���1(*$7,9�«����QX�VXQW�SHUPLVH�VSD LL�DOEH�� /D� vQWDOQLUHD� vQ� SURJUDPXO� VXUV� D� PDFURGHILQL LHL� 1(*$7,9�� SUHSURFHVRUXO�VXEWLWXLH�DUJXPHQWXO�DFHVWHLD�FX�H[SUHVLD��QHJDWLYDUHD�DUJXPHQWXOXL���0DFURGHILQL LD�GLQ�H[HPSOX�SRDWH�IL�IRORVLW� vQ�SURJUDPXO�VXUV� DVWIHO��1(*$7,9�D�E���&kQG�SUHSURFHVRUXO�vQWkOQHúWH� QXPHOH� H[SUHVLHL�� VXEWLWXLH� OLWHUDOLL� GLQ� SDUDQWH]��� D�E�� FX� DUJXPHQWXO� GLQ�PDFURGHILQL LH��[��RE LQkQGX�VH�����D�E��

'DF� PDFURGHILQL LD�DU�IL�IRVW�GH�IRUPD��GHILQH�1(*$7,9�[� �[

1(*$7,9�D�E� DU�IL�IRVW�WUDWDW� FD��D�E�

�����(/(0(17(�'(�%$=� $/(�/,0%$-8/8,�������92&$%8/$58/

Page 21: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

ÌQ�VFULHUHD�SURJUDPHORU�vQ�OLPEDMXO�&�&���SRW�IL�IRORVLWH�GRDU�DQXPLWH�VLPEROXUL�FDUH�DOF�WXLHVF�DOIDEHWXO�OLPEDMXOXL��$FHVWD�FXSULQGH�� /LWHUHOH�PDUL�VDX�PLFL�GH�OD�$�OD�=��D�]��� &DUDFWHUXO�VXEOLQLHUH���B XQGHUVFRUH���IRORVLW��GH�RELFHL��FD�HOHPHQW�GH�OHJ�WXUD�vQWUH�FXYLQWHOH�

FRPSXVH�� &LIUHOH�]HFLPDOH�������� 6LPEROXUL�VSHFLDOH�

� &DUDFWHUH�� RSHUDWRUL��([HPSOH������ ��� ��� GHOLPLWDWRUL��([HPSOH���EODQN��VSD LX���WDE�?W��QHZOLQH�?Q��FX�UROXO�GH�D�VHSDUD�

FXYLQWHOH��� *UXSXUL��SHUHFKL�GH�FDUDFWHUH��

*UXSXULOH�GH�FDUDFWHUH��QXPLUH�DGHVHD�VHSDUDWRUL��SRW�IL�� ��� � ÌQFDGUHD]� OLVWD� GH� DUJXPHQWH� DOH� XQHL� IXQF LL� VDX� VXQW� IRORVLWH� vQ� H[SUHVLL�

SHQWUX�VFKLPEDUHD�RUGLQLL�GH�HIHFWXDUH�D�RSHUD LLORU��vQ�XOWLPXO�FD]��ILLQG�RSHUDWRU��� ^�` � ÌQFDGUHD]� LQVWUXF LXQLOH�FRPSXVH�� �� � ,QGLF� vQFHSXWXO�XQXL�FRPHQWDULX�FDUH�VH�SRDWH�vQWLQGH�SkQ� OD�VIkUúLWXO�OLQLHL�� � ��� � � ,QGLF� vQFHSXWXO�úL�VIkUúLWXO�XQXL�FRPHQWDULX�FDUH�SRDWH�FXSULQGH�PDL�PXOWH�OLQLL�� ��� � ÌQFDGUHD]� R�FRQVWDQW� úLU��XQ�úLU�GH�FDUDFWHUH��� � � ÌQFDGUHD]� R�FRQVWDQW� FDUDFWHU��XQ�FDUDFWHU�LPSULPDELO�VDX�R�VHFYHQ ��HVFDSH��

�������81,7��,/(�/(;,&$/(8QLW� LOH�OH[LFDOH��FXYLQWHOH��OLPEDMXOXL�&�&���UHSUH]LQW� JUXSXUL�GH�FDUDFWHUH�FX�R�VHPQLILFD LH�GH�VLQH�VW�W�WRDUH��$FHVWHD�VXQW��� ,GHQWLILFDWRUL�� &XYLQWH�FKHLH�DOH�OLPEDMXOXL�,GHQWLILFDWRULL UHSUH]LQW� QXPHOH� XQRU� GDWH� �FRQVWDQWH� VDX� YDULDELOH��� VDX� DOH� XQRU� IXQF LL��,GHQWLILFDWRUXO� HVWH� IRUPDW�GLQWU�XQ� úLU� GH� OLWHUH�� FLIUH� VDX� FDUDFWHUXO� GH� VXEOLQLHUH� �XQGHUVFRUH���WUHEXLH�V� vQFHDS� FX�R�OLWHU� VDX�FX�FDUDFWHUXO�GH�VXEOLQLHUH�úL�V� ILH�VXJHVWLYL�([HPSOH� YLWH]���JUHXWDWHBQHW���9LWH]D��9LWH]D���*UHXWDWH1HW�,GHQWLILFDWRULL� SRW� FRQ LQH� OLWHUH�PLFL� VDX�PDUL�� GDU� OLPEDMXO� &��� HVWH� VHQ]LWLY� OD�PDMXVFXOH� úL�PLQXVFXOH��FDVH�VHQVLWLYH���$VWIHO��LGHQWLILFDWRULL�YLWH]D úL�9LWH]D VXQW�GLIHUL L�1X�SRW�IL�IRORVL L�FD�LGHQWLILFDWRUL�FXYLQWHOH�FKHLH�� ,GHQWLILFDWRULL�SRW�IL�VWDQGDUG��FD�GH�H[HPSOX�QXPHOH�XQRU�IXQF LL�SUHGHILQLWH��VFDQI��FOHDU��HWF���VDX�DOHúL�GH�XWLOL]DWRU�&XYLQWHOH� FKHLH VXQW� FXYLQWH� DOH� OLPEDMXOXL�� vPSUXPXWDWH� GLQ� OLPED� HQJOH]��� F�URUD�SURJUDPDWRUXO� QX� OH� SRDWH� GD� R� DOW� XWLOL]DUH�� &XYLQWHOH� FKHLH� VH� VFULX� FX� OLWHUH� PLFL� úL� SRW�UHSUH]HQWD�� 7LSXUL�GH�GDWH��([HPSOH� LQW��FKDU��GRXEOH��� &ODVH�GH�PHPRUDUH��([HPSOH� H[WHUQ��VWDWLF��UHJLVWHU��� ,QVWUXF LXQL��([HPSOH� LI��IRU��ZKLOH��� 2SHUDWRUL��([HPSOX��VL]HRI��6HQVXO�FXYLQWHORU�FKHLH�YD�IL�H[SOLFDW�SH�PDVXU� FH�YRU�IL�SUH]HQWDWH�FRQVWUXF LLOH�vQ�FDUH�DFHVWHD�

DSDU�

Page 22: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

�����'$7(�Ì1�/,0%$-8/�&�&��$úD�FXP�V�D�Y�]XW�vQ�FDSLWROXO����XQ�SURJUDP�UHDOL]HD]� R�SUHOXFUDUH�GH�LQIRUPD LH��7HUPHQXO�GH�SUHOXFUDUH� WUHEXLH� V� ILH� FRQVLGHUDW� vQWU�XQ� VHQV� IRDUWH� JHQHUDO� �GH� H[HPSOX�� vQ� SURJUDPXO�SUH]HQWDW�vQ�SDUDJUDIXO�������SUHOXFUDUHD�VH�UHIHUHD�OD�XQ�WH[W�úL�FRQVWD�vQ�DILúDUHD�OXL���ÌQ�SURJUDP�GDWHOH�DSDU�ILH�VXE�IRUPD�XQRU�FRQVWDQWH �YDORUL�FXQRVFXWH�DQWLFLSDW��FDUH�QX�VH�PRGLILF����ILH�VXE�IRUPD�GH� YDULDELOH��&RQVWDQWHOH� úL� YDULDELOHOH� VXQW�RELHFWHOH� LQIRUPD LRQDOH�GH�ED]� PDQLSXODWH�vQWU�XQ�SURJUDP�)LHFDUH�FDWHJRULH�GH�GDWH�HVWH�FDUDFWHUL]DW� GH�DWULEXWHOH�

� 1XPH�� 9DORDUH�� 7LS��� &ODVD�GH�PHPRUDUH�

'H�SULPHOH� WUHL� WLSXUL�GH� DWULEXWH�QH�YRP�RFXSD� vQ� FRQWLQXDUH��XUPkQG�FD�GH� DWULEXWXO� FODV� GH�PHPRUDUH�V� QH�RFXS�P�vQ�SDUDJUDIXO�����1XPHOH�XQHL�GDWH1XPHOH� XQHL� GDWH� HVWH� XQ� LGHQWLILFDWRU� úL�� FD� XUPDUH�� WUHEXLH� V� UHVSHFWH� UHJXOLOH� VSHFLILFH�LGHQWLILFDWRULORU��'HDVHPHQHD��QXP�UXO�GH� FDUDFWHUH� FDUH� LQWU� vQ� FRPSXQHUHD�XQXL� LGHQWLILFDWRU�HVWH� QHOLPLWDW�� vQV��� LPSOLFLW�� QXPDL� SULPHOH� ��� GH� FDUDFWHUH� VXQW� OXDWH� vQ� FRQVLGHUDUH��$FHDVWD�vQVHDPQ� F� GRL� LGHQWLILFDWRUL� FDUH� DX� SULPHOH� ��� GH� FDUDFWHUH� LGHQWLFH�� GLI HUHQ LLQGX�VH� SULQ�FDUDFWHUXO�����YRU�IL�FRQVLGHUD L�LGHQWLFL���������7,385,�'(�'$7(7LSXO� XQHL� GDWH� FRQVW� vQWU�R� PXO LPH� GH� YDORUL SHQWUX� FDUH� V�D� DGRSWDW� XQ� DQXPLW� PRG� GH�UHSUH]HQWDUH� vQ� PHPRULD� FDOFXODWRUXOXL� úL� R� PXO LPH� GH� RSHUDWRUL FDUH� SRW� IL� DSOLFD L� DFHVWRU�YDORUL��7LSXO�XQHL�GDWH�GHWHUPLQ� OXQJLPHD�]RQHL�GH�PHPRULH RFXSDW� GH�DFHD�GDW��� ÌQ�JHQHUDO��OXQJLPHD� ]RQHL� GH� PHPRUDUH� HVWH� GHSHQGHQW� GH� FDOFXODWRUXO� SH� FDUH� V�D� LPSOHPHQWDW�FRPSLODWRUXO�� 7DEHOXO� ����� SUH]LQW� OXQJLPHD� ]RQHL� GH�PHPRULH� RFXSDW� GH� ILHFDUH� WLS� GH� GDW�SHQWUX�FRPSLODWRDUHOH�VXE�06�'26�úL�81,;�/,18;�7LSXULOH�GH�ED]� VXQW�� FKDU XQ�VLQJXU�RFWHW����E\WH ���EL L���FDSDELO�V� FRQ LQ� FRGXO�XQXL�FDUDFWHU�GLQ�VHWXO

ORFDO�GH�FDUDFWHUH�� LQW QXP�U�vQWUHJ��UHIOHFW� vQ�PRG�WLSLF�P�ULPHD�QDWXUDO� GLQ�FDOFXODWRUXO�XWLOL]DW�� IORDW QXP�U�UHDO��vQ�YLUJXO� PRELO���VLPSO� SUHFL]LH�� GRXEOH QXP�U�UHDO��vQ�YLUJXO� PRELO���GXEO� SUHFL]LH�ÌQ� FRPSOHWDUH� H[LVW� XQ� QXP�U� GH� FDOLILFDWRUL�� FDUH� VH� SRW� DSOLFD� WLSXULORU� GH� ED]� FKDU��LQW��IORDW VDX�GRXEOH��VKRUW��ORQJ��VLJQHG úL�XQVLJQHG��$VWIHO��VH�RE LQ�WLSXULOH�GHULYDWH�GH�GDWH��6KRUW úL�ORQJ VH�UHIHU� OD�P�ULPHD�GLIHULW� D�vQWUHJLORU��LDU�GDWHOH�GH�WLS�XQVLJQHG�LQWVXQW� vQWRWGHDXQD� SR]LWLYH�� 6�D� LQWHQ LRQDW� FD� VKRUW úL� ORQJ V� IXUQL]H]H� GLIHULWH� OXQJLPL� GH�vQWUHJL�� LQW UHIOHFWkQG� P�ULPHD� FHD� PDL� �QDWXUDO��� SHQWUX� XQ� DQXPLW� FDOFXODWRU�� )LHFDUH�FRPSLODWRU�HVWH�OLEHU�V� LQWHUSUHWH]H�VKRUW úL�ORQJ vQ�PRG�DGHFYDW�SURSULXOXL�KDUGZDUH��vQ�QLFL�XQ�FD]��vQV���VKRUW QX�HVWH�PDL�OXQJ�GHFkW�ORQJ��7R L�DFHúWL�FDOLILFDWRUL�SRW�DSOLFD L�WLSXOXL�LQW��&DOLILFDWRULL� VLJQHG �FHO� LPSOLFLW�� úL� XQVLJQHG VH� DSOLF� WLSXOXL�FKDU�� &DOLILFDWRUXO� ORQJ VH�DSOLF� WLSXOXL�GRXEOH��'DF� vQWU�R�GHFODUD LH�VH�RPLWH�WLSXO�GH�ED]���LPSOLFLW��DFHVWD�YD�IL�LQW�

Page 23: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

7DEHOXO�����7LS /XQJLPHD�]RQHL�

GH�PHPRULH�RFXSDWH �vQ�EL L�

'HVFULHUH

06�'26

81,;/,18;

FKDU � � 9DORDUHD�XQXL�VLQJXU�FDUDFWHU��SRDWH�IL�vQWkOQLW�vQ�H[SUHVLL�FX�H[WHQVLH�GH�VHPQ

XQVLJQHG�FKDU � � $FHHDúL�FD�OD�FKDU��IDU� H[WHQVLH�GH�VHPQVLJQHG�FKDU � � $FHHDúL�FD�OD�FKDU��FX H[WHQVLH�GH�VHPQ�REOLJDWRULHLQW �� �� 9DORDUH�vQWUHDJ�ORQJ �� �� 9DORDUH�vQWUHDJ� FX�SUHFL]LH�PDUH�ORQJ�LQW�ORQJ�ORQJ�LQW �� �� 9DORDUH�vQWUHDJ� FX�SUHFL]LH�PDUHVKRUW�LQW �� �� 9DORDUH�vQWUHDJ� FX�SUHFL]LH�PLF�XQVLJQHG�LQW �� �� 9DORDUH�vQWUHDJ���I�U� VHPQXQVLJQHG�ORQJ�LQW

�� �� 9DORDUH�vQWUHDJ���I�U� VHPQIORDW �� �� 9DORDUH�QXPHULF� FX�]HFLPDOH��VLPSO� SUHFL]LH�����GRXEOH �� �� 9DORDUH�QXPHULF� FX�]HFLPDOH��GXEO� SUHFL]LH������ORQJ�GRXEOH �� ��� 9DORDUH�QXPHULF� FX�]HFLPDOH��GXEO� SUHFL]LH6� FRQVLGHU�P��GH�H[PSOX��WLSXO�LQW��IRORVLW�SHQWUX�GDWH�vQWUHJL��SR]LWLYH�VDX�QHJDWLYH���(YLGHQW�F� PXO LPHD�YDORULORU�SHQWUX�DFHVW��WLS�YD�IL��GH�IDSW��R� VXEPXO LPH�ILQLW� GH�QXPHUH�vQWUHJL��'DF�SHQWUX�PHPRUDUHD�XQHL�GDWH�GH�WLS�LQW�VH�IRORVHVF���RFWH L�GH�PHPRULH��DWXQFL�YDORDUHD�PD[LP�SHQWUX�DFHDVWD�YD�IL� �

� u��� � ���GHFL�� �� � �����������LDU�YDORDUHD�PLQLP� YD�IL�� �� u��� ��GHFL��

��� ���������� ÌQFHUFDUHD�GH�D�FDOFXOD�R�H[SUHVLH�GH� WLS� LQW�D�F�UHL�YDORDUH�VH�VLWXHD]� vQ�DIDUD�DFHVWXL�GRPHQLX�YD�FRQGXFH�OD�R�HURDUH�GH�H[HFX LH�0XO LPHD� YDORULORU� SHQWUX�R� GDW� GH� WLS�XQVLJQHG�LQW �vQWUHJ� I�U� VHPQ��YD� IL� IRUPDW� GLQ�QXPHUHOH�vQWUHJL�VLWXDWH�vQ�LQWHUYDOXO�>���� �� � �@�ÌQ�KHDGHU�XO��YDOXHV�K! VXQW�GHILQLWH�FRQVWDQWHOH�VLPEROLFH��FXP�DU�IL��0$;,17��0$;6+257��0$;/21*� 0,1'28%/(��0,1)/2$7��HWF���FDUH�DX�FD�YDORDUH� OLPLWHOH� LQIHULRDU� úL�VXSHULRDU�DOH� LQWHUYDOXOXL� GH� YDORUL� SHQWUX� WLSXULOH� GH� GDWH� HQXPHUDWH�� � �GH� H[HPSOX� 0$;,17 UHSUH]LQW�YDORDUHD�vQWUHJXOXL�PD[LP�FDUH�VH�SRDWH�PHPRUD��HWF���)�U� D� GHWDOLD� IRDUWH�PXOW�PRGXO� GH� UHSUH]HQWDUH� D� GDWHORU� UHDOH� �GH� WLS� IORDW VDX�GRXEOH���YRP� VXEOLQLD� IDSWXO� F��� SHQWUX� DFHVWHD�� HVWH� LPSRUWDQW� úL� SUHFL]LD� GH� UHSUH]HQWDUH�� 'HRDUHFH�FDOFXODWRUXO�SRDWH�UHSUH]HQWD�GRDU�R�VXEPXO LPH�ILQLW� GH�YDORUL�UHDOH��vQ�DQXPLWH�FD]XUL��SRW�DSDUH�HURUL�LPSRUWDQWH�1XPHUHOH�UHDOH�SRW�IL�VFULVH�VXE�IRUPD�� 1� �PDQWLVD�u ED]D H[SRQHQWXQGH�ED]D UHSUH]LQW� ED]D�VLVWHPXOXL�GH�QXPHUD LH��PDQWLVD �FRHILFLHQWXO��HVWH�XQ�QXP�U�IUDF LRQDU�QRUPDOL]DW��� vQ�ID D�YLUJXOHL�VH�DIO� ���LDU�SULPD�FLIU� GH�GXS� YLUJXO� HVWH�GLIHULW� GH�]HUR���H[SRQHQWXO HVWH� XQ� QXP�U� vQWUHJ��'HRDUHFH� IRUPD� LQWHUQ� GH� UHSUH]HQWDUH� HVWH� ELQDU���ED]D ��� ÌQ�PHPRULH� YRU� IL� UHSUH]HQWDWH� GRDU�PDQWLVD� úL� H[SRQHQWXO��1XP�UXO� GH� FLIUH� GH� GXS�YLUJXO� GHWHUPLQ� SUHFL]LD GH� H[SULPDUH� D� QXP�UXOXL�� &H� DOWH� FXYLQWH�� SH� XQ� FDOFXODWRU� FX� R�SUHFL]LH�GH���FLIUH� VHPQLILFDWLYH��GRX� YDORUL� UHDOH�FDUH�GLIHU� OD�D���D�FLIU� ]HFLPDO���YRU�DYHD�

Page 24: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

DFHHDúL�UHSUH]HQWDUH��3HQWUX�GDWHOH�GH�WLS�IORDW��SUHFL]LD�GH�UHSUH]HQWDUH�HVWH����SHQWUX�FHOH�GH�WLS�GRXEOH��SUHFL]LD�HVWH�����LDU�SHQWUX�FHOH�GH�WLS�ORQJ�GRXEOH��SUHFL]LD�HVWH����/XQJLPHD� ]RQHL� GH�PHPRULH� RFXSDWH� GH� R�GDW� GH� XQ� DQXPLW� WLS� �SH� Fk L� RFWH L� HVWH�PHPRUDW�GDWD��SRDWH�IL�DIODW� FX�DMXWRUXO�RSHUDWRUXOXL VL]HRI�([HPSOX��

FRXW���8Q�LQW�HVWH�PHPRUDW�SH����VL]HRI�LQW����RFWHWL�?Q��,QVWUXF LXQHD�DUH�FD�HIHFW�DILúDUHD�SH�PRQLWRU�D�PHVDMXOXL��8Q�LQW�HVWH�PHPRUDW�SH���RFWH L�

��������&2167$17(2� FRQVWDQW� HVWH� XQ� OLWHUDO �R� IRUP� H[WHUQ� GH� UHSUH]HQWDUH�� QXPHULF�� FDUDFWHU VDX� úLU� GH�FDUDFWHUH��1XPHOH�úL�YDORDUHD�XQHL�FRQVWDQWH�VXQW�LGHQWLFH��9DORDUHD�XQHL�FRQVWDQWH�QX�SRDWH�IL�VFKLPEDW� vQ� WLPSXO� H[HFX LHL� SURJUDPXOXL� vQ� FDUH� D� IRVW� XWLOL]DW��� 7LSXO� úL� YDORDUHD� HL� VXQW�GHWHUPLQDWH�vQ�PRG�DXWRPDW��GH�F�WUH�FRPSLODWRU��SH�ED]D�FDUDFWHUHORU�FDUH�FRPSXQ�OLWHUDOXO���������� &RQVWDQWH�vQWUHJL&RQVWDQWHOH�vQWUHJL�VXQW�OLWHUDOL�QXPHULFL��FRPSXúL�GLQ�FLIUH���I�U� SXQFW�]HFLPDO��� &RQVWDQWH�vQWUHJL�vQ�ED]D�������VDX���

� &RQVWDQWH�vQWUHJL�vQ�ED]D���([HPSOH�

����� ���FRQVWDQWH�vQWUHJL�GHFLPDOH��vQ�ED]D������WLS�LQW

� &RQVWDQWH�vQWUHJL�RFWDOH'DF� vQ�ID D�QXP�UXOXL�DSDUH�FLIUD�]HUR������DFHVW�OXFUX�LQGLF� IDSWXO�F� DFHD�FRQVWDQW�

HVWH�GH�WLSXO�LQW��LQ�ED]D�RSW��FRQVWDQW� RFWDO���([HPSOH�

������ ���FRQVWDQWH�vQWUHJL�RFWDOH��WLS�LQW

� &RQVWDQWH�vQWUHJL�KH[DJHVLPDOH'DF� vQ�ID D�QXP�UXOXL�DSDU�FDUDFWHUHOH�]HUR�����úL�[��VDX�;���DFHVW�OXFUX�LQGLF� IDSWXO�F�DFHD�FRQVWDQW� HVWH�GH�WLSXO�LQW��vQ�ED]D�����FRQVWDQW� KH[DJHVLPDO����$PLQWLP�F� vQ�ED]D����FLIUHOH�VXQW�������$��VDX�D��FX�YDORDUH�����%��VDX�E��FX�YDORDUH�����&��VDX�F��FX�YDORDUH�

����'��VDX�G��FX�YDORDUH�����(��VDX�H��FX�YDORDUH�����)��VDX�I��FX�YDORDUH����([HPSOH�

�[���[�$�;EF ���FRQVWDQWH�vQWUHJL�KH[DJHVLPDOH��WLS�LQW

� &RQVWDQWH�vQWUHJL��GH�WLSXUL�GHULYDWH� 'DF� VHFYHQ D�GH�FLIUH�HVWH�XUPDW� GH�/�VDX�O��WLSXO�FRQVWDQWHL�HVWH�ORQJ�LQW�

([HPSOH�������/������O ���WLS�GHFLPDO�ORQJ�LQW�

� 'DF� VHFYHQ D�GH�FLIUH�HVWH�XUPDW� GH�8 VDX�X��WLSXO�FRQVWDQWHL�HVWH�XQVLJQHG�LQW�([HPSOH�

�����X� 'DF� VHFYHQ D�GH�FLIUH�HVWH�XUPDW� GH�8��X��úL�/ �O���WLSXO�FRQVWDQWHL�HVWH�XQVLJQHG�ORQJ�

LQW�([HPSOH� ����8/ ��WLS�GHFLPDO�XQVLJQHG�ORQJ�LQW

Page 25: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

���� ����������&RQVWDQWH�QXPHULFH��UHDOH� 'DF� R�FRQVWDQW� QXPHULF� FRQ LQH�SXQFWXO�]HFLPDO��HD�HVWH�GH�WLSXO�GRXEOH�

([HPSOX������� ��WLS�GRXEOH

� 'DF� QXP�UXO�HVWH�XUPDW�GH�)�VDX�I��FRQVWDQWH�HVWH�GH�WLS�IORDW�� 'DF� QXP�UXO�HVWH�XUPDW�GH�/�VDX�O��HVWH�GH�WLS�ORQJ�GRXEOH�

([HPSOX�����I ��WLS�IORDW�����/ ��WLS�ORQJ�GRXEOH

� &RQVWDQWH�UHDOH�vQ�IRUPDW�úWLLQ LILF1XP�UXO�SRDWH�IL�XUPDW�GH�FDUDFWHUXO�H VDX�( úL�GH�XQ�QXP�U�vQWUHJ��FX�VDX�I�U� VHPQ��ÌQ�DFHVW�FD]��FRQVWDQWD�HVWH�vQ�QRWD LH�úWLLQ LILF���ÌQ�DFHDVW� IRUP� H[WHUQ� GH�UHSUH]HQWDUH��QXP�UXO�GLQ�ID D�OLWHUHL�(�UHSUH]LQW� PDQWLVD��LDU�QXP�UXO�vQWUHJ�FDUH�XUPHD]� FDUDFWHUXOXL�(�UHSUH]LQW�H[SRQHQWXO��,Q�IRUPD�H[WHUQ� GH�UHSUH]HQWDUH��ED]D�GH�QXPHUD LH�HVWH�����GHFL�YDORDUHD�

FRQVWDQWHL�YD�IL�GDW� GH�PDQWLVDu�� RQHQWH[S �([HPSOX�

���H�� ��WLS�GRXEOH��vQ�QRWD LH�úWLLQ LILF���YDORDUH����u�� ��([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP�úL�V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��YDOXHV�K!�GHILQH�3,� �������LQW�PDLQ��^FRXW���7LSXO�LQW�PHPRUDW�SH�����VL]HRI�LQW�����RFWHWL ?Q��FRXW���7LSXO�LQW�PHPRUDW�SH�����VL]HRI��������RFWHWL ?Q��� �����FRQVW��]HFLPDOD�LQWFRXW���,QW�PD[LP ���0$;,17��¶?Q¶���FRQVW��VLPEROLFH�0$;,17��0$;/21*��HWF��� GHILQLWH�LQ��YDOXHV�K!FRXW���&RQVW��RFWDOD�����DUH�YDO�GHFLPDOD���������¶ ?Q�FRXW���&RQVW��KH[DJHVLPDOD�G��DUH�YDO�GHFLPDOD�����[G���¶ ?Q¶�FRXW���7LSXO� XQVLJQHG� LQW� PHPRUDW� SH����VL]HRI�XQVLJQHG� LQW����RFWHWL?Q��FRXW���7LSXO� XQVLJQHG� LQW� PHPRUDW� SH�� ���VL]HRI���8����RFWHWL?Q��FRXW���7LSXO� XQVLJQHG� LQW� PHPRUDW� SH�� ���VL]HRI���X����RFWHWL?Q��FRXW���7LSXO� ORQJ� LQW� PHPRUDW� SH�� ���VL]HRI�ORQJ� LQW�����RFWHWL?Q��FRXW���7LSXO�ORQJ�LQW�PHPRUDW�SH�����VL]HRI���/�����RFWHWL?Q��FRXW���7LSXO�ORQJ�LQW�PHPRUDW�SH�����VL]HRI���O�����RFWHWL ?Q������/�VDX���O�FRQVW��GHFLPDOD�ORQJ�LQWFRXW���/RQJ�LQW�PD[LP ���0$;/21*��¶?Q¶�FRXW���7LSXO�XQVLJQHG�ORQJ�PHPRUDW�SH���FRXW��VL]HRI�XQVLJQHG ORQJ�LQW�����RFWHWL?Q��FRXW���7LSXO� XQVLJQHG� ORQJ� PHPRUDW� SH�� ���VL]HRI���8/����RFWHWL?Q��FRXW���7LSXO� XQVLJQHG� ORQJ� PHPRUDW� SH�� ���VL]HRI���XO����RFWHWL?Q������8/�VDX���XO�FRQVW��GHFLPDOD�XQVLJQHG�ORQJ�LQW

Page 26: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

FRXW���7LSXO�ORQJ�ORQJ�LQW�PHPRUDW�SH����FRXW��VL]HRI�ORQJ�ORQJ�LQW�����RFWHWL?Q��FRXW���7LSXO�ORQJ�ORQJ�LQW�PHPRUDW�SH�����VL]HRI�G�����RFWHWL ?Q��FRXW���7LSXO� VKRUW� LQW� PHPRUDW� SH�� ���VL]HRI�VKRUW� LQW����RFWHWL?Q��FRXW���6KRUW�LQW�PD[LP ���0$;6+257��¶?Q¶�FRXW���7LSXO�IORDW�PHPRUDW�SH�����VL]HRI�IORDW�����RFWHWL?Q��FRXW���7LSXO�IORDW�PHPRUDW�SH�����VL]HRI�����I�����RFWHWL ?Q��������I�FRQVW��GHFLPDOD�IORDW�FRXW���)ORDW�PD[LP ���0$;)/2$7��¶?Q¶�FRXW���)ORDW�PLQLP ���0,1)/2$7��¶?Q¶�FRXW���7LSXO�GRXEOH�PHPRUDW�SH�����VL]HRI�GRXEOH�����RFWHWL ?Q��FRXW���7LSXO�GRXEOH�PHPRUDW�SH�����VL]HRI����������RFWHWL ?Q���������FRQVW��GHFLPDOD�GRXEOH�FRXW���&RQVW�� GHFLP�� GRXEOD� LQ� QRWDWLH� VWLLQWLILFD��������H ����¶?Q¶�FRXW��´&RQVW��3,�HVWH�´��3,��¶?Q¶�FRXW��´&RQVWDQWD�3,�HVWH�PHPRUDWD�SH�´��VL]HRI�3,���´RFWH WL?Q´�FRXW���'RXEOH� PD[LP ���0$;'28%/(��¶?Q¶���'RXEOH�PLQLP ���0,1'28%/(��¶?Q¶�FRXW���7LSXO� ORQJ� GRXEOH� PHPRUDW� SH�� ���VL]HRI�ORQJ� GRXEOH����RFWHWL?Q��FRXW���7LSXO� ORQJ� GRXEOH� PHPRUDW� SH�� ���VL]HRI�����/����RFWHWL?Q��������/�FRQVW��GHFLPDOD�ORQJ�GRXEOH�FRXW���&LIUD�$�GLQ�+(;$�DUH�YDO������[$���?Q��FRXW���&LIUD�%�GLQ�+(;$�DUH�YDO������;%���?Q��FRXW���&LIUD�&�GLQ�+(;$�DUH�YDO������[F���?Q��FRXW����&LIUD�'�GLQ�+(;$�DUH�YDO������['���?Q��FRXW����&LIUD�(�GLQ�+(;$�DUH�YDO������;(���?Q��FRXW����&LIUD�) GLQ�+(;$�DUH�YDO������[I���?Q��FRXW���9DO��FRQVW��KH[D��[�DF�H�HVWH������[�DF�H��?Q�FRXW���9DO��FRQVW��RFWDOH�����HVWH�����������?Q�FRXW���2� FRQVW�� RFWDOD� VH� PHPRUHD]D� SH� ���VL]HRI���������RFWHWL?Q��FRXW���2� FRQVW�RFW�ORQJ� VH� PHP� SH� ��FRXW��VL]HRI ����/�����RFWHWL?Q��`

����������&RQVWDQWH�FDUDFWHU&RQVWDQWHOH�FDUDFWHU�VXQW�vQFDGUDWH�vQWUH�DSRVWURDIH�([HPSOX�

D ��WLS�FKDU2�FRQVWDQW� FDUDFWHU�DUH�FD�YDORDUH�FRGXO�$6&,, DO�FDUDFWHUXOXL�SH�FDUH�vO�UHSUH]LQW���$FHVW�VHW�GH�FDUDFWHUH�DUH�XUP�WRDUHOH�SURSULHW� L�� )LHF�UXL�FDUDFWHU�vL�FRUHVSXQGH�R�YDORDUH�vQWUHDJ� GLVWLQFW� �RUGLQDO���� 9DORULOH�RUGLQDOH�DOH�OLWHUHORU�PDUL�VXQW�RUGRQDWH�úL�FRQVHFXWLYH��$�DUH�FRGXO�$6&,,�����%� �

FRGXO�����&�� FRGXO�����HWF���� 9DORULOH�RUGLQDOH�DOH�OLWHUHORU�PLFL VXQW�RUGRQDWH�úL�FRQVHFXWLYH��D�DUH�FRGXO�$6&,,����� E� �

FRGXO�����F�� FRGXO�����HWF���� 9DORULOH�RUGLQDOH�DOH�FLIUHORU�VXQW�RUGRQDWH�úL�FRQVHFXWLYH����DUH�FRGXO�$6&,,������� � FRGXO�

������� FRGXO�����HWF���

Page 27: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

� &RQVWDQWH�FDUDFWHU�FRUHVSXQ]�WRDUH�FDUDFWHUHORU�LPSULPDELOH2�FRQVWDQW� FDUDFWHU� FRUHVSXQ]�WRDUH�XQXL� FDUDFWHU� LPSULPDELO� VH� UHSUH]LQW� SULQ� FDUDFWHUXO�UHVSHFWLY�LQFOXV�vQWUH�DSRVWURDIH�([HPSOX�

&RQVWDQW� FDUDFWHU 9DORDUHµ$¶ ��µD¶ ��µ�¶ ��µ ¶ ��

([FHS LL�GH�OD�UHJXOD�GH�PDL�VXV�OH�FRQVWLWXLH�FDUDFWHUHOH�LPSULPDELOH�DSRVWURI ���úL�EDFNVODVK��?��

&DUDFWHUXO�EDFNVODVK VH�UHSUH]LQW�� ??��&DUDFWHUXO�DSRVWURI�VH�UHSUH]LQW��?�� &RQVWDQWH�FDUDFWHU�FRUHVSXQ]�WRDUH�FDUDFWHUHORU�QHLPSULPDELOH

3HQWUX�FDUDFWHUHOH�QHLPSULPDELOH� VH�IRORVHVF�VHFYHQ H�HVFDSH��2�VHFYHQ ��HVFDSH�IXUQL]HD]�XQ�PHFDQLVP�JHQHUDO�úL�H[WHQVLELO�SHQWUX��UHSUH]HQWDUHD�FDUDFWHUHORU�LQYL]LELOH�VDX�JUHX�GH�

RE LQXW���ÌQ�WDEHOXO������VXQW�SUH]HQWDWH�FkWHYD�FDUDFWHUH�HVFDSH�XWLOL]DWH�IUHFYHQW�7DEHOXO�����&RQVWDQW�FDUDFWHU

9DORDUH�&RG�$6&,,�

'HQXPLUHD�FDUDFWHUXOXL

8WLOL]DUHµ?Q¶ �� /) UkQG�QRX��/LQH�)HHG�µ?W¶ � +7 WDEXODWRU�RUL]RQWDOµ?U¶ �� &5 SR]L LRQHD]� FXUVRUXO�vQ�FRORDQD���GLQ�UkQGXO�FXUHQWµ?I¶ �� )) VDOW�GH�SDJLQ� OD�LPSULPDQW� �)RUP�)HHG�µ?D¶ � %(/ DFWLYDUH�VXQHW

2�FRQVWDQW� FDUDFWHU�SHQWUX�R�VHFYHQ � HVFDSH�SRDWH�DSDUH�vQV���úL�VXE�R�IRUP� vQ�FDUH�VH�LQGLF�FRGXO�$6&,,��vQ�RFWDO��DO�FDUDFWHUXOXL�GRULW�

¶?GGG¶ XQGH�G�HVWH�R�FLIU� RFWDO��([HPSOH�

¶?��¶ �SHQWUX�¶?W¶��UHSUH]LQW� FRQVWDQWD�FDUDFWHU�EDFNVSDFH��FX�FRGXO���vQ�ED]D�����GHFL�FRGXO����vQ�ED]D���

¶?��¶ �SHQWUX�¶?U¶�UHSUH]LQW� FRQVWDQWD�FDUDFWHU�&5��FX�FRGXO����vQ�ED]D�����GHFL�FRGXO����vQ�ED]D���

([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP�úL�V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD��LQFOXGH��LRVWUHDP�K!YRLG�PDLQ�YRLG�^FRXW���8Q�FDUDFWHU�HVWH�PHPRUDW�SH����VL]HRI�FKDU�����RFWHW ?Q��FRXW���&DUDFWHUXO�HVFDSH�??Q�HVWH�PHPRUDW�SH���FRXW��VL]HRI�?Q�����RFWHW?Q��FRXW���&DUDFWHUXO�HVFDSH�??Q?�HVWH�PHPRUDW�SH����VL]HRI�?Q��FRXW����RFWHW?Q��FRXW���&DUDFWHUXO���HVWH�PHPRUDW�SH����VL]HRI�������RFWHW ?Q��FRXW��%�FRXW����FRXW��F�FRXW��?W�FRXW��?W�FRXW����FRXW��?E�FRXW��?D�FRXW��/�FRXW��?Y�FRXW��/�FRXW��?�FRXW��?W�FRXW��?��FRXW��??�FRXW��?Q�FRXW��?D�FRXW��?��`

Page 28: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

���� ����������&RQVWDQWH�úLU�GH�FDUDFWHUH&RQVWDQWD� úLU� HVWH� R� VXFFHVLXQH� GH� ]HUR� VDX� PDL� PXOWH� FDUDFWHUH�� vQFDGUDWH� GH� JKLOLPHOH�� ÌQ�FRPSRQHQ D�XQXL�úLU�GH�FDUDFWHUH��SRDWH�LQWUD�RULFH�FDUDFWHU��GHFL�úL�FDUDFWHUHOH�HVFDSH��/XQJLPHD�XQXL� úLU� HVWH� SUDFWLF� QHOLPLWDW��� 'DF� VH� GRUHúWH� FRQWLQXDUHD� XQXL� úLU� SH� UkQGXO� XUP�WRU�� VH�IRORVHúWH�FDUDFWHUXO�EDFNVODVK�&DUDFWHUHOH�FRPSRQHQWH�DOH�XQXL�úLU�VXQW�PHPRUDWH� vQWU �R�]RQ� FRQWLQX� GH�PHPRULH��OD�DGUHVH�VXFFHVLYH���3HQWUX�ILHFDUH�FDUDFWHU�VH�PHPRUHD]� FRGXO�$6&,,�DO�DFHVWXLD��'XS� XOWLPXO�FDUDFWHU�DO� úLUXOXL�� FRPSLODWRUXO� SODVHD]� DXWRPDW� FDUDFWHUXO� 18// �?���� FDUDFWHU� FDUH� UHSUH]LQW�PDUFDWRUXO�VIkUúLWXOXL�GH�úLU��1XP�UXO�GH�RFWH L�SH�FDUH�HVWH�PHPRUDW�XQ�úLU�YD�IL��GHFL��PDL�PDUH�FX���GHFkW�QXP�UXO�GH�FDUDFWHUH�GLQ�úLU�([HPSOH�

´$FHVWD�HVWH�XQ�úLU�GH�FDUDFWHUH´ ��FRQVWDQW� úLU�PHPRUDW� SH����RFWH L������ ´ùLU�GH�FDUDFWHUH�FRQWLQXDW?´

SH�UkQGXO�XUP�WRU�´ ��FRQVWDQW� úLU�PHPRUDW� SH����RFWH L´ùLU�?W�FX�VHFYHQ H�HVFDSH?Q´ ��FRQVWDQW� úLU�PHPRUDW� SH����RFWH L¶?Q¶ ��FRQVWDQW� FDUDFWHU� PHPRUDW� SH� XQ�

RFWHW�´?Q´ ��FRQVWDQWD�úLU�PHPRUDW� SH���RFWH L��FRGXO�FDUDFWHUXOXL�HVFDSH�úL�WHUPLQDWRUXO�GH�

úLU�´D?D�´ � ùLU�PHPRUDW�SH���RFWH L�

3H��SULPXO��RFWHW��FRGXO��$6&,,�DO��FDUDFWHUXOXL�D3H��DO�GRLOHD��RFWHW��FRGXO��$6&,,�DO��FDUDFWHUXOXL�HVFDSH�

?D3H�DO�WUHLOHD�RFWHW��FRGXO�$6&,,�DO�FDUDFWHUXOXL��3H�DO� SDWUXOHD�RFWHW���WHUPLQDWRUXO�GH�úLU�18//��FRG�

$6&,,��� �´??$6&,,??´ � ùLU�PHPRUDW�SH���RFWH L�

3H�SULPXO�RFWHW��FRGXO��$6&,,�DO��FDUDFWHUXOXL�EDFNVODK3H��DO�GRLOHD���RFWHW���FRGXO�� $6&,,���DO���FDUDFWHUXOXL�$�3H��DO� WUHLOHD��RFWHW���FRGXO��$6&,,����DO���FDUDFWHUXOXL�63H�DO�� SDWUXOHD�RFWHW��FRGXO�$6&,,�DO�FDUDFWHUXOXL�63H�DO� ��OHD��RFWHW���FRGXO��$6&,,��DO��FDUDFWHUXOXL��,3H�DO� ��OHD��RFWHW���FRGXO��$6&,,��DO��FDUDFWHUXOXL��,3H��DO� ��OHD��RFWHW���FRGXO� $6&,,���DO��FDUDFWHUXOXL�

EDFNVODK3H�DO���HD�RFWHW��WHUPLQDWRUXO�GH�úLU�18//��GH�FRG�

$6&,,��� �´�?���D´ � ùLU�PHPRUDW�SH���RFWH L�

3ULPXO�RFWHW��&RGXO�$6&,,�DO�FDUDFWHUXO��$O���OHD��RFWHW���FRGXO��$6&,,����������LQ�RFWDO��DO�

FDUDFWHUXOXL�`$O����OHD��RFWHW���FRGXO��$6&,,��DO�FDUDFWHUXOXL�D$O���OHD��RFWHW��FRGXO�$6&,,���SHQWUX�WHUPLQDWRUXO�úLUXOXL�

�([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP�úL�V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��

Page 29: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

^� FRXW���ùLUXO� ?�$E�G?�� HVWH� PHPRUDW� SH����VL]HRI��$E�G�����RFWH L?Q��FRXW���ùLUXO� ?�$EFG??W?�� HVWH� PHPRUDW� SH����VL]HRI��$EFG?W������RFWH L?Q��FRXW���ùLUXO�?�?Q?��HVWH�PHPRUDW�SH����VL]HRI��?Q������RFWH L?Q��FRXW���ùLUXO� ?�??Q?�� HVWH� PHPRUDW� SH� ���VL]HRI��?Q������RFWH L?Q��FRXW���ùLUXO�?�$%&'(?��VH�PHPRUHD]� SH����VL]HRI��$%&'(������RFWH L?Q��`

��������9$5,$%,/(6SUH�GHRVHELUH�GH�FRQVWDQWH��YDULDELOHOH�VXQW�GDWH��RELHFWH�LQIRUPD LRQDOH��DOH�F�URU�YDORUL�VH�SRW�PRGLILFD�vQ�WLPSXO�H[HFX LHL�SURJUDPXOXL��ùL�YDULDELOHOH�VXQW�FDUDFWHUL]DWH�GH�DWULEXWHOH�QXPH��WLS��YDORDUH� úL� FODV�� GH� PHPRUDUH�� 9DULDELOHOH� VXQW� QXPH� VLPEROLFH XWLOL]DWH� SHQWUX� PHPRUDUHD�YDORULORU�LQWURGXVH�SHQWUX�GDWHOH�GH�LQWUDUH�VDX�D�UH]XOWDWHORU��'DF� OD�R�FRQVWDQW� QH�SXWHDP�UHIHUL�IRORVLQG� FDUDFWHUHOH� FRPSRQHQWH�� OD� R� YDULDELO� QH� YRP� UHIHUL� SULQ� QXPHOH� HL�� 1XPHOH� XQHL�YDULDELOH�QH�SHUPLWH�DFFHVXO� OD�YDORDUHD�HL��VDX�VFKLPEDUHD�YDORULL� VDOH��GDF � HVWH�QHFHVDU�DFHVW�OXFUX�� 1XPHOH� XQHL� YDULDELOH� HVWH� XQ� LGHQWLILFDWRU� DOHV� GH� SURJUDPDWRU�� &D� XUPDUH�� WUHEXLH�UHVSHFWDWH�UHJXOLOH�HQXPHUDWH�vQ�VHF LXQHD�LGHQWLILFDWRUL��'DF� R�GDW� QX�DUH�OHJ�WXUL�FX�DOWH�GDWH��GH�H[HPSOX��UHOD LD�GH�RUGLQH���YRP�VSXQH�F� HVWH�R�GDW�L]RODW���2�GDW� L]RODW� HVWH�R� YDULDELO� VLPSO���'DF� GDWHOH� VH�JUXSHD]� vQWU�XQ�DQXPLW�PRG� �vQ��WDEORXUL�� YHFWRUL��PDWULFL�� VDX�VWUXFWXUL���YDULDELOHOH�VXQW�FRPSXVH �VWUXFWXUDWH���ÌQ�FD]XO�FRQVWDQWHORU�� vQ�IXQF LH�GH�FRPSRQHQ D� OLWHUDOXOXL��FRPSLODWRUXO� VWDELOHD��DXWRPDW�� WLSXO�FRQVWDQWHL��ÌQ�FD]XO�YDULDELOHORU�HVWH�QHFHVDU� VSHFLILFDUHD�WLSXOXL�ILHF�UHLD��OD�GHFODUDUHD�DFHVWHLD��7RDWH�YDULDELOHOH�FDUH�YRU�IL�IRORVLWH�vQ�SURJUDP��WUHEXLH�GHFODUDWH�vQDLQWH�GH�XWLOL]DUH��

����������'HFODUDUHD�YDULDELOHORU0RGXO�JHQHUDO�GH�GHFODUDUH�D�YDULDELOHORU�HVWH�

WLSBYDULDELOH OLVW�BQXPHBYDULDELOH�6H� VSHFLILF� WLSXO� YDULDELOHL�ORU�� úL� R� OLVW� IRUPDW� GLQ� XQXO� VDX� PDL� PXO L� LGHQWLILFDWRUL� DL�YDULDELOHORU�GH�WLSXO�UHVSHFWLY��ÌQWU�XQ�SURJUDP�vQ�OLPEDMXO�&����GHFODUD LLOH�GH�YDULDELOH�SRW�DSDUH�vQ�RULFH� ORF� vQ�SURJUDPXO�VXUV���/D�GHFODUDUHD�YDULDELOHORU�� VH� UH]HUY� vQ�PHPRULH�XQ�QXP�U�GH�RFWH L�FRUHVSXQ]�WRU�WLSXOXL�YDULDELOHL��XUPkQG�FD�XOWHULRU��vQ�DFHD�]RQ� GH�PHPRULH��V� ILH�GHSXV��PHPRUDW���vQUHJLVWUDW���R�DQXPLW� YDORDUH�([HPSOH�

LQW�L��M�� GHFODUDUHD�YDU��VLPSOH� L� M��GH�WLS� LQW��6H�UH]HUY� SHQWUX�L�úL�M�FkWH����EL L���RFWH L� �

FKDU�F� � �GHFODUDUHD�YDULDELOHL�VLPSOH�F��GH�WLS�FKDU��6H�UH]HUY� XQ�RFWHW�� �

IORDW�OXQJLPH� � �GHFODUDUHD�YDULDELOHL�VLPSOH�OXQJLPH��VH�UH]HUY� ��RFWH L� �

����������,QL LDOL]DUHD�YDULDELOHORU�vQ�GHFODUD LL

Page 30: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

ÌQ�PRPHQWXO�GHFODU�ULL�XQHL�YDULDELOH��DFHVWHLD�L�VH�SRDWH�GD��DVLJQD��DWULEXL��R�DQXPLW� YDORDUH��ÌQ�DFHVW�FD]��vQ�PHPRULH�VH�UH]HUY� QXP�UXO�GH�ORFD LL�FRUHVSXQ]�WRU�WLSXOXL�YDULDELOHL�UHVSHFWLYH��LDU�YDORDUHD�YD�IL�GHSXV� �PHPRUDW���vQ�DFHOH�ORFD LL��)RUPD�XQHL�GHFODUD LL�GH�YDULDELOH�FX�DWULEXLUH�HVWH�

WLSBYDULDELO� QXPHBYDULDELO� H[SUHVLH�6H�HYDOXHD]� H[SUHVLD��LDU�UH]XOWDWXO�DFHVWHLD�HVWH�DVLJQDW�YDULDELOHL�VSHFLILFDWH�([HPSOH�

FKDU�EDFNVODVK ¶??¶� ��GHFODUDUHD�úL�LQL LDOL]DUHD�YDULDELOHL�VLPSOH�EDFNVODVKLQW�D � ���� � �GHFODUDUHD�YDULDELOHL VLPSOH� D�� GH� WLS� LQW� úL� LQL LDOL]DUHD�HL� FX�

YDORDUHD��� �IORDW� UDGLDQL�� SL ������ GHFODUDUHD� YDULDELOHL� UDGLDQL�GHFODUDUHD� úL� LQL LDOL]DUHD�

YDU��SL �VKRUW�LQW�] �� ��GHFODUDUHD�úL�LQL LDOL]DUHD�YDULDELOHL�VLPSOH�]FKDU�G ¶?���¶�FKDU�/LQLH1RXD ¶?Q¶�GRXEOH�[ �����\ ��

&RPSLODWRUXO� &��� IXUQL]HD]� PHFDQLVPH� FDUH� SHUPLW� SURJUDPDWRUXOXL� V� LQIOXHQ H]H� FRGXO�JHQHUDW�OD�FRPSLODUH��SULQ�DúD�QXPL LL�FDOLILFDWRUL�$FHúWLD�VXQW�

� FRQVW�� YRODWLOH�

&DOLILFDWRUXO�FRQVW DVRFLDW�XQHL�YDULDELOH��QX�YD�SHUPLWH PRGLILFDUHD�XOWHULRDU� D�YDORULL�DFHVWHLD��SULQ� SURJUDP� �SULQWU�R� DWULEXLUH��� &DOLILFDWRUXO� YRODWLOH �FHO� LPSOLFLW�� DUH� HIHFW� LQYHUV�FDOLILFDWRUXOXL� FRQVW��'DF� GXS� FDOLILFDWRU� QX� HVWH� VSHFLILFDW� WLSXO� GDWHL�� DFHVWD� HVWH� FRQVLGHUDW�WLSXO�LPSOLFLW��DGLF� LQW�([HPSOH�

FRQVW�IORDW�E ����YRODWLOH� FKDU� WHUPLQDWRU�WHUPLQDWRU ¶#¶�WHUPLQDWRU ¶ ¶���SHUPLVE ���� ��QHSHUPLVD�PRGLILFDUHD�YDORULL�YDULDELOHL�EFRQVW�Z� YRODWLOH�J� ��Z��J�GH�WLS�LQW��LPSOLFLW

�������� 2SHUD LL�GH�LQWUDUH�LHúLUH/LPEDMHOH�&�&���QX�SRVHG� LQVWUXF LXQL�GH�LQWUDUH�LHúLUH��GHFL�GH�FLWLUH�VFULHUH��FD�OLPEDMXO�

3$6&$/��GH�H[HPSOX���ÌQ�OLPEDMXO�&�DFHVWH�RSHUD LL�VH�UHDOL]HD]� FX�DMXWRUXO�XQRU�IXQF LL��GH�H[HPSOX��SULQWI�úL�VFDQI���LDU�vQ�OLPEDMXO�&���SULQ�VXSUDvQF�UFDUHD�RSHUDWRULORU �GHILQLUHD�XQRU�QRL�SURSULHW� L�DOH�XQRU�RSHUDWRUL�H[LVWHQ L��I�U� FD�SURSULHW� LOH�DQWHULRDUH�V� GLVSDU����PDL�SUHFLV�D�

RSHUDWRULORU�!! úL��� ��9RP�IRORVL�vQ�FRQWLQXDUH�DERUGDUHD�OLPEDMXOXL�&����ILLQG��vQ�PRPHQWXO�GH�ID ���PDL�VLPSO���ÌQ�OLPEDMXO�&���VXQW�SUHGHILQLWH�XUP�WRDUHOH�GLVSR]LWLYH�ORJLFH�GH�LQWUDUH�LHúLUH�

FLQ � FRQVROH�LQSXW�� GLVSR]LWLYXO�GH�LQWUDUH��WDVWDWXUD��FRXW � FRQVROH�RXWSXW�� GLVSR]LWLYXO�GH�LHúLUH��PRQLWRUXO��

$úD�FXP�VH�YD�YHGHD�vQ�FDSLWROXO����FLQ úL�FRXW VXQW��GH�IDSW��RELHFWH��SUHGHILQLWH���7UDQVIHUXO�LQIRUPD LHL� VH� UHDOL]HD]� FX� RSHUDWRUXO� !! SHQWUX� LQWUDUH� úL� RSHUDWRUXO� �� SHQWUX� LHúLUH��8WLOL]DUHD�GLVSR]LWLYHORU�GH�LQWUDUH�LHúLUH�FX�RSHUDWRULL�FRUHVSXQ]�WRUL�GHWHUPLQ� GHVFKLGHUHD�XQXL�FDQDO� GH� FRPXQLFD LH� D� GDWHORU� F�WUH� GLVSR]LWLYXO� UHVSHFWLY�� 'XS� RSHUDWRU� VH� VSHFLILF�LQIRUPD LLOH�FDUH�YRU�IL�FLWLWH�VDX�DILúDWH��([HPSOH�

Page 31: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

FRXW����YDU� � �DILúHD]� YDORDUHD�YDULDELOHL�YDU SH�PRQLWRU �FLQ��!!�YDU� � �FLWHúWH�YDORDUHD�YDULDELOHL�YDU GH�OD�WDVDWDWXU� �

6XQW�SRVLELOH�RSHUDU LL�PXOWLSOH��GH�WLSXO�([HPSOH�

FRXW����YDU�����YDU�����YDU��FLQ�!!�YDU��!!�YDU��!!�YDU��

ÌQ� DFHVW�FD]�� VH� HIHFWXHD]� VXFFHVLY��GH� OD� VWkQJD� OD�GUHDSWD�� VFULHUHD�� UHVSHFWLY� FLWLUHD�YDORULORU�YDULDELOHORU�YDU���YDU� úL�YDU��2SHUDWRUXO� !! VH� QXPHúWH� RSHUDWRU� H[WUDFWRU �H[WUDJH� YDORUL� GLQ� IOX[XO� GDWHORU� GH� LQWUDUH��FRQIRUP� WLSXOXL� DFHVWRUD��� LDU� RSHUDWRUXO� ��� VH� QXPHúWH�RSHUDWRU� LQVHUWRU �LQVHUHD]� YDORUL� vQ�IOX[XO�GDWHORU�GH�LHúLUH��FRQIRUP�WLSXOXL�DFHVWRUD���7LSXULOH�GH�GDWH�FLWLWH�GH�OD�WDVWDWXU � SRW�IL�WRDWH�WLSXULOH�QXPHULFH��FDUDFWHU�VDX�úLU�GH�FDUDFWHUH��7LSXULOH�GH�GDWH�WUDQVIHUDWH�F �WUH�LHúLUH�SRW�IL��WRDWH�WLSXULOH�QXPHULFH��FDUDFWHU�VDX�úLU�GH�FDUDFWHUH��2SHUDQ]LL�RSHUDWRUXOXL�H[WUDFWRU��!!��SRW�IL�GRDU�QXPH�GH�YDULDELOH��2SHUDQ]LL�RSHUDWRUXOXL�LQVHUWRU������SRW�IL�QXPH�GH�YDULDELOH��FD]�vQ�FDUH�VH�DILúHD]� YDORDUHD� YDULDELOHL��� FRQVWDQWH� VDX� H[SUHVLL��8WLOL]DUHD� GLVSR]LWLYHORU� úL� RSHUDWRULORU� GH�LQWUDUH�LHúLUH�vQ�&���LPSXQH�LQFOXGHUHD�ILúLHUXOXL��LRVWUHDP�K�([HPSOH�

FKDU�F�FRXW���$VWHSW�XQ�FDUDFWHU��� ��DILúDUHD� FRQVWDQWHL� úLU� GH� FDUDFWHUH�� GHFL� D�PHVDMXOXLFLQ!!F� ��FLWLUHD�YDORULL�YDULDELOHL�F��GH�WLS�FDUDFWHULQW�D��E��H��GRXEOH�G�FLQ!!D!!E!!H!!G� ��FLWLUHD�YDORULORU�YDULDELOHORU�D��E��H��G�GH�WLS�LQW��LQW��LQW��GRXEOHFRXW���D ���D���9DORDUHD�H[SUHVLHL�D�E�HVWH����D�E��?Q�

���� ������23(5$725,�ù,�(;35(6,,'DWHOH��FRQVWDQWH�VDX�YDULDELOH��OHJDWH�SULQ�RSHUDWRUL��IRUPHD]� H[SUHVLL��ILJXUD�������2SHUDWRULL�FDUH�SRW�IL�DSOLFD L�GDWHORU��RSHUDQ]LORU��GHSLQG�GH�WLSXO�RSHUDQ]LORU��GDWRULW� IDSWXOXL�F� WLSXO�XQHL�GDWH� FRQVW� vQWU�R�PXO LPH�GH� YDORUL� SHQWUX� FDUH� V�D� DGRSWDW�XQ� DQXPLW�PRG�GH� UHSUH]HQWDUH� vQ�PHPRULD�FDOFXODWRUXOXL�úL�R�PXO LPH�GH�RSHUDWRUL FDUH�SRW�IL�DSOLFD L�DFHVWRU�YDORUL��2SHUDWRULL�SRW�IL�� XQDUL��QHFHVLW� XQ�VLQJXU�RSHUDQG��� ELQDUL��QHFHVLW� GRL�RSHUDQ]L��� WHUQDUL��WUHL�RSHUDQ]L��2� H[SUHVLH� HVWH� R� FRPELQD LH� FRUHFW� GLQ� SXQFW� GH� YHGHUH� VLQWDFWLF�� IRUPDW� GLQ� RSHUDQ]L� úL�RSHUDWRUL��([SUHVLLOH��FD�úL�RSHUDQ]LL� DX�WLS úL�YDORDUH��

��������23(5$725,�

Page 32: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

� 2SHUDWRUXO� XQDU� DGUHV� �� DSOLFDW� LGHQWLILFDWRUXOXL� XQHL� YDULDELOH�� IXUQL]HD]� DGUHVD� OD� FDUH�HVWH�PHPRUDW� DFHDVWD�� 3RDWH� IL� DSOLFDW� RULF�UXL� WLS�GH� GDWH úL� VH�PDL� QXPHúWH� RSHUDWRU� GH�UHIHUHQ LHUH�

([HPSOX�LQW�D�FRXW���$GUHVD�OD�FDUH�HVWH�PHPRUDWD�YDULDELOD�D�HVWH���� D�

� 2SHUDWRUXO�GH�DWULEXLUH �GH�DVLJQDUH��HVWH�XQ�RSHUDWRU�ELQDU FDUH�VH�DSOLF� WXWXURU�WLSXULORU�GH�YDULDELOH��(VWH�IRORVLW�VXE�IRUPHOH�XUP�WRDUH�QXPHBYDULDELO� H[SUHVLH�

VDX� H[SUHVLH� H[SUHVLH��6H�HYDOXHD]� H[SUHVLD�GLQ�PHPEUXO�GUHSW��LDU�YDORDUHD�DFHVWHLD�HVWH�DW ULEXLW� YDULDELOHL�GLQ�

PHPEUXO�VWkQJ��'DF� WLSXULOH�PHPEULORU�VWkQJ�úL�GUHSW�GLIHU���VH�SRW�UHDOL]D�DQXPLWH�FRQYHUVLL��SUH]HQWDWH�vQ�SDUDJUDIXO�����

([HPSOX�IORDW�[��LQW�D�E��[ ������D E ���LQW�V��V D��� �� ��UH]XOWDW��V ���V [��� ��UH]XOWDW�V ��� GHRDUHFH�V�HVWH�LQW�

$úD�FXP�VH�REVHUY� vQ�OLQLD�D���D�GLQ�H[HPSOXO�SUHFHGHQW��RSHUDWRUXO�GH�DWULEXLUH�SRDWH�IL�XWLOL]DW�GH�PDL�PXOWH�RUL�vQ�DFHHDúL�H[SUHVLH��$VRFLDWLYLWDWHD�RSHUDWRUXOXL�DUH�ORF�GH�OD�GUHDSWD�OD�VWkQJD��

$VWIHO��PDL�vQWkL�E ����DSRL�D E�([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP�úL�V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^IORDW�[�\ ����� FKDU�FDU ¶$¶��LQW�D�E�F�FRXW��´9DO��OXL�\�HVWH�´��\��¶?Q¶� ��$ILúDUH�� 9DO�� OXL� \�HVWH�����[ \��FRXW��´9DO��OXL�[�HVWH�´��[��¶?Q¶� ��$ILúDUH�� 9DO�� OXL� [�HVWH�����D [�FRXW��´9DO�OXL�D�HVWH�´��D��¶?Q¶����$ILúDUH�9DO��OXL�D�HVWH����GHRDUHFH�D�GH�WLS�LQW���F E D��FRXW��´E ´��E��´?WF ´��F��¶?Q¶� ��$ILúDUH��E � F �FRXW��´,QWURGXFH L�YDO��OXL�F�´��FLQ!!F� �� FLWLUH�YDO��SHQWUX�FFRXW��´9DO��OXL�F�HVWH�´��F��¶?Q¶� ��$ILúDUH�� 9DO�� OXL� F�HVWH��`

2SHUDWRUXO�SRDWH�IL�DSOLFDW�WLSXULORU�GH�GDWH�vQWUHJL��UHDOH��FDUDFWHU��úL�FKLDU�úLUXUL�GH�FDUDFWHUH��DúD�FXP�YRP�YHGHD�vQ�FDSLWROHOH�XUP�WRDUH��H[HPSOX��FKDU�úLU�>��@ ´D�GIJWKNOM´��� 2SHUDWRUL�DULWPHWLFL�XQDUL�

2SHUDWRU 6HPQLILFD LH ([HPSOH� 0LQXV�XQDU �D�� 2SHUDWRU�GH�LQFUHPHQWDUH D�� VDX

�DGXQ� ��OD�YDORDUHD�RSHUDQGXOXL� ��D�� 2SHUDWRU�GH�GHFUHPHQWDUH D�� VDX

�VFDGH���GLQ�YDORDUHD�RSHUDQGXOXL� ��D

Page 33: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

� 2SHUDWRUXO�� XQDU�VFKLPE� VHPQXO�RSHUDQGXOXL��([HPSOX�

LQW�D�E� FRXW��´D ´���D��¶?Q¶� E �D�FRXW��´E ´��E��¶?Q¶�

2SHUDWRUXO�� XQDU�SRDWH�IL�DSOLFDW�GDWHORU�vQWUHJL��UHDOH��FDUDFWHU���� 2SHUDWRULL� GH� LQFUHPHQWDUH� úL� GHFUHPHQWDUH� SRW� IL� DSOLFD L� � GDWHORU� QXPHULFH� VDX�

FDUDFWHU�$PELL�RSHUDWRUL�SRW�IL�IRORVL L�vQ�IRUP� SUHIL[DW���vQDLQWHD�RSHUDQGXOXL�����D��UHVSHFWLY���D��VDX�SRVWIL[DW���GXS� RSHUDQG �D����UHVSHFWLY�D����2SHUDWRUXO�GH�GHFUHPHQWDUH��� FDUH�SRDWH�IL�IRORVLW�vQ�IRUP� SUHIL[DW� ���D��VDX�SRVWIL[DW��D�����8WLOL]DUHD� DFHVWRU� RSHUDWRUL� vQ� H[SUHVLL�� vQ� IRUP� SUHIL[DW� VDX� SRVWIL[DW�� GHWHUPLQ�HYDOXDUHD�DFHVWRUD�vQ�PRGXUL�GLIHULWH��DVWIHO�\ ��[ HVWH�HFKLYDOHQW�FX� [ [���

\ [�\ [�� HVWH�HFKLYDOHQW�FX� \ [�

[ [���\ ��[ HVWH�HFKLYDOHQW FX� [ [���

\ [�\ [�� HVWH�HFKLYDOHQW�FX� \ [�

[ [���([HUFL LX���6� VH�VFULH�XUP�WRUXO�SURJUDP�úL�V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^�LQW�D ���FRXW��´D�� ´��D����¶?Q¶� ��$ILúDUH��D�� �FRXW��´D ´��D��¶?Q¶� ��$ILúDUH��D ��D �� ��5HYHQLUH�LQ�VLWXDWLD�DQWHULRDUDFRXW��´��D ´����D��¶?Q¶� ��$ILúDUH����D ��FRXW��´D ´��D��¶?Q¶� ��$ILúDUH��D ��D ���FRXW��´D�� ´��D����¶?Q¶� ��$ILúDUH��D�� �FRXW��´D ´��D��¶?Q¶� ��$ILúDUH��D �D �� ��5HYHQLUH�LQ�VLWXD LD�DQWHULRDUDFRXW��´��D ´����D��¶?Q¶� ��$ILúDUH����D �FRXW��´D ´��D��¶?Q¶� ��$ILúDUH��D �LQW�]�[ ���] [�����FRXW��´] ´��]��¶?Q¶� ��$ILúDUH��] �FRXW��[ ´��[��¶?Q¶� ��$ILúDUH��[ �[ ���] ��[����FRXW��´] ´��]��¶?Q¶� ��$ILúDUH��] �FRXW��[ ´��[��¶?Q¶� ��$ILúDUH��[ �`

� 2SHUDWRUL�DULWPHWLFL�ELQDUL�2SHUDWRU 6HPQLILFD LH ([HPSOH� $GXQDUHD�FHORU�GRL�RSHUDQ]L D�E� 6F�GHUHD�FHORU�GRL�RSHUDQ]L D�E ÌQPXO LUHD FHORU�GRL�RSHUDQ]L D E

Page 34: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

� ÌPS�U LUHD FHORU�GRL�RSHUDQ]L D�E� 2SHUDWRUXO�PRGXOR��RSHUDWRUXO�UHVW� D�E

�IXUQL]HD]� UHVWXO�vPS�U LULL�RSHUDWRUXOXL�VWkQJ�OD�RSHUDWRUXO�GUHSW��2SHUDWRUXO�PRGXOR� VH� DSOLF� QXPDL� RSHUDQ]LORU� vQWUHJL� �GH� WLS� LQW� VDX� FKDU��� &HLODO L� RSHUDWRUL�DULWPHWLFL�ELQDUL�SRW�IL�DSOLFD L�GDWHORU vQWUHJL�VDX�UHDOH�'DF� vQWU�R� H[SUHVLH� FX� �� RSHUDQ]L� úL� XQ� RSHUDWRU� ELQDU� DULWPHWLF�� DPELL� RSHUDQ]L� VXQW� vQWUHJL��UH]XOWDWXO� H[SUHVLHL� YD� IL� WRW� XQ� QXP�U� vQWUHJ�� 'H� H[HPSOX�� OD� HYDOXDUHD� H[SUHVLHL� ����� DPELL�RSHUDQ]L�ILLQG�vQWUHJL��UH]XOWDWXO�IXUQL]DW�HVWH�QXP�UXO�vQWUHJ���2SHUDWRULL� SUH]HQWD L� UHVSHFW� R� VHULH� GH� UHJXOL� GH� SUHFHGHQ �� �SULRULWDWH�� úL� DVRFLDWLYLWDWH�� FDUH�GHWHUPLQ� SUHFLV�PRGXO� vQ� FDUH� YD� IL� HYDOXDW� H[SUHVLD� vQ� FDUH� DFHúWLD� DSDU�� ÌQ� WDEHOXO� ���� VXQW�SUH]HQWD L� RSHUDWRULL� DQWHULRUL�� vQ� RUGLQHD� GHVFUHVF�WRDUH� D� SULRULW� LL�� 3UHFHGHQ D� RSHUDWRULORU�SRDWH�IL�VFKLPEDW� FX�DMXWRUXO�SDUDQWH]HORU�7DEHOXO�����

&ODV� GH�RSHUDWRUL 2SHUDWRUL $VRFLDWLYLWDWH8QDUL � �XQDU������������������ GH�OD�GUHDSWD�OD�VWkQJD0XOWLSOLFDWLYL ��������� � GH�OD�VWkQJD�OD�GUHDSWD$GLWLYL �������� GH�OD�VWkQJD�OD�GUHDSWD$WULEXLUH GH�OD�GUHDSWD�OD�VWkQJD([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP�úL�V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��

^LQW�UH]XOW��D ���E ��F ���G ���UH]XOW D�E�FRXW��´D�E ´��UH]XOW��¶?Q¶� ���$ILúDUH��D�E ��UH]XOW D�E��FRXW��´D�E ´��UH]XOW��¶?Q¶� ���$ILúDUH��D�E ��UH]XOW D E�FRXW��´F E ´��UH]XOW��¶?Q¶� ���$ILúDUH��F E ��UH]XOW D�G��FRXW��´D�G ´��UH]XOW��¶?Q¶� ���$ILúDUH��D�G �UH]XOW F�E��FRXW��´F�E ´��UH]XOW��¶?Q¶� ���$ILúDUH��F�E �UH]XOW F�E G��FRXW��´F�E G ´��UH]XOW��¶?Q¶� ���$ILúDUH��F�E G ��UH]XOW ��E�D��FRXW��´�E�D ´��UH]XOW��¶?Q¶� ���$ILúDUH���E�D ��UH]XOW ���E�D���FRXW��´��E�D� ´��UH]XOW��¶?Q¶� ���$ILúDUH����E�D� ���UH]XOW E�F G�FRXW��´E�F G ´��UH]XOW��¶?Q¶� ���$ILúDUH��E�F G ���UH]XOW �E�F� G�FRXW��´�E�F� G ´��UH]XOW��¶?Q¶� ���$ILúDUH���E�F� G ���`

� 2SHUDWRUL�DULWPHWLFL�ELQDUL�FRPSXúL2SHUDWRU 6HPQLILFD LH ([HPSOH� D D�E D� E� D D�E D� E D D E D E� D D�E D� E� D D�E D� E

$FHúWL�RSHUDWRUL�VH�RE LQ�SULQ�FRPELQDUHD�RSHUDWRULORU�DULWPHWLFL�ELQDUL�FX�RSHUDWRUXO�GH�DWULEXLUH�úL�VXQW�IRORVL L�VXE�IRUPD�XUP�WRDUH�

H[SUHVLH���RSHUDWRU �H[SUHVLH��5H]XOWDWXO�RE LQXW�HVWH�DFHODúL�FX�UH]XOWDWXO�RE LQXW�SULQ�

H[SUHVLH�� �H[SUHVLH���RSHUDWRU��H[SUHVLH��

Page 35: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

7R L�DFHúWL�RSHUDWRULL�PRGLILF� YDORDUHD�RSHUDQGXOXL�VWkQJ�SULQ�DGXQDUHD��VF�GHUHD��vQPXO LUHD�VDX�vPS�U LUHD��DFHVWXLD�SULQ�YDORDUHD�RSHUDQGXOXL�GUHSW��&RQVWUXF LD�[� ��JHQHUHD]� DFHODúL�UH]XOWDW�FD�H[SUHVLD�[ [���2EVHUYD LLOH�UHIHULWRDUH�OD�RSHUDWRULL�DULWPHWLFL�ELQDUL�VXQW�YDODELOH�úL�SHQWUX�RSHUDWRULL�DULWPHWLFL�ELQDUL�FRPSXúL��2SHUDWRULL�DULWPHWLFL�ELQDUL�FRPSXúL�DX�DFHHDúL�SULRULWDWH�úL�DVRFLDWLYLWDWH�FD�úL�

RSHUDWRUXO�GH�DWULEXLUH�([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP�úL�V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^LQW�D�E��IORDW�F �����D ���E ��FRXW��´D ´��D��¶?Q¶� ��$ILúDUH��D �D� E��FRXW��´D ´��D��¶?Q¶� ��$ILúDUH��D ��D� E��FRXW��´D ´��D��¶?Q¶� ��$ILúDUH��D ��D E��FRXW��´D ´��D��¶?Q¶� ��$ILúDUH��D ��D� E��FRXW��´D ´��D��¶?Q¶� ��$ILúDUH��D �D� E��FRXW��´D ´��D��¶?Q¶� ��$ILVDUH��D �`

� 2SHUDWRUL�UHOD LRQDOL�ELQDUL2SHUDWRU 6HPQLILFD LH ([HPSOH (JDO�FX D E� 'LIHULW�GH D� E� 0DL�PLF�GHFkW D�E� 0DL�PLF�VDX�HJDO D� E! 0DL�PDUH�GHFkW D!E! 0DL�PDUH�VDX�HJDO D! E

3ULPLL� GRL� RSHUDWRUL� PDL� VXQW� QXPL L� RSHUDWRUL� GH� HJDOLWDWH�� 2SHUDWRULL� UHOD LRQDOL� VHUYHVF� OD�FRPSDUDUHD� YDORULORU� FHORU� GRL� RSHUDQ]L� úL� QX� PRGLILF� YDORULOH� RSHUDQ]LORU�� 5H]XOWDWXO� XQHL�H[SUHVLL�vQ�FDUH�DSDUH�XQXO�GLQ�RSHUDWRULL�UHOD LRQDOL�ELQDUL�HVWH�vQWUHJ�úL�DUH�YDORDUHD�]HUR�����GDF�UHOD LD�HVWH�IDOV���VDX�YDORDUHD�XQX������VDX�GLIHULW� GH���vQ�FD]XO�FRPSLODWRDUHORU�VXE�81,;���GDF�UHOD LD�HVWH�DGHY�UDW���$FHúWL�RSHUDWRULL�SRW�IL�DSOLFD L�GDWHORU�GH�WLS�vQWUHJ��UHDO�VDX�FKDU�5HJXOLOH�GH�SUHFHGHQ ��úL�DVRFLDWLYLWDWH�DOH�DFHVWRU�RSHUDWRUL�VXQW�SUH]HQWDWH�vQ�WDEHOXO�����7DEHOXO�����

&ODV� GH�RSHUDWRUL 2SHUDWRUL $VRFLDWLYLWDWH8QDUL � �XQDU������������������ GH�OD�GUHDSWD�OD�VWkQJD0XOWLSOLFDWLYL ��������� � GH�OD�VWkQJD�OD�GUHDSWD$GLWLYL �������� GH�OD�VWkQJD�OD�GUHDSWD$WULEXLUH GH�OD�GUHDSWD�OD�VWkQJD5HOD LRQDOL ����� �� !���! GH�OD�VWkQJD�OD�GUHDSWD'H�HJDOLWDWH ���� GH�OD VWkQJD�OD�GUHDSWD$WULEXLUH�úL�DULWPHWLFL�ELQDUL ���� ����� ��� � ����� ����� GH�OD�GUHDSWD�OD�VWkQJD2EVHUYD LH��'HRVHELUHD�GLQWUH�RSHUDWRULL� �UHOD LRQDO��GH�HJDOLWDWH��úL� �GH�DWULEXLUH��FRQVW� vQ�IDSWXO� F� SULPXO� QX�PRGLILF� YDORDUHD� QLFL� XQXLD� GLQWUH� RSHUDQ]LL� V�L�� SH� FkQG� FHO� GH�DO� GRLOHD�PRGLILF� YDORDUHD�RSHUDQGXOXL�VWkQJ��YH]L�H[HPSOXO�XUP�WRU�([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP�úL�V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

Page 36: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^LQW�D ���E ����OLP �����LQW�UH]XOW��UH]XOW D�E�FRXW��´D�E ´��UH]XOW��¶?Q¶����$ILúDUH���D�E ���VDX�R�DOW� YDORDUH�GLIHULW� GH�]HUR�SHQWUX�DOWH�FRPSLODWRDUH�UH]XOW D� E���RSHUDWRUXO�UHDO LRQDO�� �DUH�SULRULWDWH�PDL�PDUH�GHFkW�FHO�GH�DWULEXLUHFRXW��´D� E ´��UH]XOW��¶?Q¶����$ILVDUH���D�E ���VDX�R�DOWD�YDORDUH�GLIHULW� GH�]HUR�SHQWUX�DOWH�FRPSLODWRDUH�UH]XOW D!E��FRXW��´D!E ´��UH]XOW��¶?Q¶� ���$ILúDUH���D�E �UH]XOW D���! OLP� FRXW��´D���! OLP ´��UH]XOW��¶?Q¶�� �2SHUDWRUXO���DUH�SULRULWDWH�PDL�PDUH�GHFkW�RSHUDWRUXO�! �����$ILúDUH���D���! OLP �� �UH]XOW D����! OLP�� FRXW��´D����! OLP� ´��UH]XOW��¶?Q¶�� � 6FKLPEDUHD� SULRULWDWLL� RSHUDWRULORU� SULQ� IRORVLUHD� SDUDQWH]HORU�� � $ILúDUH���D����! OLP� ��� �UH]XOW D E�FRXW��´D E ´��UH]XOW��¶?Q¶� ���$ILúDUH���D E �FRXW��´D ´��D��¶?Q¶� ���$ILúDUH���D �FRXW��´E ´��E��¶?Q¶� ���$ILúDUH���E ��UH]XOW D E��FRXW��´D E ´��UH]XOW��¶?Q¶� ���$ILúDUH���D E ��FRXW��´D ´��D��¶?Q¶� ���$ILúDUH���D ��FRXW��´E ´��E��¶?Q¶� ���$ILúDUH���E ��UH]XOW �!E!���FRXW��´E ´��E��¶?Q¶� ���$ILúDUH���E ��FRXW��´�!E!�� ´��UH]XOW��¶?Q¶� ��(FKLYDOHQW� FX� ��!E�!��� $ILúDUH����!E!�� �����`

� 2SHUDWRUL�ORJLFL�SH�FXYkQW2SHUDWRU 6HPQLILFD LH ([HPSOH� 1RW��QHJD LH ORJLF�� ��D E� $QG��FRQMXQF LH��úL ORJLF� �D!E����E!F�__ 2U �GLVMXQF LH��VDX ORJLF� �D!E��__��E!F�

$FHúWL�RSHUDWRUL�SRW�IL�DSOLFD L�GDWHORU�GH�WLS�vQWUHJ��UHDO�VDX�FDUDFWHU��(YDOXDUHD�XQHL�H[SUHVLL�vQ�FDUH�LQWHUYLQ�RSHUDWRULL�ORJLFL�VH�IDFH�FRQIRUP�WDEHOXOXL�����7DEHOXO�����

[ \ �[ [\ [__\DGHY�UDW���� DGHY�UDW���� IDOV���� DGHY�UDW���� DGHY�UDW����DGHY�UDW���� IDOV���� IDOV���� IDOV���� DGHY�UDW����IDOV���� DGHY�UDW���� DGHY�UDW���� IDOV���� DGHY�UDW����IDOV���� IDOV���� DGHY�UDW���� IDOV���� IDOV����

([SUHVLD����H[SUHVLH�DUH�YDORDUHD����IDOV��GDF� H[SUHVLD�RSHUDQG�DUH�R�YDORDUH�GLIHULW� GH�]HUR�úL�YDORDUHD�XQX��DGHY�UDW��GDF� H[SUHVLD�RSHUDQG�DUH�YDORDUHD�]HUR�([SUHVLD���H[SUHVLH�__H[SUHVLH��DUH�YDORDUHD�GLIHULW� GH����WUXH��GDF� ),(�H[SUHVLH���),(�H[SUHVLH��DX�YDORUL�GLIHULWH�GH�]HUR�([SUHVLD� � � H[SUHVLH��� H[SUHVLH�� DUH� YDORDUHD� GLIHULW� GH� �� �WUXH�� GDF� $0%(/(�H[SUHVLL�RSHUDQG���H[SUHVLH��úL�H[SUHVLH���DX�YDORUL�GLIHULWH�GH�]HUR�([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP�úL�V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!

Page 37: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

YRLG�PDLQ��^�LQW�D ���E ����F �����G �����LQW�UH]XOW��UH]XOW DE�FRXW��´DE ´��UH]XOW��¶?Q¶� ��$ILúDUH��DE �UH]XOW D__E�� FRXW��´D__E ´��UH]XOW��¶?Q¶���$ILúDUH� � D__E �� �VDX� YDORDUH�QHQXOD�UH]XOW �D�FRXW��´�D ´��UH]XOW��¶?Q¶� ��$ILúDUH� � �D �� �VDX� YDORDUH�QHQXOD�UH]XOW �E��FRXW��´�E ´��UH]XOW��¶?Q¶� ��$ILúDUH���E ��UH]XOW �D!E��__��E!F��FRXW��´�D!E��__��E!F� ´��UH]XOW��¶ ?Q¶����$ILúDUH��D!E��__��E!F�� ��VDX�YDORDUH�QHQXOD�UH]XOW ��F�G��FRXW��´��F�G� ´��UH]XOW��¶?Q¶���$ILúDUH����F!G� �UH]XOW �D�E���FRXW��´�D�E�� ´��UH]XOW��¶?Q¶����$ILúDUH��D�E��� ��VDX�YDORDUH�QHQXOD�UH]XOW G__ED�FRXW��´G__ED ´��UH]XOW��¶?Q¶���$ILúDUH�G__ED� �`���ÌQ�HYDOXDUHD�H[SUHVLLORU�GLQ�H[HPSOX��V�DX�DSOLFDW�SULRULW� LOH�RSHUDWRULORU��LQGLFDWH�vQ�WDEHOXO������

7DEHOXO�����&ODV� GH�RSHUDWRUL 2SHUDWRUL $VRFLDWLYLWDWH

8QDUL ��� � �XQDU��� ��� �� GH�OD�GUHDSWD�OD�VWkQJD0XOWLSOLFDWLYL ��������� � GH�OD�VWkQJD�OD�GUHDSWD$GLWLYL �������� GH�OD�VWkQJD�OD�GUHDSWD$WULEXLUH GH�OD�GUHDSWD�OD�VWkQJDUHOD LRQDOL ����� �� !���! GH�OD�VWkQJD�OD�GUHDSWDGH�HJDOLWDWH ���� GH�OD�VWkQJD�OD�GUHDSWDORJLFL GH�OD�VWkQJD�OD�GUHDSWDORJLFL __ GH�OD�VWkQJD�OD�GUHDSWDDWULEXLUH�úL�DULWPHWLFL�ELQDUL ���� ����� ��� � ����� ����� GH�OD�GUHDSWD�OD�VWkQJD([HUFL LX� 6� VH� VFULH� XQ� SURJUDP� FDUH� FLWHúWH� XQ� QXP�U� UHDO� úL� DILúHD]� �� GDF� QXP�UXO� FLWLW�DSDU LQH�XQXL�LQWHUYDO�DOH�F�UXL�OLPLWH�VXQW�LQWURGXVH�WRW�GH�OD�WDVWDWXU���VDX���vQ�FD]�FRQWUDU�

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^GRXEOH�OPLQ��OPD[��QU�FRXW��´/LPLWD�LQIHULRDU� D�LQWHUYDOXOXL�´��FLQ!!OPLQ�FRXW��´/LPLWD�VXSHULRDU� D�LQWHUYDOXOXL�´��FLQ!!OPD[�FRXW���QU! OPLQ��QU� OPD[�� `

� 2SHUDWRUL�ORJLFL�SH�ELW2SHUDWRU 6HPQLILFD LH ([HPSOHa 1HJD LH��FRG�FRPSOHPHQWDU�ID ��GH�XQX� aD $1'��&RQMXQF LH��úL�ORJLF�SH�ELW D������_ 25 �'LVMXQF LH��VDX�ORJLF�SH�ELW� D�_�����A ;25��6DX�H[FOXVLY�ORJLF�SH�ELW� DAE�� 'HSODVDUH�VWkQJD ���������!! 'HSODVDUH�GUHDSWD �����!!��

$FHúWL�RSHUDWRUL�QX�VH�DSOLF� QXPHUHORU�UHDOH��FL�QXPDL�GDWHORU�GH�WLS�vQWUHJ�VDX�FDUDFWHU��3ULPXO�RSHUDWRU� HVWH� XQDU�� FHLODO L� ELQDUL�� 2SHUDWRULL� DF LRQHD]� OD� QLYHO� GH� ELW�� OD� QLYHOXO� UHSUH]HQW�ULL�LQWHUQH��vQ�ELQDU���FRQIRUP�WDEHOHOXOXL������

Page 38: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

7DEHOXO�����[ \ [\ [�_�\ [A\ a[� � � � � �� � � � � �� � � � � �� � � � � �

2SHUDWRUXO�a DUH�DFHHDúL�SULRULWDWH�FD úL FHLODO L�RSHUDWRUL�XQDUL��(O�IXUQL]HD]� FRPSOHPHQWXO�ID ��GH� XQX� DO� XQXL� vQWUHJ�� DGLF� YD� VFKLPED� ILHFDUH� ELW� GH� SH� �� vQ� ]HUR� úL� LQYHUV�� 2SHUDWRULL� GH�GHSODVDUH�SH�ELW���� úL�!!��HIHFWXHD]� GHSODVDUHD�OD�VWkQJD�VDX�OD�GUHDSWD�D�RSHUDQGXOXL�VWkQJ��FX�QXP�UXO�GH�EL L�LQGLFD L�GH�RSHUDQGXO�GUHSW��$VWIHO��[����GHSODVHD]� EL LL�GLQ�[�OD�VWkQJD��FX�GRX�SR]L LL��LQWURGXFkQG�]HUR�SH�SR]L LLOH�U�PDVH�YDFDQWH�([HPSOH�

LQW�D �� ��5HSUH]HQWDUH�LQWHUQ� D�OXL�D��SH���RFWH L�� ����������������LQW�E �� ��5HSUH]HQWDUH�LQWHUQ� D�OXL�E��SH���RFWH L�� ����������������LQW�UH] aD�FRXW���a���D�� ��UH]��?Q� ��a� �����&RPSOHPHQWXO�ID ��GH�XQX�HVWH������������������ �vQ�RFWDO����������������D �� ��UH] D��E��FRXW��D����E�� ��UH]��?Q� ���� ���DE ���������������� �UH] DAE��FRXW��D��A��E�� ��UH]� ����A� ����D�AE� �����������������UH] D_E��FRXW��D��_��E�� ��UH]� ���_� ����D�_�E� �����������������UH] D�����FRXW��D����������� ��UH]� ������ �� � � ���D��� �����������������UH] �!!���FRXW��E���!!������ ��UH]� ���!!� � ��� ���E!!� �����������������

2SHUDWRUXO�ELQDU�A� vúL�J�VHúWH�R�XWLOL]DUH�WLSLF� vQ�H[SUHVLL�FD��[A�����FDUH�PDVFKHD]� XOWLPLL���EL L�DL�OXL�[�SH�]HUR��2SHUDWRUXO� � HVWH� DGHVHD� XWLOL]DW� vQ� H[SUHVLL� FD� [������ XQGH� VHWHD]� WR L� EL LL� SH� ]HUR�� FX�H[FHS LD�FHORU�GH�RUGLQ�LQIHULRU�GLQ�[�2SHUDWRUXO� _� HVWH�XWLOL]DW� vQ�H[SUHVLL�FD��[0$6. ��XQGH�VHWHD]� SH�XQX�EL LL� FDUH� vQ�[�úL�PDVFD�0$6.�VXQW�VHWD L�SH�XQX��2SHUDWRULL�ORJLFL�SH�ELW��úL�_�VXQW�GLIHUL L�GH�RSHUDWRULL�ORJLFL��úL�__��SH�FXYkQW��'HSODVDUHD�OD�VWkQJD�D�XQHL�GDWH�FX�Q�SR]L LL�HVWH�HFKLYDOHQW� FX�vQPXO LUHD�YDORULL�DFHVWHLD�FX�� Q ��'HSODVDUHD� OD� GUHDSWD� D� XQHL� GDWH� I�U� VHPQ� FX� Q� SR]L LL� HVWH� HFKLYDOHQW� FX� vPS�U LUHD� YDORULL�DFHVWHLD�FX�� Q ��&RPELQkQG�RSHUDWRULL�ORJLFL�SH�ELW�FX�RSHUDWRUXO�GH�DWULEXLUH��VH�RE LQ�RSHUDWRULL� ��A ��_ ���� ��!! �� 2SHUDWRUXO�FRQGL LRQDO(VWH�XQ�RSHUDWRU�WHUQDU��QHFHVLW� ��RSHUDQ]L���XWLOL]DW�vQ�FRQVWUXF LL�GH�IRUPD�

H[SUHVLH�"H[SUHVLH��H[SUHVLH�6H� HYDOXHD]� H[SUHVLD��� 'DF� DFHDVWD� DUH� R� YDORDUH� GLIHULW� GH� ]HUR�� DWXQFL� WLSXO� úL� YDORDUHD�vQWUHJLL�H[SUHVLL�YRU�IL�DFHOHDúL�FX�WLSXO�úL�YDORDUHD� H[SUHVLHL���$OWIHO��GDF� H[SUHVLH��DUH�YDORDUHD�]HUR��� WLSXO� úL� YDORDUHD� vQWUHJLL� H[SUHVLL� YRU� IL� DFHOHDúL� FX� WLSXO� úL� YDORDUHD� H[SUHVLHL��� 'HFL�

Page 39: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

RSHUDWRUXO�FRQGL LRQDO�HVWH�IRORVLW�SHQWUX�D�DWULEXL�vQWUHJLL�H[SUHVLL�WLSXO�úL�YDORDUHD�H[SUHVLHL��VDX�D�H[SUHVLHL���vQ�IXQF LH�GH�R�DQXPLW� FRQGL LH��$FHVW�OXFUX�HVWH�HFKLYDOHQW�FX�

'DF� H[SUHVLH� GLIHULW� GH�]HUR$WXQFL HYDOXHD]� H[SUHVLH�$OWIHO HYDOXHD]� H[SUHVLH�

([HPSOX�LQW�VHPQ �[���"����

'DF� [����DWXQFL VHPQ ����DOWIHO VHPQ ��� 2SHUDWRUXO�YLUJXO�

(VWH�XWLOL]DW�vQ�FRQVWUXF LL�GH�IRUPD�H[SUHVLH����H[SUHVLH�

2SHUDWRUXO� YLUJXO� IRU HD]� HYDOXDUHD� XQHL� H[SUHVLL� GH� OD� VWkQJD� OD� GUHDSWD�� 7LSXO� úL� YDORDUHD�vQWUHJLL� H[SUHVLL� HVWH� GDW� GH� WLSXO� úL� YDORDUHD� H[SUHVLHL�. 2SHUDWRUXO� YLUJXO� HVWH� IRORVLW� vQ�LQVWUXF LXQHD�IRU��2SHUDWRUXO�YLUJXO� DUH�FHD�PDL�PLF� SULRULWDWH�([HPSOX�

LQW�[��F��\�FRXW��´$VWHSW�YDO��SWU��\�´��FLQ!!\�[ �F \��F� ��� � �F�YD�SULPL�YDORDUHD�OXL�\��FLWLW����VH�YHULILF� GDF� F�HVWH�PDL�

PLF�VDX�HJDO�FX����'DFD�QX��[ ���GDFD�GD��[ ��VDX�[ YDORDUH�GLIHULW� GH�]HUR� �

[����\��� ��vQWkL�HVWH�LQFUHPHQWDW�[��DSRL�HVWH�GHFUHPHQWDW�\� 2SHUDWRUXO�VL]HRI��

(VWH�XQ�RSHUDWRU�XQDU��FDUH�DUH�FD�UH]XOWDW�QXP�UXO�GH�RFWH L�SH�FDUH�HVWH�PHPRUDW� R�GDW�GH�XQ�DQXPLW�WLS��2SHUDQGXO�HVWH�XQ�WLS VDX�R�GDW� �FRQVWDQW� VDX�YDULDELO���GH�XQ�DQXPLW�WLS�

([HPSOH�FRXW��VL]HRI�LQW�� ��� DILúHD]� QXP�UXO� GH� RFWH L� SH� FDUH� HVWH� PHPRUDW� XQ�

vQWUHJ����FRXW��VL]HRI�´DE� ´�����DILúHD]� ���QU��GH�RFWH L�SH�FDUH�HVWH�PHPRUDW� FRQVWDQWD�úLU�

´DE� ´� 2SHUDWRUXO��WLS�

(VWH� XQ� RSHUDWRU� XQDU� FDUH� DSDUH� vQ� FRQVWUXF LL� QXPLWH� ´FDVW´� úL� FRQYHUWHúWH� WLSXO�RSHUDQGXOXL�V�X OD�WLSXO�VSHFLILFDW�vQWUH�SDUDQWH]H�

([HPSOH�LQW�D���IORDW��D� ���FRQYHUWHúWH�RSHUDQGXO�D��FDUH�HUD�GH�WLS�vQWUHJ��vQ�IORDW

ÌQ�DIDUD�RSHUDWRULORU�SUH]HQWD L��H[LVW� úL�DO LL��SH�FDUH�vL�YRP�HQXPHUD�vQ�FRQWLQXDUH��'HVSUH�DFHúWL�RSHUDWRUL�YRP�GLVFXWD�vQ�FDSLWROHOH�YLLWRDUH��FkQG�FXQRúWLQ HOH�DFXPXODWH�YRU�SHUPLWH�DFHVW�OXFUX�� 2SHUDWRUXO�XQDU�

(VWH� RSHUDWRU� XQDU�� QXPLW� úL� RSHUDWRU� GH� GHIHUHQ LHUH�� 6H� DSOLF� XQHL� H[SUHVLL� GH� WLS�SRLQWHU� úL� HVWH� IRORVLW� SHQWUX� D� DFFHVD� FRQ LQXWXO� XQHL� ]RQH� GH� PHPRULH� VSUH� FDUH�SRLQWHD]� RSHUDWRUXO��2SHUDWRULL���DGUHV���úL� �VXQW�FRPSOHPHQWDUL�

([HPSOX� ([SUHVLD� D�HVWH�vQORFXLW� FX�YDORDUHD�GH�OD�DGUHVD�FRQ LQXW� vQ�YDULDELOD�SRLQWHU�D�� 2SHUDWRULL�SDUDQWH]�

3DUDQWH]HOH�URWXQGH���� VH�XWLOL]HD]� vQ�H[SUHVLL��SHQWUX�VFKLPEDUHD�RUGLQLL�GH�HIHFWXDUH�D�RSHUD LLORU��VDX�OD�DSHOXO�IXQF LLORU��/D�DSHOXO IXQF LLORU��SDUDQWH]HOH�URWXQGH�vQFDGUHD]�

Page 40: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

OLVWD�SDUDPHWULORU�HIHFWLYL��'LQ�DFHVW�PRWLY��SDUDQWH]HOH�URWXQGH�VXQW�QXPLWH�úL� RSHUDWRUL�GH�DSHO�GH�IXQF LH.

([HPSOX�GRXEOH�VXP�GRXEOH�D��GRXEOH�E��� GHFODU��IXQF LHL�VXP��FDUH�SULPHúWH���DUJXPHQWH�UHDOH�GRXEOH��úL�UHWXUQHD]� R�YDORDUH�WLS�GRXEOH� �YRLG�PDLQ��^�����GRXEOH�D VXP������������� ��DSHOXO� IXQF LHL�VXP�� FX�SDUDPHWUL�HIHFWLYL������ úL�

����LQW�V� ���GRXEOH�V� �V�����D� ��IRORVLUHD�SDUDQWH]HORU�vQ�H[SUHVLL�����`

� 2SHUDWRULL�GH�LQGH[DUH2SHUDWRULL�GH� LQGH[DUH VXQW�SDUDQWH]HOH�S�WUDWH�>@��$FHVWHD LQFOXG�H[SUHVLL� vQWUHJL�FDUH�UHSUH]LQW� LQGLFL�DL�XQXL�WDEORX�

� 2SHUDWRUL�GH�DFFHV�OD�PHPEUL�VWUXFWXULORU2SHUDWRULL����� �� �!�� � úL��! SHUPLW�DFFHVXO� OD�FRPSRQHQWHOH�XQHL�VWUXFWXUL��(L�YRU�IL�VWXGLD L�vQ�FDSLWROXO���

ÌQ�WDEHOXO������VXQW�SUH]HQWD L�WR L�RSHUDWRULL��JUXSD L SH�FDWHJRULL��FX�SULRULW� LOH�ORU�úL�UHJXOLOH�GH�DVRFLDWLYLWDWH��2SHUDWRULL�GLQWU�R�FDWHJRULH�DX�DFHHDúL�SULRULWDWH�7DEHOXO�����1U� &ODV� GH�RSHUDWRUL 2SHUDWRUL $VRFLDWLYLWDWH�� 3ULPDUL ���>@����!���� GH�OD�VWkQJD�OD�GUHDSWD�� 8QDUL ��a������ VL]HRI���WLS�

��XQDU��� �GHIHUHQ LHUH� �UHIHUHQ LHUH�GH�OD�VWkQJD�OD�GUHDSWD

�� 0XOWLSOLFDWLYL ������������ GH�OD�VWkQJD�OD�GUHDSWD�� $GLWLYL ������� GH�OD�VWkQJD�OD�GUHDSWD�� 'HSODVDUH�SH�ELW �������!! GH�OD�VWkQJD�OD�GUHDSWD�� 5HOD LRQDOL ������ ����!����! GH�OD�VWkQJD�OD�GUHDSWD�� 'H�HJDOLWDWH ������ GH�OD�VWkQJD�OD�GUHDSWD�� ��ù,�ORJLF�SH�ELW� GH�OD�VWkQJD�OD�GUHDSWD�� A��;25�SH�ELW� GH�OD�VWkQJD�OD�GUHDSWD��� _��6$8�ORJLF�SH�ELW� GH�OD�VWkQJD�OD�GUHDSWD��� GH�OD�VWkQJD�OD�GUHDSWD��� __ GH�OD�VWkQJD�OD�GUHDSWD��� &RQGL LRQDO "� GH�OD�GUHDSWD�OD�VWkQJD��� 'H�DWULEXLUH ���� ���� ��� �����

��A ��_ ���� ��!! GH�OD�GUHDSWD�OD�VWkQJD

��� 9LUJXO� � GH�OD�VWkQJD�OD�GUHDSWD

��������(;35(6,,3ULQ� FRPELQDUHD� RSHUDQ]LORU� úL� D� RSHUDWRULORU� VH� RE LQ� H[SUHVLL�� 7LSXO� XQHL� H[SUHVLL� HVWH� GDW� GH�WLSXO�UH]XOWDWXOXL�RE LQXW�vQ�XUPD�HYDOX�ULL�DFHVWHLD��/D�HYDOXDUHD�XQHL�H[SUHVLL�VH�DSOLF� UHJXOLOH�

Page 41: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

GH�SULRULWDWH�úL�DVRFLDWLYLWDWH�D�RSHUDWRULORU�GLQ�H[SUHVLH��2UGLQHD�GH�DSOLFDUH�D�RSHUDWRULORU�SRDWH�IL� VFKLPEDW� SULQ� IRORVLUHD� SDUDQWH]HORU�� /D� DOF�WXLUHD� H[SUHVLLORU�� HVWH� LQGLFDW� HYLWDUHD�H[SUHVLLORU�vQ�FDUH�XQ�RSHUDQG�DSDUH�GH�PDL�PXOWH�RUL���������&219(56,,�'(�7,3/D�HYDOXDUHD�H[SUHVLLORU��VH�UHDOL]HD]� FRQYHUVLL�DOH�WLSXOXL�RSHUDQ]LORU��&RQYHUVLLOH�VXQW�

� $XWRPDWH�� &HUXWH�GH�HYDOXDUHD�H[SUHVLLORU�� &HUXWH�GH�SURJUDPDWRU��SULQ�FRQVWUXF LLOH�FDVW���H[SOLFLWH�

&RQYHUVLLOH�DXWRPDWH VXQW�UHDOL]DWH�GH�F�WUH�FRPSLODWRU�FKDU��VKRUW�LQW �! LQW

(OH�VXQW�UHDOL]DWH�GH�ILHFDUH�GDW� FkQG�vQWU�R�H[SUHVLH�DSDU�RSHUDQ]L�GH�WLSXO�FKDU�VDX�VKRUW�LQW�&RQYHUVLLOH� FHUXWH� GH� HYDOXDUHD� H[SUHVLLORU VXQW� HIHFWXDWH� vQ� FD]XULOH� vQ� FDUH� vQ� H[SUHVLL� DSDU�RSHUDQ]L� GH� WLSXUL� GLIHULWH�� ÌQDLQWHD� DSOLF�ULL� RSHUDWRULORU�� VH� UHDOL]HD]� FRQYHUVLD� XQXLD� VDX� D�DPELORU�RSHUDQ]L�� 'DF� XQ�RSHUDQG�HVWH�GH�WLS�ORQJ�LQW��FHO�ODOW�HVWH�FRQYHUWLW�OD�DFHODúL�WLS��WLSXO�H[SUHVLHL�

HVWH�ORQJ�LQW�� 'DF� XQ�RSHUDQG�HVWH�GH� WLSXO GRXEOH�� FHO�ODOW� HVWH�FRQYHUWLW� OD�DFHODúL� WLS�� WLSXO�H[SUHVLHL�

HVWH�GRXEOH�� 'DF� XQ�RSHUDQG�HVWH�GH�WLSXO IORDW��FHO�ODOW�HVWH�FRQYHUWLW�OD�DFHODúL�WLS��WLSXO�H[SUHVLHL�HVWH�

IORDW�&RQYHUVLLOH�H[SOLFLWH��FHUXWH�GH�SURJUDPDWRU� VH�UHDOL]HD]� FX�DMXWRUXO�FRQVWUXF LLORU�FDVW�([HPSOX�

LQW�[ ��� IORDW�\� \ �IORDW�[���ÌQDLQWH�GH�D�VH�HIHFWXD�vPS�U LUHD�FHORU���RSHUDQ]L��RSHUDQGXO�[��vQWUHJ��HVWH�FRQYHUWLW�vQ�

QXP�U� UHDO� VLPSO� SUHFL]LH��'XS� DWULEXLUH�� YDORDUHD� OXL� \� YD� IL� �����'DF� QX� DU� IL� IRVW� IRORVLW�RSHUDWRUXO�GH�FRQYHUVLH�vQ�H[SUHVLD�\ [������RSHUDQ]LL�[�úL���ILLQG�vQWUHJL��UH]XOWDWXO�vPS �U LULL�HVWH�vQWUHJ��GHFL�\�DU�IL�DYXW�YDORDUHD���

Ì175(%�5,�ù,�(;(5&,�,,&KHVWLXQL�WHRUHWLFH�� &H�UHSUH]LQW� GDWHOH�úL�FDUH�VXQW�DWULEXWHOH�ORU"�� &DUH�VXQW�GLIHUHQ HOH�vQWUH FRQVWDQWH�úL�YDULDELOH"�� &LQH�GHWHUPLQ� WLSXO�XQHL�FRQVWDQWH"�� &H�VXQW�LGHQWLILFDWRULL"�� &H�VXQW�GLUHFWLYHOH�SUHSURFHVRU"��� &H�UHSUH]LQWD�YDULDELOHOH"�� &H�VXQW�FRQVWDQWHOH"�� (QXPHUD L�WLSXULOH�VLPSOH�GH�YDULDELOH��� &kWH�WLSXUL�GH�GLUHFWLYH�SUHSURFHVRU�FXQRDVWH L"�([HPSOH���� &DUH�HVWH�PRGDOLWDWHD�GH�D�LQWHU]LFH�PRGLILFDUHD�YDORULL�XQHL�YDULDELOH"��� &H�ORF�RFXS� GHFODUDUHD�YDULELOHORU�vQ�FDGUXO�XQXL�SURJUDP�VXUV� VFULV�vQ�OLPEDMXO�&��"��� &H�FRQ LQ�ILúLHUHOH�KHDGHU"��� &H�WLSXUL�GH�YDULDELOH�VH�XWLOL]HD]� SHQWUX�GDWHOH�QXPHULFH"��� &DUH�VXQW�FDOLILFDWRULL�IRORVL L�DO�WXUL�GH�WLSXULOH�GH�ED]� SHQWUX�RE LQHUHD�WLSXULORU�GHULYDWH�GH�

GDWH"��� &H�VHPQLILF� SDUDQWH]HOH�XQJKLXODUH���! FDUH�vQFDGUHD]� QXPHOH�XQXL�ILúLHU�KHDGHU"��� &DUH�HVWH�GLIHUHQ D�vQWUH�FRQVWDQWHOH�����H���úL������"�'DU�vQWUH��?W��úL�?W"

Page 42: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

��� &H�WLS�DUH�FRQVWDQWD������"��� &DUH�HVWH�GLIHUHQ D�vQWUH�RSHUDWRULL� �úL� � "��� &H�UHSUH]LQW� FDUDFWHUHOH��HVFDSH�"��� &RQVWDQWH�vQWUHJL���� &RQVWDQWH�FDUDFWHU���� &H�WLSXUL�GH�FRQYHUVLL�FXQRDúWH L"��� &DUH�VXQW�FRQYHUVLLOH�UHDOL]DWH�vQ�PRG�DXWRPDW��GH�F�WUH�FRPSLODWRU"��� &RQVWDQWH�úLU�GH�FDUDFWHUH���� &RQVWDQWH�UHDOH���� &H�RSHUDWRUL�WHUQDUL�FXQRDVWH L"���� 2SHUDWRUXO�YLUJXO������ 2SHUDWRUXO�VL]HRI���� 2SHUDWRUL�DULWPHWLFL�ELQDUL�FRPSXúL���� 2SHUDWRUXO�GH�UHIHUHQ LHUH���� 2SHUDWRUL�UHOD LRQDOL�ELQDUL�&KHVWLXQL�DSOLFDWLYH�� 6� VH� VFULH� GHFODUD LLOH� SHQWUX� GHILQLUHD� FRQVWDQWHORU� VLPEROLFH�� SL�� J� �DFFHOHUD LD�

JUDYLWD LRQDO����XQJKLBGUHSW��GLPHQVLXQHB0$;��� &DUH�YD�IL�UH]XOWDWXO�DILúDW�SH�HFUDQ�vQ�XUPD�H[HFX LHL�XUP�WRDUHORU�VHFYHQ H�GH�LQVWUXF LXQL�

� GRXEOH�D �����FRXW��D ���¶?Q¶�� GRXEOH�D �����E �����FRXW���D���E���¶?Q¶�� GRXEOH�D �����FRXW��D ���¶?Q¶�� GRXEOH�[ ��LQW�\ ��[���FRXW��\��¶?Q¶�� LQW�D �� FRXW����D���¶?Q¶�� LQW�D ������FRXW��D����¶?Q¶��FRXW��D��¶?Q¶�� LQW�D ���FRXW����D��¶?Q¶��FRXW��D��¶?Q¶�� LQW�D ����FRXW��D����¶?Q¶��FRXW��D��¶?Q¶�� GRXEOH�D �����FRXW��D��¶?Q¶�� LQW�[ ���LQW�\ [������FRXW��\��¶?Q¶�� LQW�[ ���LQW�\ ��[����FRXW��\��¶?Q¶�� GRXEOH�D �����E ������FRXW���D!E���¶?Q¶�

�� 6� VH�YHULILFH�FRUHFWLWXGLQHD�XUP�WRDUHORU�VHFYHQ H��3HQWUX�FHOH�LQFRUHFWH��H[SOLFD L�VXUVD�HURULORU�� GRXEOH�D �����E �����LQW�F �D���E�����FRXW��F��¶?Q¶�� GRXEOH�D �����GRXEOH�F D �����FRXW��F��¶?Q¶�� GRXEOH�D �����E �����LQW�F �D���E�����FRXW��F��¶?Q¶�� GRXEOH�D �����E ������FRXW�����D��!E���¶?Q¶�� GRXEOH�D �����GRXEOH�E �����FRXW��D�E��¶?Q¶�� FRXW���D�����?Q�� LQW�, ���FRXW���,��������?Q�� GRXEOH�D �����$ �D��������FRXW��$��?Q�� LQW�[ �����LQW�\ [����FKDU�[ -��FRXW���\ ���\��?Q�� FKDU�D ;��FRQVW�LQW�E ����E� ���FRXW���E ���E����D ���D��?Q�

�� 6� VH�VFULH�XQ�SURJUDP�FDUH�DILúHD]� XUP�WRDUHOH�PHVDMH�� 6LUXO��HVWH�GXSD�DPLD]D��HVWH�PHPRUDW�SH������RFWHWL�� 2�PDULPH�LQWUHDJD�HVWH�PHPRUDWD�SH�����RFWHWL�� 2�PDULPH�UHDOD��LQ�VLPSOD�SUHFL]LH�HVWH�PHPRUDWD�SH�����RFWHWL�� 2�PDULPH�UHDOD��LQ�GXEOD�SUHFL]LH�HVWH�PHPRUDWD�SH�����E\WL�� &RQVWDQWD�FDUDFWHU�4�PHPRUDWD�SH�����RFWHWL�� 6LUXO��D?Q?Q��HVWH�PHPRUDW�SH�����RFWHL�� 6LUXO��?Q��HVWH�PHPRUDW�SH�����ELWL�

Page 43: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

� &DUDFWHUXO�?�HVWH�PHPRUDW�SH������ELWL��� 6� VH�HYDOXH]H�H[SUHVLLOH��úWLLQG�F���LQW�L ��LQW�M ��LQW�N ���GRXEOH�[ ��GRXEOH�

\ ����� �L�� �� �M��! �N����� ����M����� L���M���N� ���� �M� [��L�__�M�� �

�� &H�RSHUD LH�ORJLF� úL�FH�PDVF� WUHEXLH�V� IRORVL L�SHQWUX�D�FRQYHUWL�FRGXULOH�$6&,,�DOH�OLWHUHORU�PLFL�vQ�OLWHUH�PDUL"�'DU�SHQWUX�FRQYHUVLD�LQYHUV�"

�� 2�GHSODVDUH�OD GUHDSWD�FX���EL L�HVWH�HFKLYDOHQW� FX�R�URWD LH�OD�VWkQJD�FX�Fk L�EL L"�� 6� VH�VHWH]H�SH���WR L�EL LL�GLQWU�XQ�RFWHW��FX�H[FHS LD�ELWXOXL�FHO�PDL�VHPQLILFDWLY��� 6� VH�VFULH�XQ�SURJUDP�FDUH�FLWHúWH�R�YDORDUH�vQWUHDJ���6� VH�DILúH]H�XQ�PHVDM�FDUH�V� LQGLFH�

GDF� QXP�UXO�FLWLW�HVWH�SDU�VDX�LPSDU���� 6� VH�FLWHDVFD�GRX� YDORUL�vQWUHJL��6� VH�FDOFXOH]H�úL�V� VH�DILúH]H�UHVWXO�vPS�U LULL�FHORU�GRX�

QXPHUH�

,03/(0(17$5($�6758&785,/25'(�&21752/

�����,PSOHPHQWDUHD�VWUXFWXULL�VHFYHQ LDOH �����,PSOHPHQWDUHD�VWUXFWXULORU�UHSHWL�����,PSOHPHQWDUHD�VWUXFWXULL�GH�GHFL]LH �����)DFLOLW� L�GH�vQWUHUXSHUH�D�XQHL�VHF

$OJRULWPXO�SURLHFWDW�SHQWUX�UH]ROYDUHD�XQHL�DQXPLWH�SUREOHPH�WUHEXLH�LPSOHPHQWDW�vQWU �XQ�OLPEDMGH�SURJUDPDUH��SUHOXFUDUHD�GDWHORU�VH�UHDOL]HD]� FX�DMXWRUXO�LQVWUXF LXQLORU��,QVWUXF LXQHD�GHVFULHXQ�SURFHV�GH�SUHOXFUDUH�SH�FDUH�XQ�FDOFXODWRU�vO�SRDWH�H[HFXWD��2�LQVWUXF LXQH�HVWH�R�FRQVWUXF LHYDOLG� �FDUH� UHVSHFW� VLQWD[D� OLPEDMXOXL��XUPDW� GH� � ��2UGLQHD� vQ� FDUH� VH�H[HFXW� LQVWUXF LXQLOHXQXL�SURJUDP�GHILQHúWH�DúD�QXPLWD�VWUXFWXU� GH�FRQWURO�D�SURJUDPXOXL�/LPEDMHOH�PRGHUQH�VXQW�DOF�WXLWH�SH�SULQFLSLLOH�SURJUDP�ULL�VWUXFWXUDWH��&RQIRUP�OXL�&��%RKP�úL*��-DFRELQL��RULFH�DOJRULWP�SRDWH�IL�UHDOL]DW�SULQ�FRPELQDUHD�D�WUHL�VWUXFWXUL�IXQGDPHQWDOH�� VWUXFWXUD�VHFYHQ LDO��� VWUXFWXUD�DOWHUQDWLY� �GH�GHFL]LH��GH�VHOHF LH��� VWUXFWXUD�UHSHWLWLY� �FLFOLF���

������,03/(0(17$5($�6758&785,,��6(&9(1 �,$/(

WLYHYHQ H

����

Page 44: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

6WUXFWXUD� VHFYHQ LDO� HVWH� R� vQúLUXLUH� GH� VHFYHQ H� GH� SUHOXFUDUH� �LQVWUXF LXQL��� SODVDWH� XQD� GXS�DOWD��vQ�RUGLQHD�vQ�FDUH�VH�GRUHúWH�H[HFX LD�DFHVWRUD�

,PSOHPHQWDUHD�VWUXFWXULL�VHFYHQ LDOH�VH�UHDOL]HD]� FX�DMXWRUXO�LQVWUXF LXQLORU�� ,QVWUXF LXQHD�YLG�

6LQWD[D� �,QVWUXF LXQHD�YLG� QX�DUH�QLFL�XQ�HIHFW��6H�XWLOL]HD]� vQ�FRQVWUXF LL� vQ�FDUH�VH�FHUH�SUH]HQ D�XQHL�LQVWUXF LXQL��GDU�QX�VH�H[HFXW� QLPLF��GH�RELFHL��vQ�LQVWUXF LXQLOH�UHSHWLWLYH��([HPSOH�

LQW�D�������������LQW�M�

�IRU�����^��������`

� ,QVWUXF LXQHD�H[SUHVLH6LQWD[D� H[SUHVLH�VDX� DSHOBIXQF LH�

([HPSOH�LQW�E��D ��GRXEOH�F��E D���FRXW��D�F VTUW�D��FOUFVU�����DSHOXO� IXQF LHL� SUHGHILQLWH� FDUH� úWHUJH� HFUDQXO�� SURWRWLSXO� vQ� KHDGHUXO�

FRQLR�K� ,QVWUXF LXQHD�FRPSXV� �LQVWUXF LXQHD�EORF�

6LQWD[D� ^GHFODUDWLL�LQVWU��LQVWU��

5HSUH]HQWDUHD� VWUXFWXULL� VHFYHQ LDOH� FX�DMXWRUXO�VFKHPHL�ORJLFH�� ILJXUD������� 5HSUH]HQWDUHD� VWUXFWXULL� VHFYHQ LDOH� FX�

DMXWRUXO�SVHXGRFRGXOXL�LQVWU��LQVWU�����������

6�

6�

6Q

)LJXUD� ����� 6FKHPD� ORJLF� SHQWUX� VWUXFWXUD�������VHFYHQ LDO�

Page 45: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

��������`

ÌQWU�XQ�EORF�VH�SRW�GHFODUD�úL�YDULDELOH�FDUH�SRW�IL�DFFHVDWH�GRDU�vQ�FRUSXO�EORFXOXL��,QVWUXF LXQHD�EORF�HVWH�XWLOL]DW� vQ�ORFXULOH�vQ�FDUH�HVWH�QHFHVDU� SUH]HQ D�XQHL�VLQJXUH�LQVWUXF LXQL��vQV� SURFHVXO�GH�FDOFXO�HVWH�PDL�FRPSOH[��GHFL�WUHEXLH�GHVFULV�vQ�PDL�PXOWH�VHFYHQ H�

������,03/(0(17$5($�6758&785,,�'(�'(&,=,(��$/7(51$7,9(��'(�6(/(&�,(�

5HSUH]HQWDUHD� SULQ� VFKHP� ORJLF� úL� SULQ� SVHXGRFRG� D� VWUXFWXULORU� GH� GHFL]LH� úL� UHSHWLWLYH� VXQW�GHVFULVH�vQ�FDSLWROXO����6H�YRU�SUH]HQWD�vQ�FRQWLQXUH�GRDU�LQVWUXF LXQLOH�FDUH�OH�LPSOHPHQWHD]��� ,QVWUXF LXQHD�LI�6LQWD[D�

LI��H[SUHVLH�LQVWUXF LXQH��

>�HOVH�LQVWUXF LXQH���@

5DPXUD HOVH�HVWH�RS LRQDO��/D�vQWkOQLUHD�LQVWUXF LXQLL�LI��VH�HYDOXHD]� H[SUHVLH �FDUH�UHSUH]LQW� R�FRQGL LH��GLQ�SDUDQWH]H��'DF� YDORDUHD� H[SUHVLHL� HVWH � �FRQGL LD� HVWH� vQGHSOLQLW��� VH� H[HFXW� LQVWUXF LXQH��� GDF�YDORDUHD�H[SUHVLHL�HVWH�� �FRQGL LD�QX�HVWH�vQGHSOLQLW����VH�H[HFXW� LQVWUXF LXQH���'HFL��OD�XQ�PRPHQW�GDW��VH�H[HFXW� GRDU�XQD�GLQWUH�FHOH�GRX� LQVWUXF LXQL��ILH LQVWUXF LXQH���ILH LQVWUXF LXQH���'XS� H[HFX LD�LQVWUXF LXQLL�LI VH�WUHFH�OD�H[HFX LD�LQVWUXF LXQLL�FDUH�XUPHD]� DFHVWHLD�2EVHUYD LL��� ,QVWUXF LXQH� úL� LQVWUXF LXQH� SRW� IL� LQVWUXF LXQL� FRPSXVH� �EORFXUL��� VDX� FKLDU� DOWH�

LQVWUXF LXQL�LI �LI�XUL�LPEULFDWH���� 'HRDUHFH� LQVWUXF LXQHD� LI� WHVWHD]� YDORDUHD� QXPHULF� D� H[SUHVLHL� �FRQGL LHL��� HVWH� SRVLELO�

SUHVFXUWDUHD� LI��H[SUHVLH���vQ�ORF�GH�LI��H[SUHVLH�� ������ 'HRDUHFH�UDPXUD�HOVH D�LQVWUXF LXQLL�LI�HVWH�RS LRQDO���vQ�FD]XO�vQ�FDUH�DFHDVWD�HVWH�RPLV� GLQ�

VHFYHQ HOH� LI�HOVH� LPEULFDWH�� VH�SURGXFH�R�DPELJXLWDWH��'H�RELFHL�� UDPXUD� HOVH VH�DVRFLD]�XOWLPHL�LQVWUXF LXQL�LI�([HPSOX�

LI��Q!��LI��D!E�

] D�HOVH�] E�

�� 3HQWUX� FODULWDWHD� SURJUDPHORU� VXUV� VH� UHFRPDQG� DOLQLHUHD� LQVWUXF LXQLORU� SULQ� XWLOL]DUHD�WDEXODWRUXOXL�RUL]RQWDO�

�� 'HVHRUL��DSDUH�FRQVWUXF LD�LI��H[SUHVLH��

LQVWUXF LXQH��HOVH�

LI��H[SUHVLH��LQVWUXF LXQH��

HOVHLI��H[SUHVLH��

LQVWUXF LXQH��

$FHHDúL� FRQVWUXF LH� SRDWH� IL� VFULV� úL�DVWIHO�

LI��H[SUHVLH��LQVWUXF LXQH��

HOVH�LI��H[SUHVLH��LQVWUXF LXQH��

HOVH�LI��H[SUHVLH��LQVWUXF LXQH��

���������������������HOVH

LQVWUXF LXQHBQ�

Page 46: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

������������������HOVH

LQVWUXF LXQHBQ�([SUHVLLOH� VXQW� HYDOXDWH� vQ� RUGLQH�� GDF� XQD� GLQWUH� H[SUHVLL� DUH� YDORDUHD� ��� VH� H[HFXW�LQVWUXF LXQHD� FRUHVSXQ]�WRDUH� úL� VH� WHUPLQ� vQWUHDJD� vQO�Q XLUH�� 8OWLPD� SDUWH� D� OXL� HOVH�IXUQL]HD]� FD]XO�FkQG�QLFL�XQD�GLQWUH�H[SUHVLLOH������������Q���QX�DUH�YDORDUHD���

�� ÌQ� FD]XO� vQ� FDUH� LQVWUXF LXQLOH� GLQ� FDGUXO�LI�HOVH VXQW� VLPSOH�� VH� SRDWH� IRORVL� RSHUDWRUXO�FRQGL LRQDO�

([HUFL LL��� 6� VH�FLWHDVF� GH�OD�WDVWDWXU� XQ�QXP�U�UHDO��'DFD�DFHVWD�VH�DIO� vQ�LQWHUYDOXO�>�����������@��V�

VH�DILVH]H����GDF� QX��V� VH�DILVH]H�����LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^

GRXEOH�QU��FRXW��´$VWHSW�QXPDU�´��FLQ!!QU�LQW�DILV� ��QU! ��������QU�� ������"��������� FRXW��DILV�� �LQW�DILV�

LI��QU�! ��������QU�� �������DILV� ���

HOVH�DILV ����FRXW��DILV� �

`�� 6� VH�FDOFXOH]H�YDORDUHD�IXQF LHL�I�[���úWLLQG�F� [�HVWH�XQ�QXP�U�UHDO�LQWURGXV�GH�OD�WDVWDWXU��

� �[����� � GDF� [�� >�f �����@I�[�� [����� � GDF� [�� ������@

[ � GDF� [!��LQFOXGH��LRVWUHDP�K!�LQFOXGH��PDWK�K!YRLG�PDLQ��^GRXEOH�[�I�FRXW��´[ ´�FLQ!![�LI��[�� ����

I ��[ �������HOVH

LI����[� ���I �[����

HOVH�[ VTUW�[��FRXW��´I ´��I��¶?Q¶�`

8QHRUL��FRQVWUXF LD�LI�HOVH�HVWH�XWLOL]DW� SHQWUX�D�FRPSDUD�YFRQVWDQWH��FD�vQ�SURJUDPXO�XUP�WRU���� 6H�FLWHúWH�XQ�FDUDFWHU�UHSUH]HQWkQG�XQ�RSHUDWRU�DULWPHWL

FLWLW��VH�DILúHD]� QXPHOH�RSHUD LHL�SH�FDUH�DFHVWD�R�SRDWH�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^FKDU�RSHU�

6DX�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��PDWK�K!YRLG�PDLQ��^GRXEOH�[�I�FRXW��´[ ´�FLQ!![�LI��[�� ���

I ��[ �������LI���[! ����[� ���

I �[����LI��[!���[ VTUW�[��

FRXW��´I ´��I��¶?Q¶�`

DORDUHD�XQHL�YDULDELOH�FX�GLIHULWH�YDORUL�

F�ELQDU�VLPSOX��ÌQ�IXQF LH�GH�FDUDFWHUXO��UHDOL]D�

Page 47: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

FRXW��´,QWURGX�RSHUDWRU�DULWPHWLF��VLPSOX��ELQDU�´��FLQ!!RSHU�LI��RSHU� �¶�¶�

FRXW��´2SHUDWRUXO�GH�DGXQDUH�?Q´�HOVH�LI��RSHU ¶�¶��

FRXW��´2SHUDWRUXO�GH�VFDGHUH�?Q´�HOVH�LI��RSHU ¶ ¶��

FRXW��´2SHUDWRUXO�GH�LQPXOWLUH�?Q´�HOVH�LI��RSHU ¶�¶��

FRXW��´2SHUDWRUXO�GH�LPSDUWLUH�?Q´�HOVH�LI��RSHU ¶�¶��

FRXW��´2SHUDWRUXO�UHVW�?Q´�HOVH FRXW��´2SHUDWRU�LOHJDO���?Q´�`

� ,QVWUXF LXQHD VZLWFKÌQ� XQHOH� FD]XUL� HVWH� QHFHVDU� R� GHFL]LH�PXOWLSO� VSHFLDO��� ,QVWUXF LXQHD VZLWFK SHUPLWH� DFHVW�OXFUX�

6H� WHVWHD]� GDF� YDORDUHD� SHQWUX� H[SUHVLH HVWH� XQD� GLQWUH� FRQVWDQWHOH� VSHFLILFDWH��H[SUBFRQVWB��� H[SUBFRQVWB�� HWF��� úL� VH� H[HFXW� LQVWUXF LXQHD� GH� SH� UDPXUD�FRUHVSXQ]�WRDUH�� ÌQ� VFKHPD� ORJLF� WHVWBH[SUHVLH HVWH� XQD� GLQ� FRQGL LLOH��H[SUHVLH H[SUBFRQVWB���H[SUHVLH H[SUBFRQVWB� ��HWF�6LQWD[D�

VZLWFK��H[SUHVLH�^FDVH H[SUHVLHBFRQVWB�� LQVWUXFWLXQHB��

>EUHDN�@FDVH H[SUHVLHBFRQVWB�� LQVWUXFWLXQHB��

>EUHDN�@����������������� ����������������� ����������������� �������������FDVH H[SUHVLHBFRQVWBQ��� LQVWUXFWLXQHBQ���

5HSUH]HQWDUH�SULQ�VFKHPD�ORJLF� �ILJXUD������

EUHDN

EUHDN

LQVWUXF LXQH�

LQVWUXF LXQH�

LQVWUXF LXQHBQ

5HSUH]HQWDUH�SULQ�SVHXGRFRG�

'DF� H[SUHVLH H[SUBFRQVWB�LQVWUXF LXQH��>LHúLUH�@

$OWIHO�GDF� H[SUHVLH H[SUBFRQVWB�LQVWUXF LXQH��>LHúLUH�@

$OWIHO�GDF� H[SUHVLH H[SUBFRQVWBQ��LQVWUXF LXQHBQ���>LHúLUH�@$OWIHO LQVWUXF LXQHBQ�

)LJXUD�������'HFL]LD�PXOWLSO�

WHVWBH[SUHVLH

Page 48: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

>EUHDN�@>�GHIDXOW� LQVWUXFWLXQHBQ� @`

(VWH� HYDOXDW� H[SUHVLH �H[SUHVLH� DULWPHWLF���� LDU� YDORDUHD� HL� HVWH� FRPSDUDW� FX� YDORDUHD�H[SUHVLLORU�FRQVWDQWH�������HWF���H[SUHVLL�FRQVWDQWH H[SUHVLL�FDUH�QX�FRQ LQ�YDULDELOH���ÌQ�VLWXD LD�vQ�FDUH� YDORDUHD� H[SUHVLH HVWH� HJDO� FX� YDORDUHD� H[SUBFRQVWBN�� VH� H[HFXW� LQVWUXF LXQHD�FRUHVSXQ]�WRDUH� DFHOHL� UDPXUL� �LQVWUXF LXQHBN��� 'DF� VH� vQWkOQHúWH� LQVWUXF LXQHD�EUHDN��SDUFXUJHUHD�HVWH�vQWUHUXSW���GHFL�VH�YD�WUHFH�OD�H[HFX LD�SULPHL�LQVWUXF LXQL�GH�GXS� VZLWFK��'DF�QX� HVWH� vQWkOQLW� LQVWUXF LXQHD� EUHDN�� SDUFXUJHUHD� FRQWLQX��� %UHDN�XO� FDX]HD]� GHFL�� LHúLUHD�LPHGLDW� GLQ�VZLWFK��ÌQ�FD]XO�vQ�FDUH�YDORDUHD�H[SUHVLHL�QX�HVWH�J�VLW� SULQWUH�YDORULOH�H[SUHVLLORU�FRQVWDQWH��VH�H[HFXW�FD]XO� PDUFDW� FX� HWLFKHWD� GHIDXOW �FkQG� DFHVWD� H[LVW���� ([SUHVLLOH� H[SUHVLH�H[SUHVLHBFRQVWB��� H[SUHVLHBFRQVWB��HWF��� WUHEXLH� V� ILH� vQWUHJL�� ÌQ� H[HPSOXO�XUP�WRU��HOH�VXQW�GH�WLS�FKDU��GDU�R�GDW� GH�WLS�FKDU HVWH�FRQYHUWLW� DXWRPDW�vQ�WLSXO�LQW�([HUFL LX� 6� UHVFULHP�SURJUDPXO�SHQWUX�SUREOHPD����XWLOL]kQG�LQVWUXF LXQHD�VZLWFK�

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^

FKDU�RSHU�FRXW��´,QWURGX�RSHUDWRU�DULWPHWLF��VLPSOX��ELQDU�´�FLQ!!RSHU�VZLWFK��RSHU�^

FDVH��¶�¶��FRXW��´2SHUDWRUXO�GH�DGXQDUH�?Q´�EUHDN�

FDVH��¶�¶��FRXW��´2SHUDWRUXO�GH�VFDGHUH�?Q´�EUHDN�

FDVH��¶ ¶��FRXW��´�2SHUDWRUXO�GH�LQPXOWLUH�?Q´�EUHDN�

FDVH��¶�¶��FRXW��´2SHUDWRUXO�GH�LPSDUWLUH�?Q´�EUHDN�

FDVH��¶�¶��FRXW��´2SHUDWRUXO�UHVW�?Q´�EUHDN�

GHIDXOW�FRXW��´2SHUDWRU�LOHJDO�?Q´�

`�`

������,03/(0(17$5($�6758&785,/25�5(3(7,7,9(��&,&/,&(�([LVW� GRX� FDWHJRULL�GH�LQVWUXF LXQL�FLFOLFH��FX�WHVW�LQL LDO�úL�FX�WHVW�ILQDO�

Page 49: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

��������,PSOHPHQWDUHD�VWUXFWXULORU�FLFOLFH�FX�WHVW�LQL LDO6WUXFWXUD�FLFOLF� FX�WHVW�LQL LDO�HVWH�LPSOHPHQWDW� SULQ�LQVWUXF LXQLOH�ZKLOH úL�IRU�� ,QVWUXF LXQHD�ZKLOH6LQWD[D�

ZKLOH �H[SUHVLH�LQVWUXFWLXQH�

/D� vQWkOQLUHD� DFHVWHL� LQVWUXF LXQL�� VH� HYDOXHD]� H[SUHVLH�� 'DF� DFHDVWD� DUH� YDORDUHD� � � VDX�GLIHULW� GH���� �FRQGL LH�vQGHSOLQLW����VH�H[HFXW� LQVWUXF LXQH��6H�UHYLQH�DSRL�vQ�SXQFWXO�vQ�FDUH�VH�HYDOXHD]� GLQ�QRX�YDORDUHD�H[SUHVLHL��'DF� HD�HVWH� WRW����VH�UHSHW� LQVWUXF LXQH�� ú�D�P�G��$VWIHO�� LQVWUXF LXQHD� �FRUSXO� FLFOXOXL�� VH� UHSHW� DWkW� WLPS FkW� H[SUHVLH DUH� YDORDUHD� ��� ÌQ�PRPHQWXO�vQ�FDUH�H[SUHVLH LD�YDORDUHD�� �FRQGL LH�QHvQGHSOLQLW����VH�LHVH�GLQ�FLFOX�úL�VH�WUHFH�ODXUP�WRDUHD�LQVWUXF LXQH�GH�GXS� ZKLOH�2EVHUYD LL��� ÌQ�FD]XO�vQ�FDUH�OD�SULPD�HYDOXDUH�D�H[SUHVLHL��DFHDVWD�DUH�YDORDUHD�]HUR��FRUSXO�LQVWUXF LXQLL�

ZKLOH�QX�YD�IL�H[HFXWDW�QLFLRGDW���� ,QVWUXF LXQH GLQ�FRUSXO�FLFOXOXL�ZKLOH�SRDWH�IL�FRPSXV� �XQ�EORF���VDX�R DOW� LQVWUXF LXQH�

FLFOLF���� (VWH�GH�GRULW�FD�LQVWUXF LXQHD�GLQ�FRUSXO�FLFOXOXL�ZKLOH V� PRGLILFH�YDORDUHD�H[SUHVLHL��'DF�

QX�VH�UHDOL]HD]� DFHVW�OXFUX��FRUSXO�LQVWUXF LXQLL�ZKLOH�VH�UHSHW� GH�XQ�QXP�U�LQILQLW�GH�RUL�([HPSOX�

LQW�D ��ZKLOH��D ��

FRXW��´%XQD�]LXD�?Q´� ��� FLFOX� LQILQLW�� VH� UHSHW� OD� LQILQLW� DILúDUHD�PHVDMXOXL� ,QVWUXF LXQHD�IRUÌQ�PDMRULWDWHD�OLPEDMHORU�GH�SURJUDPDUH�GH�QLYHO�vQDOW��LQVWUXF LXQHD�IRU LPSOHPHQWHD]� VWUXFWXUD�FLFOLF� FX� QXP�U� FXQRVFXW� GH� SDúL� �YH]L� UHSUH]HQWDUHD� SULQ� VFKHPD� ORJLF� úL� SVHXGRFRG� GLQ�FDSLWROXO�����ÌQ�OLPEDMXO�&�LQVWUXF LXQHD�IRU SRDWH�IL�XWLOL]DW� vQWU�XQ�PRG�PXOW�PDL�IOH[LELO��

6LQWD[D�IRU��H[SUHVLH�� H[SUHVLH�� H[SUHVLH��

5HSUH]HQWDUH�vQ�SVHXGRFRG�

HYDOXDUH�H[SUHVLH�&Æ7�7,03 H[SUHVLH��5(3(7�

Ì1&(387LQVWUXF LXQHHYDOXDUH�H[SUHVLH�6)Æ5ù,7

�HYDOXDUH H[SUHVLH� �SDUWLFXODU�LQL LDOL]DUH�FRQWRU�

LQVWUXF LXQH

H[SUHVLH�

HYDOXDUH�H[SUHVLH���SDUWLFXODU�LQFUHPHQWDUH�FRQWRU�

5HSUH]HQWDUH�SULQ�VFKHPD�ORJLF� �ILJXUD�������

)LJXUD������6WUXFWXUD�FLFOLF� FX WHVW�LQL LDO

Page 50: C++ Tutorial(Romaneste)

3DJH��� RI����

LQVWUXFWLXQH�1X�HVWH�REOLJDWRULH�SUH]HQ D�H[SUHVLLORU��FL�GRDU�D LQVWUXF LXQLORU�YLGH�([HPSOX�

�������,P� ,QVWU6LQWD[D�

GZ

6H� H[HFXH[HFXW�FkW� WLPSFRUSXO�FL([HUFL LL�� 6H�FL

DILúHFDUDFFDUDFLQVWU

IRU�����H[SUHVLH���� VDX� IRU��������LQVWUXFWLXQH� LQVWUXFWLXQH�

SOHPHQWDUHD�VWUXFWXULORU�FLFOLFH�FX�WHVW�ILQDOXF LXQHD GR�ZKLOHR LQVWUXFWLXQH�KLOH�H[SUHVLH��W� LQVWUXF LXQH�� 6H� HYDOXHD]� DSRL�H[SUHVLH�� 'DF� DFHDVWD� DUH� YDORDUHD� ��� VH�LQVWUXF LXQH�� 6H� WHVWHD]� GLQ� QRX� YDORDUHD� H[SUHVLHL�� 6H� UHSHW� LQVWUXF LXQHYDORDUHD� H[SUHVLHL� HVWH� �� �FRQGL LD� HVWH� vQGHSOLQLW���� ÌQ� FD]XO� LQVWUXF LXQLL� GR�ZKLOH��FOXOXL�VH�H[HFXW� FHO�SX LQ�R�GDW���WHúWH�FkWH�XQ�FDUDFWHU��SkQ� OD�vQWkOQLUHD�FDUDFWHUXOXL�#��3HQWUX�ILHFDUH�FDUDFWHU�FLWLW��V� VH�]H�XQ�PHVDM�FDUH� V� LQGLFH�GDF� V�D�FLWLW�R� OLWHU� PDUH��R� OLWHU� PLF���R�FLIU� VDX�XQ�DOW�WHU��6� VH�DILúH]H�FkWH�OLWHUH�PDUL�DX�IRVW�LQWURGXVH��FkWH�OLWHUH�PLFL��FkWH�FL IUH�úL�FkWH�DOWH�WHUH�� 6H� SUH]LQW� WUHL� PRGDOLW� L� GH� LPSOHPHQWDUH� �FX� LQVWUXF LXQHD� ZKLOH�� FX�XF LXQHD�IRU úL�FX�LQVWUXF LXQHD�GR�ZKLOH��

2EVHUYD LL�OHJDWH�GH�LPSOHPHQWDUH9DULDELOD�F��WLS�FKDU��PHPRUHD]� FDUDFWHUXO�LQWURGXV�OD�XQ�PRPHQW�GDW��GH�OD�WDVWDWXU���9DULDELOHOH�vQWUHJL�OPLF�� OPDUH��OFLI�úL�DOWFDU�VXQW�XWLOL]DWH�SH�SRVW�GH�FRQWRU�SHQWUX�OLWHUH�PDUL��PLFL��FLIUH��UHVSHFWLY�DOWH�FDUDFWHUH�$F LXQHD�FDUH�VH�UHSHW� FkW�WLPS�FDUDFWHUXO�FLWLW�HVWH�GLIHULW�GH�FRQVWDQWD�FDUDFWHU�#�FRQVW� GLQ�PDL�PXOWH�DF LXQL�VLPSOH��FLWLUHD�

L� W U�� X� ILúDUHD�vQ�S O ELO�D�

� �� �

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��FRQLR�K!YRLG�PDLQ��^�FKDU�F��FOUVFU���LQW�OPLF ���OPDUH ���OFLI ��LQW�DOWFDU ��FRXW���$úWHSW�FDU�����FLQ!!F�ZKLOH��F� #�^

LI��F! $��F� =��^FRXW���/LW��PDUH�?Q��OPDUH����`

Page 51: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

2�DOW� YDULDQW� GH�LPSOHPHQWDUH�SRDWH�IL�XUP�WRDUHD��vQ�FDUH�úL�LQL LDOL]DUHD�YDULDELOHORU�FRQWRU�VH�UHDOL]HD]�vQ�FDGUXO�H[SUHVLHL�H[SUHVLH��LQW�OPLF��OPDUH��OFLI��DOWFDU�IRU�OPDUH ���OPLF ���OFLI ���DOWFDU ���F� #���^

���FRUS�LGHQWLF`

9DULDQW� GH�LPSOHPHQWDUH�FDUH�XWLOL]HD]� LQVWUXF LXQHD�GR�ZKLOH�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��FRQLR�K!YRLG�PDLQ��^�FKDU�F�FOUVFU���LQWOPLF ��OPDUH ��OFLI ��LQW�DOWFDU ��FRXW���$úWHSW�FDUDFW�����FLQ!!F�IRU����F� #���^

���FRUS�LGHQWLF`

FRXW���$ L�LQWURGXV�?Q��FRXW��OPDUH����OLWHUH�PDUL����FRXW��OPLF����OLWHUH�PLFL?Q��FRXW��OFLI����FLIUH�úL�?Q��FRXW��DOWFDU����DOWH�FDUFWHUH?Q��

3HQWUX�LPSOHPHQWDUHD�DFHOXLDúL�DOJRULWP�VH�SRDWH�XWLOL]D�LQVWUXF LXQHD�IRU��ÌQ�FDGUXO�DFHVWHLD��H[SUHVLH��úL�H[SUHVLH��OLSVHVF��vQV� SUH]HQ D��LQVWUXF LXQLORU�YLGH�HVWH�REOLJDWRULH�

LQW�OPLF ���OPDUH ���OFLI ��LQW�DOWFDU ��FRXW���$úWHSW�FDUDFW����FLQ!!F�GR�^

��FRUS�GR�ZKLOH`�ZKLOH��F� #��

FRXW���$ L�LQWURGXV�?Q����������

Page 52: C++ Tutorial(Romaneste)

3DJH��� RI����

�� 6� VH�FDOFXOH]H�VXPD�úL�SURGXVXO�SULPHORU�Q�QXPHUH�QDWXUDOH��Q�ILLQG�LQWURGXV�GH�OD�WDVWDWXU ���6H�YRU�H[HPSOLILFD�PRGDOLW� LOH�GH�LPSOHPHQWDUH�FX�DMXWRUXO�LQVWUXF LXQLORU�GR�ZKLOH�ZKLOH��úL�IRU���6H�REVHUY� F�� 6� �¦

Q

NN

���3� ��

Q

NN

���

3HQW

��

FRXW���Q ���LQW�Q��FLQ!!Q�LQW�6 ���3 ���N ��ZKLOH��N�� �Q�^

6� N��3 N��N���

`

� �� �

UX�D�LOXVWUD�PXOWLSOHOH�SRVLELOLW� L�RIHULWH�GH�LQVWUXF L

6� VH�FLWHDVF� XQ�úLU�GH�QXPHUH�UHDOH��SkQ� OD�vQWkOQLUQXPHUHORU�FLWLWH�

FRXW���3 ���3���?W6 ���6��?Q�

���YDULDQWD�LQW�6 ���3 ���N�IRU��N ���N� Q��N���^

6� N��3 N�`FRXW���3 ���3���?W6 ��FRXW��6��?Q�

���YLQIR`FRFR

���YDULDQWD�IRU��LQW�6 ���3 ���N ���N� Q��N���^

6� N��3 N�`FRXW���3 ���3���?W6 ���FRXW��6��?Q

���YDULDQWD�IRU��LQW�6 ���3 ���N ���N� Q��6� N��

�FRXW���3 ���3���?W6 ���FRXW��6��?Q

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^GRXEOH�Q�FRXW���,QWURGX�QU����FLQ!!Q�GRXEOH�PD[ Q�ZKLOH��Q� ����^ LI��Q! PD[�

PD[ Q�FRXW���,QWURGX�QU����FLQ!!Q�

FRXW���Q ���LQW�Q��FLQ!!Q�LQW�6 ���3 ���N ��GR^

6� N��3 N��N���

`�ZKLOH��N�� �Q��FRXW���3 ���3���?W6 ���6��?Q�

XQHD�IRU��SUH]HQW�P�YDULDQWHOH

HD�QXP�UXOXL������6� VH�DILúH]H�PD[LPXO�

DULDQWD�W�6 ���3 ��U��LQW�N ���N� Q��N���^

6� N��3 N�XW���3 ���3���?W6 ��XW��6��?Q�

3 N��N����

6H�SUHVXSXQH�F� SULPXO�HOHPHQW�GLQ�úLUXO�GH�QXPHUH�DUH�YDORDUHD�PD[LP���6H�PHPRUHD]�YDORDUHD�VD�vQ�YDULDELOD�PD[��6H�SDUFXUJH�DSRL�úLUXO��FRPSDUkQGX�VH�YDORDUHD�ILHF�UXL�HOHPHQW�FX�YDORDUHD�YDULDELOHL�PD[��ÌQ�FD]XO�vQ�FDUH�VH�J�VHúWH�XQ�HOHPHQW�FX�R�YDORDUH�PDL�PDUH�GHFkW�D�YDULDELOHL�PD[��VH�UH LQH�QRXD�YDORDUH��PD[ Q��

Page 53: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

�� 6� VH�DILúH]H�OLWHUHOH�PDUL�DOH�DOIDEHWXOXL�úL�FRGXULOH�DIHUHQWH�DFHVWRUD�vQ�RUGLQH�FUHVF �WRDUH��LDU� OLWHUHOH�PLFL� úL� FRGXULOH� DIHUHQWH� vQ�RUGLQH� GHVFUHVF�WRDUH��$ILúDUHD� VH� YD� IDFH� FX� SDX]�GXS� ILHFDUH�HFUDQ��LQFOXGH��LRVWUHDP�K!�LQFOXGH��FRQLR�K!�GHILQH�',0B3$*��� ��GLPHQVLXQHD� SDJLQLL� �QXPDUXO� GH� UDQGXUL� GH� SH� R�SDJLQD�YRLG�PDLQ��^FOUVFU���FRXW���/,7(5(/(�0$5,�?Q��LQW�QUBOLQ �� ��� QUBOLQ� HVWH� FRQWRUXO� GH� OLQLL� GH� SH�XQ�HFUDQIRU��FKDU�/LW0DUH $��/LW0DUH� =��/LW0DUH���^

LI��QUBOLQ ',0B3$*�^FRXW���$SDVD�R�WDVWD�������JHWFK����FOUVFU����QUBOLQ ��`

FRXW���/LWHUD����/LW0DUH����FX�FRGXO�$6&,,�����LQW�/LW0DUH��?Q����FRQYHUVLD�H[SOLFLWD��LQW�/LW0DUH�SHUPLWH�DILVDUHD�FRGXOXL�$6&,,�DO�FDUDFWHUXOXL�QUBOLQ���`

FRXW���/,7(5(/(�0,&,�?Q��IRU��FKDU�/LW0LFD ]��/LW0LFD! D��/LW0LFD ���^

LI��QUBOLQ ',0B3$*�^FRXW���$SDVD�R�WDVWD�������JHWFK����FOUVFU����QUBOLQ ��`

FRXW���/LWHUD����/LW0LFD����FX�FRGXO�$6&,,�����LQW�/LW0LFD��?Q�QUBOLQ���

``

�� 6� VH�VFULH�XQ�SURJUDP�FDUH�UHDOL]HD]� FRQYHUVLD�QXP�UXOXL�1�vQWUHJ��GLQ�ED]D����vQWU�R�DOW�ED]� GH�QXPHUD LH��E�����1�úL�E�FLWLWH�GH�OD�WDVWDWXU����&RQYHUVLD�XQXL�QXP�U�vQWUHJ�GLQ�ED]D���� vQ� ED]D� E� VH� UHDOL]HD]� SULQ� vPS�U LUL� VXFFHVLYH� OD� E� úL�PHPRUDUHD� UHVWXULORU�� vQ� RUGLQH�LQYHUV�� 'H�H[HPSOX������ ���UHVW ������� ��UHVW ������ ��UHVW ������ ��UHVW � ����� ����� �

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^�LQW�QUFLI ��1�E�UHVW�1Y�S ��ORQJ�1QRX ��FRXW���?Q,QWURGXFHWL�ED]D�����E ��FLQ!!E�FRXW���,QWURGXFHWL�QXPDUXO�LQ�ED]D�����QU ��FLQ!!1�1Y 1�ZKLOH�1� ��^

UHVW 1�E�� � � 1� E� FRXW���QU ���1��?Q��FRXW���UHVW ���UHVW��?Q�

Page 54: C++ Tutorial(Romaneste)

3DJH��� RI����

� �� �

QUFLI�����1QRX� UHVW S����S ������FRXW���1U��QRX ���1QRX�� ?Q�`FRXW���1XPDUXO�GH�FLIUH�HVWH����QUFLI��?Q��FRXW���1U��LQ�ED]D������1Y�FRXW����FRQYHUWLW�LQ�ED]D����E����HVWH����1QRX�� ?Q� `

�� 6� VH� FDOFXOH]H� VHULD� XUP�WRDUH� FX� R� HURDUH� PDL� PLF� GHFkW� (36� �(36� LQWURGXV� GH� OD�WDVWDWXU������¦f

�N

N

N[ ��[�>���@��[�FLWLW�GH�OD�WDVWDWXU�� 9RP�DGXQD�OD�VXP� vQF� XQ�WHUPHQ�FkW�

WLPS�GLIHUHQ D�GLQWUH�VXPD�FDOFXODW� OD�SDVXO�FXUHQW�úL�FHD�FDOFXODW� OD�SDVXO�DQWHULRU�HVWH�PDL�PDUH�VDX�HJDO� FX (36��LQFOXGH��LRVWUHDP�K!�LQFOXGH��FRQLR�K!�LQFOXGH��PDWK�K!YRLG�PDLQ��^�GRXEOH�7�6�6��ORQJ�N�N ��7 ��6 7�GRXEOH�[��FRXW���[ ���FLQ!![����7 �WHUPHQXO�JHQHUDO�GH�OD�SDVXO�FXUHQW��6 VXPD�OD�SDVXO�FXUHQW��6� VXPD�OD�SDVXO�DQWHULRUGR��^�6� 6�N N���7 SRZ�[�N��N� ��IXQF LD� SRZ�[�� N��� DIODW� vQ� �PDWK�K!�

FDOFXOHD]� [ N6 6�7�����FRXW��N��������7��������6��?Q�JHWFK���`��ZKLOH���6�6��! (36��FRXW���1U�WHUPHQL ���N�����7 ���7������6 ���6��?Q� `

������)$&,/,7��,�'(�Ì175(583(5(�$�81(,�6(&9(1�(3HQWUX�R�PDL�PDUH�IOH[LELOLWDWH��WUDWDUHD�H[FHS LLORU�FDUH�SRW�DSDUH� vQ�SURFHVXO�GH�SUHOXFUDUH��� vQ�OLPEDMXO�&�VH�XWLOL]HD]� LQVWUXF LXQLOH�EUHDN úL�FRQWLQXH��$PEHOH�LQVWUXF LXQL�VXQW�XWLOL]DWH�vQ�LQVWUXF LXQLOH�FLFOLFH��ÌQ�SOXV��LQVWUXF LXQHD�EUHDN�SRDWH�IL�IRORVLW� vQ�LQVWUXF LXQHD�VZLWFK�� ,QVWUXF LXQHD�EUHDN$úD�FXP�VH�REVHUY� GLQ�ILJXUD�������XWLOL]DW� vQ�FDGUXO�LQVWUXF LXQLORU�FLFOLFH��LQVWUXF LXQHD�EUHDN��IRU HD]��� LHúLUHD� GLQ� DFHVWHD�� )�U� D� VH�PDL� WHVWD� YDORDUHD� H[SUHVLHL� �FRQGL LD�� FDUH� GHWHUPLQ�UHSHWDUHD� FRUSXOXL� LQVWUXF LXQLL� FLFOLFH�� VH� FRQWLQX� H[HFX LD� FX� LQVWUXFWLXQHD� FDUH� XUPHD]�LQVWUXFWLXQLL� FLFOLFH�� $VWIHO�� VH� vQWUHUXSH� UHSHWDUHD� FRUSXOXL� LQVWUXF LXQLL� FLFOLFH�� LQGLIHUHQW� GH�YDORDUHD�FRQGL LHL�GH�WHVW�8WLOL]DUHD�vQ�FDGUXO�LQVWUXF LXQLL�VZLWFK��ÌQ�VLWXD LD�vQ�FDUH�V�D�DMXQV�OD�R�YDORDUH�D�XQHL�H[SUHVLHL�FRQVWDQWH� HJDO� FX� FHD� D� H[SUHVLHL� DULWPHWLFH�� VH� H[HFXW� LQVWUXF LXQHD� FRUHVSXQ]�WRDUH� DFHOHL�UDPXUL��'DF� VH�vQWkOQHúWH�LQVWUXF LXQHD�EUHDN��SDUFXUJHUHD�HVWH�vQWUHUXSW� �QX�VH�PDL�FRPSDU�YDORDUHD� H[SUHVLHL� DULWPHWLFH� FX� XUP�WRDUHOH� FRQVWDQWH��� GHFL� VH� YD� WUHFH� OD� H[HFX LD� SULPHL�LQVWUXF LXQL� GH� GXS� VZLWFK�� 'DF� QX� HVWH� vQWkOQLW� EUHDN�� SDUFXUJHUHD� FRQWLQX��� ,QVWUXF LXQHD�EUHDNO�FDX]HD]� GHFL��LHúLUHD�LPHGLDW� GLQ�VZLWFK��� ,QVWUXF LXQHD�FRQWLQXHÌQWkOQLUHD� LQVWUXF LXQLL� FRQWLQXH �ILJXUD� ������ GHWHUPLQ� LJQRUDUHD� LQVWUXF LXQLORU� FDUH� R�XUPHD]� vQ� FRUSXO� LQVWUXF LXQLL� FLFOLFH� úL� UHOXDUHD� H[HFX LHL� FX� WHVWDUHD YDORULL� H[SUHVLHL� FDUH�GHWHUPLQ� UHSHWDUHD�VDX�QX�D�FRUSXOXL�FLFOXOXL�

Page 55: C++ Tutorial(Romaneste)

3DJH��� RI����

([HPSOX� 6� UHYHQLP� OD� SURJUDPXO� UHDOL]DW� SHQWUX� SUREOHPD� ��� FDUH� IRORVHúWH� LQVWUXF LXQHD�GRZKLOH� 'DF� SULPXO�FDUDFWHU�FLWLW�HVWH�FKLDU�FDUDFWHUXO�#��VH�UHDOL]HD]� WHVWDUHD�DFHVWXLD� FD�XUPDUH�� VH� DILúHD]� PHVDMXO��$OW�FDU��� úL� VH� LQFUHPHQWHD]� YDORDUHD� FRQWRUXOXL�DOWFDU��'DF� QX�VH�GRUHúWH�FD�DFHVW�FDUDFWHU�V� ILH�WHVWDW�úL�QXP�UDW��vQ�FRUSXO�LQVWUXF LXQLL�GR�ZKLOH�SXWHP�IDFH�XQ�WHVW�VXSOLPHQWDU�

&

LQW�OPLF ��OPDUH ��OFLI ��DOWFDU ��FRXW���$úWHSW�FDUDFW����FLQ!!F�GR�^

LI��F� �#� EUHDN� ��LHúLUH�GLQ�GR�ZKLOH���FRUS�GR�ZKLOH

`�ZKLOH��F� #��FRXW���$ L�LQWURGXV�?Q����������

� �� �

Ì175(%�5,�ù,�(;(5&,�,,KHVWLXQL�WHRUHWLFH

GR^LQVWUXFWLXQH��LQVWUXFWLXQH��LI��H[SUHVLH��

EUHDN�HOVH

FRQWLQXH�LQVWUXFWLXQH��`�ZKLOH��H[SUHVLH���

IRU��H[SU���H[SU���H[SU���^LQVWUXFWLXQH��LQVWUXFWLXQH��LI��H[SUHVLH��

EUHDN�HOVH

FRQWLQXH�LQVWUXFWLXQH��

`

)LJXUD�������0RGXO�GH�XWLOL]DUH�D�LQVWUXF LXQLORU�EUHDN úL�FRQWLQXH

ZKLOH��H[SUHVLH��^LQVWUXFWLXQH��LQVWUXFWLXQH��LI��H[SUHVLH��

EUHDN�HOVH

FRQWLQXH�LQVWUXFWLXQH��

`

Page 56: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

�� &DUH�VXQW�LQVWUXF LXQLOH�FDUH�LPSOHPHQWHD]� vQ�OLPEDMXO�&�VWUXFWXUD�FRQGL LRQDO�"�� &DUH�VXQW�LQVWUXF LXQLOH�FDUH�LPSOHPHQWHD]� vQ�OLPEDMXO�&�VWUXFWXUD�VHFYHQ LDO�"�� &DUH�VXQW�LQVWUXF LXQLOH�FDUH�LPSOHPHQWHD]� vQ�OLPEDMXO�&�VWUXFWXUD�UHSHWLWLY� FX�WHVW�LQL LDO"�� &DUH�VXQW�LQVWUXF LXQLOH�FDUH�LPSOHPHQWHD]� vQ�OLPEDMXO�&�VWUXFWXUD�UHSHWLWLY� FX�WHVW�ILQDO"�� &H�GHRVHELUL�VXQW�vQWUH�LQVWUXF LXQHD�ZKLOH�úL�LQVWUXF LXQHD�GR�ZKLOH"�� 3RUQLQG�GH�OD�VLQWD[D�LQVWUXF LXQLL�IRU��VWDELOL L�HFKLYDOHQ D�vQWUH�DFHDVWD�úL�LQVWUXF LXQLOH�ZKLOH�

úL�GR�ZKLOH�

&KHVWLXQL�SUDFWLFH�� 6� VH�LPSOHPHQWH]H�SURJUDPHOH�FX�H[HPSOHOH�SUH]HQWDWH��� 6� VH�VFULH�SURJUDPHOH�SHQWUX�H[HUFL LLOH�UH]ROYDWH�FDUH�DX�IRVW�SUH]HQWDWH��� 6� VH�LPSOHPHQWH]H�DOJRULWPLL�SURLHFWD L�SHQWUX�SUREOHPHOH�����GLQ�FDSLWROXO����� 6� VH� FDOFXOH]H� DULD� XQXL� WULXQJKL�� FXQRVFkQGX�VH� P�ULPHD� ODWXULORU� VDOH�� 1XPHUHOH� FDUH�

UHSUH]LQW� P�ULPLOH� ODWXULORU�YRU�IL� LQWURGXVH�GH�XWLOL]DWRU��6H�YD� WHVWD�PDL� vQWkL�GDF� FHOH���QXPHUH� UHSUH]HQWkQG�P�ULPHD ODWXULORU� SRW� IRUPD� XQ� WULXQJKL� �� D� � � E�F�� E�� � F�G�� F� � �D�E��

�� 6� VH�UHVFULH�XUP�WRDUHD�VHFYHQ ���IRORVLQG�R�VLQJXU� LQVWUXF LXQH�LI�LI���Q���

LI��Q! ���LI��[� ��

LQW�E �Q�[��� 6� VH�FLWHDVF� XQ�QXPDU�QDWXUDO�Q��6� VH�VFULH�XQ�SURJUDP�FDUH�DILúHD]� GDF� QXP�UXO�Q�FLWLW�

UHSUH]LQW� VDX�QX��XQ�DQ�ELVHFW��DQLL�ELVHF L�VXQW�PXOWLSOL�GH����H[FHSWkQG�PXOWLSOLL�GH������GDU�LQFOX]kQG�PXOWLSOLL�GH������

�� 6� VH�J�VHDVF� WRDWH�QXPHUHOH�GH�GRX� FLIUH�FDUH�VDWLVIDF�UHOD LD�

�� 6� VH� FLWHDVF� XQ� úLU� GH� QXPHUH� UHDOH� SkQ� OD� vQWkOQLUHD� QXPDUXOXL� ���� úL� V� VH� DILúH]H�YDORDUHD�PLQLP� LQWURGXV���VXPD�úL�SURGXVXO�HOHPHQWHORU�úLUXOXL��

�� 6FULH L�XQ�SURJUDP�FDUH�V� YHULILFH� LQHJDOLWDWHD����Q������ OQ>�Q����Q@�����Q��XQGH�Q�HVWH�XQ�QXP�U�QDWXUDO�SR]LWLY��LQWURGXV�GH�OD�WDVWDWXU��

��� )LH�IXQF LDH ��[ ��[�>�����

I�[� � VLQ[�FRV[ ��[�>��������OQ�[��� ��[�>������@

��� 6� VH�VFULH�XQ�SURJUDP�FDUH�FDOFXOHD]� úL�DILúHD]� PD[LPXO�D���QXPHUH�UHDOH��D��E�úL�F��FLWLWH�GH�OD�WDVWDWXU��

��� 6� VH�VFULH�XQ�SURJUDP�FDUH�FDOFXOHD]� úL�DILúHD]� PLQLPXO�D���QXPHUH�UHDOH��D��E�úL�F��FLWLWH�GH�OD�WDVWDWXU��

��� 6� VH� FLWHDVF� �� FDUDFWHUH� FDUH� UHSUH]LQW� �� OLWHUH� PDUL�� 6� VH� DILúH]H� FDUDFWHUHOH� FLWLWH� vQ�RUGLQH�DOIDEHWLF��

��� 6� VH�FLWHDVF� ��FDUDFWHUH�FDUH�UHSUH]LQW� ��OLWHUH�PLFL��6� VH�DILúH]H�FDUDFWHUHOH�FLWLWH�vQ�RUGLQH�DOIDEHWLF��

��� 6� VH� VFULH� XQ� SURJUDP�FDUH� FLWHúWH� R� FLIU��� ÌQ� IXQF LH� GH� YDORDUHD� HL�� V� VH� IDF� XUP�WRUXO�FDOFXO��GDF� FLIUD�HVWH������VDX���V� VH�DILúH]H�S�WUDWXO�YDORULL�QXPHULFH�D�FLIUHL��GDF� FLIUD�HVWH������VDX���V� VH�DILúH]H�FXEXO�YDORULL�QXPHULFH�D�FLIUHL��GDF� FLIUD�HVWH���VDX���V� VH�DILúH]H�PHVDMXO��9DORUL�PLFL���DOWIHO���V� VH�DILúH]H�PHVDMXO��&D]�LJQRUDW���

��� )LH�úLUXO�OXL�)LERQDFFL��GHILQLW�DVWIHO�

��� \[[\ �

6� VH�FDOFXOH]H�I�[���[�FLWLW�GH�OD�WDVWDWXU��

Page 57: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

I��� ���I��� ���I�Q� I�Q����I�Q����vQ�FD]XO�vQ�FDUH�Q!��6� VH�VFULH�XQ�SURJUDP�FDUH�LPSOHPHQWHD]� DOJRULWPXO�GH�FDOFXO�DO�úLUXOXL�)LERQDFFL�

��� 6� VH� FDOFXOH]H� YDORDUHD� SROLQRPXOXL� &HEvúHY� GH� RUGLQ� Q� vQWU �XQ� SXQFW� [� GDW�� FXQRVFkQG�UHOD LD�

7 � �[� ���7� �[� [��úL��7 ��N �[��� �[7 N �[����7 ��N �[�� ����� 6� VH�FLWHDVF� FkWH���QXPHUH�vQWUHJL��SkQ� OD�vQWkOQLUHD�SHUHFKLL���������3HQWUX�ILHFDUH�SHUHFKH�

GH�QXPHUH��V� VH�FDOFXOH]H�úL�V� VH�DILúH]H�FHO�PDL�PDUH�GLYL]RU�FRPXQ���� 6H�FLWHVF�FkWH���QXPHUH�UHDOH��SkQ� OD� vQWkOQLUHD�QXPHUHORU����������3HQWUX�ILHFDUH� WULSOHW�GH�

QXPHUH�FLWLW��V� VH�DILúH]H�PD[LPXO���� 6H�FLWHúWH�FkWH�XQ�FDUDFWHU�SkQ� OD� vQWkOQLUHD�FDUDFWHUXOXL�#��6� VH�DILúH]H�QXP�UXO� OLWHUHORU�

PDUL��QXPDUXO� OLWHUHORU�PLFL�úL�QXP�UXO�FLIUHORU�FLWLWH��FDUH�HVWH�FHD�PDL�PDUH��OH[LFRJUDILF��OLWHU� PDUH��OLWHU� PLF� úL�FLIU� LQWURGXV��

��� 6H� FLWHVF� FkWH� �� QXPHUH� vQWUHJL�� SkQ� OD� vQWkOQLUHD� SHUHFKLL� GH� QXPHUH� ��� ��� 3HQWUX� ILHFDUH�SHUHFKH�GH�QXPHUH�FLWLWH� V� VH�DILúH]H�FHO�PDL�PDUH�GLYL]RU�FRPXQ�DO�DFHVWRUD�

��� 6� VH�FDOFXOH]H�VXPD�VHULHL�����[ � ���� [ � �����[ � ���� «

FX�R�HURDUH�PDL�PLF� GHFkW�HSVLORQ��HSVLORQ�FLWLW�GH�OD�WDVWDWXU����6� VH�DILúH]H�úL�QXP�UXO�GH�WHUPHQL�DL�VXPHL�

��� 6� VH� FLWHDVF� XQ� QXP�U� vQWUHJ� IRUPDW� GLQ� �� FLIUH� �DEFG��� 6� VH� FDOFXOH]H� úL� V� VH� DILúH]H�YDORDUHD�H[SUHVLHL�UHDOH� � D���E�����F�����G�

��� 6� VH� VFULH� XQ� SURJUDP� FDUH� DILúHD]� OLWHUHOH�PDUL� DOH� DOIDEHWXOXL� vQ� RUGLQH� FUHVF�WRDUH�� LDU�OLWHUHOH�PLFL�� vQ�RUGLQH�GHVFUHVF�WRDUH�

��� 6� VH�VFULH�XQ�SURJUDP�FDUH�JHQHUHD]� WRDWH�QXPHUHOH�SHUIHFWH�SkQ� OD�R�OLPLW� GDW���/,0��8Q�QXP�U�SHUIHFW�HVWH�HJDO�FX�VXPD�GLYL]RULORU�OXL��LQFOXVLY����H[HPSOX��� �������

��� 6� VH�FDOFXOH]H�YDORDUHD�VXPHL�XUPDWRDUH��FX�R�HURDUH�(36�PDL�PLF� GH���������6 ���[�����������[�����������[������������� ��XQGH��� [� ���[�FLWLW�GH�OD�WDVWDWXU��

��� 6� VH�JHQHUH]H�WRDWH�QXPHUHOH�QDWXUDOH�GH���FLIUH�SHQWUX�FDUH�FLIUD�VXWHORU�HVWH�HJDO � FX�VXPD�FLIUHORU�]HFLORU�úL�XQLW� LORU�

��� 6� VH�FLWHDVF� FkWH�XQ�QXP�U�vQWUHJ��SkQ� OD�vQWkOQLUHD�QXP�UXOXL�����3HQWUX�ILHFDUH�QXPDU�V�VH�DILúH]H�XQ�PHVDM�FDUH�LQGLF� GDF� QXP�UXO�HVWH�SR]LWLY�VDX�QHJDWLY��6� VH�DILúH]H�FHO�PDL�PLF�QXP�U�GLQ�úLU�

��� 6� VH� JHQHUH]H� WRDWH� QXPHUHOH� QDWXUDOH� GH� �� FLIUH� SHQW UX� FDUH� FLIUD� ]HFLORU� HVWH� HJDO� FX�GLIHUHQ D�FLIUHORU�VXWHORU�úL�XQLW� LORU�

��� 6� VH�FDOFXOH]H�VXPD����������������������� ����������������������������������� �����

7$%/285,�����'HFODUDUHD�WDEORXULORU �����7DEORXUL�ELGLPHQVLRQDOH�����7DEORXUL�XQLGLPHQVLRQDOH �����ùLUXUL�GH�FDUDFWHUH

������'(&/$5$5($�7$%285,/25

Page 58: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

1XPLP�WDEORX�R�FROHF LH��JUXS��PXO LPH�RUGRQDW���GH�GDWH��GH�DFHODúL� WLS��VLWXDWH�vQWU�R�]RQ� GH�PHPRULH� FRQWLQX� �HOHPHQWHOH� WDEORXOXL� VH� DIO� OD� DGUHVH� VXFFHVLYH��� 7DEORXULOH� VXQW� YDULDELOH�FRPSXVH� �VWUXFWXUDWH��� �GHRDUHFH�JUXSHD]� PDL�PXOWH�HOHPHQWH��9DULDELOHOH� WDEORX�DX�QXPH�� LDU�WLSXO�WDEORXOXL�HVWH�GDW�GH�WLSXO�HOHPHQWHORU�VDOH��(OHPHQWHOH�WDEORXOXL�SRW�IL�UHIHULWH�SULQ�QXPHOH�WDEORXOXL�úL�LQGLFLL��QXPHUH�vQWUHJL��FDUH�UHSUH]LQW� SR]L LD�HOHPHQWXOXL�vQ�FDGUXO�WDEORXOXL�ÌQ�IXQF LH�GH�QXP�UXO�LQGLFLORU�XWLOL]D L�SHQWUX�D�UHIHUL�HOHPHQWHOH�WDEORXOXL��SXWHP�vQWkOQL�WDEORXUL�XQLGLPHQVLRQDOH��YHFWRULL��VDX�PXOWLGLPHQVLRQDOH �PDWULFLOH�VXQW�WDEORXUL�ELGLPHQVLRQDOH��&D�úL�YDULDELOHOH�VLPSOH��YDULDELOHOH�WDEORX�WUHEXLH�GHFODUDWH�vQDLQWH�GH�XWLOL]DUH�0RGXO�GH�GHFODUDUH�

WLS���QXPHBWDEORX>GLPB�@>GLPB�@«>GLPBQ@�XQGH�WLS UHSUH]LQW� WLSXO�HOHPHQWHORU�WDEORXOXL��GLPB��GLPB������GLPBQ VXQW�QXPHUH�vQWUHJL�VDX�H[SUHVLL�FRQVWDQWH�vQWUHJL��D�F�URU�YDORDUH�HVWH�HYDOXDW� OD�FRPSLODUH��FDUH�UHSUH]LQW� OLPLWHOH�VXSHULRDUH�DOH�LQGLFLORU�WDEORXOXL�([HPSOH�

���LQW�YHFW>��@� ��� GHFODUDUHD� WDEORXOXL� YHFW�� GH� PD[LPXP� ��� GH� HOHPHQWH�� GH�WLSXO�LQW�

���6H�UH]HUY� �� VL]HRI�LQW� ��� ��� ����RFWH L���GRXEOH�S�T�WDE>��@�

��� GHFODUDUHD� YDULDELOHORU� VLPSOH� S�� T� úL� D� YHFWRUXOXL� WDE�� GH� PD[LPXP� ���HOHPHQWH��WLS�GRXEOH����GHILQH�0$; ��FKDU�WDEF>0$;@� � GHFODUDUHD� WDEORXOXL� WDEF�� GH�PD[LPXP�0$;� ����� HOHPHQWH�GH�WLS�FKDU ����GRXEOH�PDWULFH>�@>�@� ���GHFODUDUHD�WDEORXOXL�PDWULFH �ELGLPHQVLRQDO���

���PD[LPXP���OLQLL�úL�PD[LPXP���FRORDQH��WLS�GRXEOH

������7$%/285,�81,',0(16,21$/(7DEORXULOH� XQLGLPHQVLRQDOH� VXQW� WDEORXUL� FX� XQ� VLQJXU� LQGLFH� �YHFWRUL��� 'DF� WDEORXO� FRQ LQH�GLPB� HOHPHQWH��LQGLFLL�HOHPHQWHORU�DX�YDORUL�vQWUHJL�GLQ�LQWHUYDOXO�>���GLPB���@�/D� vQWkOQLUHD� GHFODUD LHL� XQHL� YDULDELOH� WDEORX�� FRPSLODWRUXO� DORF� R� ]RQ� GH�PHPRULH� FRQWLQX��GDW� GH� SURGXVXO� GLQWUH� GLPHQVLXQHD� PD[LP� úL� QXP�UXO� GH� RFWH L� FRUHVSXQ]�WRU� WLSXOXL�WDEORXOXL��SHQWUX�S�VWUDUHD�YDORULORU�HOHPHQWHORU�VDOH��1XPHOH�WDEORXOXL�SRDWH�IL�XWLOL]DW�vQ�GLIHULWH�H[SUHVLL�úL�YDORDUHD�OXL�HVWH�FKLDU�DGUHVD�GH�vQFHSXW�D�]RQHL�GH�PHPRULH�FDUH�L �D�IRVW�DORFDW���8Q�HOHPHQW�DO�XQXL�WDEORX�SRDWH�IL�XWLOL]DW�FD�RULFH�DOW� YDULDELO� �vQ�H[HPSOXO�XUP�WRU��DWULEXLUHD�GH�YDORUL�HOHPHQWHORU�WDEORXOXL�YHFWRU���6H�SRW�HIHFWXD�RSHUD LL�DVXSUD�ILHF�UXL�HOHPHQW�DO�WDEORXOXL��QX�DVXSUD�vQWUHJXOXL�WDEORX�

Page 59: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

([HPSOX����'HFODUDUHD�WDEORXOXL�YHFWRULQW�YHFWRU>�@�

���,QL LDOL]DUHD�HOHPHQWHORU�WDEORXOXLYHFWRU>�@ ����YHFWRU>�@ ����YHFWRU>�@ ����YHFWRU>�@ ����YHFWRU>�@ ����YHFWRU>�@ ����

([HPSOX�GRXEOH�DOSKD>�@��EHWD>�@��JDPD>�@�LQW�L ��DOSKD>� L��@� ������DOSKD>�@ � EHWD>L@�����JDPD>L@ DSOKD>L@�EHWD>L@� ��SHUPLVJDPD DOSKD�EHWD� ��QHSHUPLV

9DULDELOHOH�WDEORX�SRW�IL�LQL LDOL]DWH�vQ�PRPHQWXO�GHFODU�ULL�GHFODUD LHBWDEORX OLVW�BYDORUL�

9DORULOH�GLQ�OLVWD�GH�YDORUL�VXQW�VHSDUDWH�SULQ�YLUJXO���LDU�vQWUHDJD�OLVW� HVWH�LQFOXV� vQWUH�DFRODGH�([HPSOH����

LQW�YHFWRU>�@ ^�����������������������`�

>�@ >�@���

GRXEOH�[ ����GRXEOH�D>�@ ^����������[��[�������`�

/D� GHFODUDUHD� XQXL� YHFWRU� FX� LQL LDOL]DUHD� HOHPHQWHORU� VDOH�� QXP�UXO� PD[LP� GH� HOHPHQWH� DOH�WDEORXOXL�SRDWH�IL�RPLV��FD]�vQ�FDUH�FRPSLODWRUXO�GHWHUPLQ� DXWRPDW�P�ULPHD�WDEORXOXL��vQ�IXQF LH�GH�QXP�UXO�HOHPHQWHORU�LQL LDOL]DWH�([HPSOX�

FKDU�WDE>@ ^�¶$¶��¶&¶��¶'¶��¶&¶`�

>�@ >�@IORDW�GDWD>�@ ^���������������`�

>�@ >�@$GUHVD�HOHPHQWXOXL�GH�LQGLFH�L GLQWU�XQ�WDEORX�XQLGLPHQVLRQDO�SRDWH�IL�FDOFXODW� DVWIHO�

DGUHVDBHOHPHQWXOXLBL� �DGUHVDBGHBED]� ��L OXQJLPHBHOHPHQW

([HUFL LL�

YHFWRU

YHFWRU ��� ��� ��� ��� ��� ���

WDE ¶$¶ ¶%¶ ¶&¶ ¶'¶

GDWD ��� ��� ��� " "

������������������

YHFWRU>�@YHFWRU>�@YHFWRU>�@YHFWRU>�@YHFWRU>�@YHFWRU>�@

)LJXUD�������

Page 60: C++ Tutorial(Romaneste)

� �� �

����&LWLUHD�HOHPHQWHORU�XQXL�YHFWRU�GRXEOH�D>�@�LQW�L�IRU��L ���L����L���^ FRXW��´D>���L��´@ ´� ��DILúDUHD� XQXL� PHVDM� SUHDODELO� FLWLULL� ILHF�UXL�

HOHPHQWFLQ!!D>L@� ��FLWLUHD�YDORULL�HOHPHQWXOXL�GH�LQGLFH�L

`��6DX�

GRXEOH�D>��@� LQW�L��Q�FRXW��´'LP��0D[�� ´��FLQ!!Q�IRU��L ���L�Q��L���^ FRXW��´D>³��L��´@ ´�

FLQ!!D>L@�`

����$ILúDUHD�HOHPHQWHORU�XQXL�YHFWRU�FRXW��´9HFWRUXO�LQWURGXV�HVWH�?Q´�IRU��L ���L�Q�L���

FRXW��D>L@��¶�¶�����$ILúDUHD�HOHPHQWHORU�XQXL�YHFWRU�vQ�RUGLQH�LQYHUV��

FRXW��´(OHPHQWHOH�YHFWRUXOXL�vQ�RUGLQH�LQYHUV ��?Q´�IRU��L Q����L! ��L���

FRXW��D>L@��¶�¶�����9HFWRUXO�VXP� �F��D�YHFWRULORU�D úL�E��FX�DFHODúL�QXP�U�GH�HOHPHQWH�

IRU��L ���L�Q�L���F>L@ D>L@�E>L@�

����9HFWRUXO�GLIHUHQ ���F��D�YHFWRULORU�D úL�E��FX�DFHODúL�QXP�U�GH�HOHPHQWH�IRU��L ���L�Q�L���

F>L@ D>L@�� E>L@�����3URGXVXO�VFDODU��S��D�YHFWRULORU D úL�E��FX�DFHODúL�QXP�U�GH�HOHPHQWH�

S D EL LL

Q

�¦�

�GRXEOH S ��IRU��L ���L�Q�L���

S�� �D>L@� E>L@�

������7$%/285,�%,',0(16,21$/('LQ�SXQFW�GH�YHGHUH�FRQFHSWXDO��HOHPHQWHOH�XQXL� WDEORX�ELGLPHQVLRQDO�VXQW�SOD VDWH�vQ�VSD LX�SH�GRX� GLUHF LL��0DWULFHD�UHSUH]LQW� R�DSOLFD LH�QDWXUDO� D�WDEORXULORU�ELGLPHQVLRQDOH�ÌQ�PDWHPDWLF��

q �� q �� q �� . . . q �Qq �� q �� q �� . . . q �Q4 . . . . . . . . . . . . . . . . . . . . . . . . . .

QP Quq P� q P� q P� . . . q PQ

ÌQ�OLPEDMHOH�&�&����LQGLFLL�GH�OLQLH�úL�GH�FRORDQ� SRUQHVF�GH�OD����q �� q �� q �� . . . q � ��Q�q �� q �� q �� . . . q � ��Q� QP Qu

4

3DJH��� RI����

Page 61: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

q P�� �� q P�� �� q P�� �� . . . q P Q� �� ��

([HPSOX��GRXEOH�T>�@>�@� ���GHFODUDUHD�PDWULFLL�T��FX�PD[LP��OLQLL�úL���FRORDQH��WLS�GRXEOHÌQ�PHPRULH��HOHPHQWHOH�XQHL�PDWULFL�VXQW�PHPRUDWH�SH�OLQLL�q �� q �� q �� q �� q �� q �� . . .

'DF� QRW�P�FX�N�SR]L LD� vQ�PHPRULH�D�XQXL�HOHPHQW��YDORDUHD� OXL�N� � L� P���M� � �XQGH�P�HVWH�QXP�UXO�PD[LP�GH�OLQLL��L�HVWH�LQGLFHOH�GH�OLQLH��M�HVWH�LQGLFHOH�GH�FRORDQ���

'DF� VH�GRUHúWH� LQL LDOL]DUHD�HOHPHQWHORU�XQHL�PDWULFL� vQ�PRPHQWXO�GHFODU�ULL�DFHVWHLD��VH�SRDWH�SURFHGD�DVWIHO�

LQW�PDW>�@>�@� �^^����������`�^���������`�^���������`�^���������`�`�

3ULQ�DFHDVW� FRQVWUXF LH��HOHPHQWHOH�PDWULFLL�PDW VH�LQL LDOL]HD]� vQ�PRGXO�XUP�WRU�PDW>�@>�@ ����PDW>�@>�@ �����PDW>�@>�@ �PDW>�@>�@ ����PDW>�@>�@ ����PDW>�@>�@ �PDW>�@>�@ ����PDW>�@>�@ ���PDW>�@>�@ ��PDW>�@>�@ ���PDW>�@>�@ ����PDW>�@>�@ ��/D� GHFODUDUHD� XQHL�PDWULFL� úL� LQL LDOL]DUHD� HOHPHQWHORU� VDOH�� VH� SRDWH� RPLWH� QXP�UXO� PD[LP� GH�OLQLL��vQ�VFKLPE��GDWRULW� PRGXOXL�GH�PHPRUDUH��WUHEXLH�VSHFLILFDW�QXP�UXO�PD[LP�GH�FRORDQH�

LQW�PDW>@>�@� �^^���������`�^���������`�^���������`�^��������`�`�

&RQVWUXF LD�DUH�DFHODúL�HIHFW�FD�SUHFHGHQWD�LQW�PDW>@>�@� �^

^����`��^���`��^�������``�

PDW�UHSUH]LQW� R�PDWULFH��� ���DOH�F�UHL�HOHPHQWH�VH�LQL LDOL]HD]� DVWIHO�PDW>�@>�@ ���PDW>�@>�@ ���PDW>�@>�@ ����PDW>�@>�@ ���PDW>�@>�@ ���PDW>�@>�@ �(OHPHQWHOH�PDW>�@>�@��PDW>�@>�@��PDW>�@>�@�QX�VXQW�LQLWDOL]DWH��(OH�DX�YDORDUHD�]HUR�GDF � WDEORXO�HVWH�JOREDO�úL�YDORUL�LQL LDOH�QHGHILQLWH�GDF� WDEORXO�HVWH�DXWRPDWLF�&RQVWUXF LLOH� XWLOL]DWH� OD� LQL LDOL]DUHD� WDEORXULORU� ELGLPHQVLRQDOH� VH� H[WLQG� SHQWUX� WDEORXUL�PXOWLGLPHQVLRQDOH��FX�PDL�PXOW�GH�GRL�LQGLFL�([HPSOX�

LQW�D>�@>�@>�@ ^^�^������`��^�����`��^����``�^��^������`��^�������`��^������```�

([HUFL LX��6� VH�FLWHDVF� GH�OD�WDVWDWXU� HOHPHQWHOH�XQHL�PDWULFL�GH�PD[LP����OLQLL�úL����FRORDQH��6� VH�DILúH]H�PDWULFHD�FLWLW��

T>�@>�@ T>�@>�@ T>�@>�@ ������������� T>�@>Q��@ T>�@>�@ �����������T>P��@>�@ ��������� T>P��@>Q��@

Page 62: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ�YRLG�^LQW� D>��@>��@� LQW� QUBOLQ�� QUBFRO�� FRXW���1U�� OLQLL����FLQ!!QUBOLQ�FRXW���1U��FRORDQH����FLQ!!QUBFRO�LQW�L��M���FLWLUHD�HOHPHQWHORU�XQHL�PDWULFLIRU��L ���L�QUBOLQ��L���

IRU��M ���M�QUBFRO��M����^FRXW���$>���L�������M���@ �� ��DILúDUHD� XQXL� PHVDM� SUHDODELO�

FLWLULLFLQ!!$>L@>M@�

`��DILúDUHD�HOHPHQWHORU�PDWULFLL�IRU��L ���L�QUBOLQ��L����^

IRU��M ���M�QUBFRO��M����FRXW��$>L@>M@��?W�

FRXW��?Q� ���GXS� DILúDUHD�HOHPHQWHORU�XQHL�OLQLL��VH�WUHFH�SH�OLQLD�XUP�WRDUH`

`

������ù,585,�'(�&$5$&7(5(ùLUXULOH� GH� FDUDFWHUH� VXQW� WDEORXUL�GH� FDUDFWHUH�� FDUH� DX� FD� XOWLP� HOHPHQW� XQ WHUPLQDWRU� GH� úLU��FDUDFWHUXO�QXOO��]HUR�$6&,,���¶?�¶�([HPSOX�

FKDU�WF>�@� �^¶D¶��¶E¶��¶F¶��¶G¶��¶H¶`� ���WDEORX�GH�FDUDFWHUHFKDU�VF>�@� �^¶D¶��¶E¶��¶F¶��¶G¶��¶?�¶`� ��� úLUXO� GH� FDUDFWHUH� FX�HOHPHQWHOH�DEFG

/LPEDMXO� &�&��� SHUPLWH� LQL LDOL]DUHD� XQXL� WDEORX� GH� FDUDFWHUH� SULQWU�R� FRQVWDQW� úLU� �úLU� vQWUH�JKLOLPHOH���FDUH�LQFOXGH�DXWRPDW�FDUDFWHUXO�QXOO��'HFL�XOWLPD�LQL LDOL]DUH�HVWH�HFKLYDOHQW� FX�

FKDU�VF>�@� �´DEFG´� ��VDX�FXFKDU�VF>@� �´DEFG´�

([HPSOX�FKDU�WF>�@� �^¶D¶��¶E¶��¶F¶��¶G¶��¶H¶`�FKDU�VF>�@� �^¶D¶��¶E¶��¶F¶��¶G¶��¶?�¶`�FKDU�VF�>�@� �´DEFG´�FKDU�V>��@�FRXW��VF��¶?Q¶� ��DILúHD]� DEFGFRXW��WF��¶?Q¶���HURDUH��WDEORXO�GH�FDUDFWHUH�QX�FRQ LQH�WHUPLQDWRUXO�GH�úLU��GHFL�QX�SRDWH�IL�DILúDW�FD�úLUFRXW��V��¶?Q¶� ���HURDUH��WDEORX�QHLQL LDOL]DWFRXW��VF�>�@� ���DILúHD]� DO�WUHLOHD�HOHPHQW�GLQ�úLUXO�VF�VF�>�@ ¶.¶� ���HOHPHQWXOXL�GLQ�úLU�GH�LQGLFH���L�VH�DWULEXLH�YDORDUHD�µ.¶�

��������)81&�,,�3(1758�23(5$�,,�&8�ù,585,�'(�&$5$&7(5()XQF LLOH�SHQWUX�RSHUD LL�FX�úLUXUL�VH�J�VHVF�vQ�KHDGHU�XO��VWULQJ�K!�

Page 63: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

VWUOHQ �QXPHBúLU�5HWXUQHD]� XQ� QXP�U� vQWUHJ� FH� UHSUH]LQW� OXQJLPHD� XQXL� úLU� GH� FDUDFWHUH�� I�U� D� QXP�UD�WHUPLQDWRUXO�GH�úLU�

VWUFPS��úLUB���úLUB��)XQF LD�FRPSDU� FHOH�GRX� úLUXUL�GDWH�FD�DUJXPHQW�úL�UHWXUQHD]� R�YDORDUH�vQWUHDJ� HJDO� GLIHUHQ D�GLQWUH�FRGXULOH�$6&,,�DOH�SULPHORU�FDUDFWHUH�FDUH�QX�FRLQFLG�

VWUFS\��úLUBGHVWLQD LH��úLUBVXUV��)XQF LD� FRSLH� úLUXO� VXUV� vQ� úLUXO� GHVWLQD LH�� 3HQWUX� D� IL� SRVLELO� FRSLHUHD�� OXQJLPHD� úLUXOXL�GHVWLQD LH�WUHEXLH�V� ILH�PDL�PDUH�VDX�HJDO� FX�FHD�D�úLUXOXL�VXUV���DOWIHO�SRW�DSDUH�HURUL�JUDYH�

VWUFDW��úLUBGHVWLQD LH��úLUBVXUV��)XQF LD� FRQFDWHQHD]� FHOH� GRX� úLUXUL�� úLUXO� VXUV� HVWH� DG�XJDW� OD� VIkUúLWXO� úLUXOXL� GHVWLQD LH��7DEORXO�FDUH�FRQ LQH�úLUXO�GHVWLQD LH�WUHEXLH�V� DLE� VXILFLHQWH�HOHPHQWH.([HPSOX�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��VWULQJ�K!YRLG�PDLQ��^FKDU�VLU�>@� �´DEFG´��VLU�>@� �´DEFGH´��VLU�� ��DEFGHI´��VLU�� ��GH´�FRXW��VWUFPS�VLU���VLU����¶?Q¶� ���DILúDUH� �������¶H¶� ������¶D¶� �����¶G¶� ������¶�¶�� ¶H¶� ������FRXW��VWUFPS�VLU���VLU����¶?Q¶� ��DILúDUH�����FRXW��VWUFPS�VLU��������¶�� ��FRPSDUDUHD�YDULDELOHL�VLU��FX�FRQVWDQWD�úLU�YLGFKDU�VWU�>��@ ´KHOOR´�FKDU�VWU�>��@ ´JRRGE\H´�FKDU�VWU�>��@�LQW�GLIHU��OXQJLPH�FRXW��´VWU� ´��VWU���´�VWU� ´��VWU���¶?Q¶�GLIHU VWUFPS�VWU���VWU���LI��GLIHU� ���

FRXW��´6LUXUL�HFKLYDOHQWH�?Q´�HOVH�LI��GLIHU!��

FRXW��VWU���´�PDL�PDUH��OH[LFRJUDILF��GHFkW�³��VWU���¶ ?Q¶�HOVH

FRXW��VWU���´�PDL�PLF��OH[LFRJUDILF��GHFkW�³��VWU���¶ ?Q¶�FRXW��´VWU� ´��VWU���¶?Q¶��FRXW��´VWU� ´��VWU���¶?Q¶�VWUFS\��VWU�� VWU����FRXW��´VWU� ´��VWU���¶?Q¶�FRXW��´VWU� ´��VWU���¶?Q¶�VWUFDW��VWU���VWU���FRXW��´VWU� ´��VWU���¶?Q¶�FRXW��´VWU� ´��VWU���¶?Q¶�`

([HPSOX� 6� VH�FLWHDVF� HOHPHQWHOH�XQXL�YHFWRU�FX�PD[LP�����GH�HOHPHQWH�UHDOH��D�� 6� VH� LQWHUVFKLPEH� HOHPHQWHOH� YHFWRUXOXL� vQ�PRGXO� XUP�WRU�� SULPXO� FX� XOWLPXO�� DO� GRLOHD� FX�SHQXOWLPXO��HWF�

Page 64: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

E��6� VH�RUGRQH]H�FUHVF�WRU�HOHPHQWHOH�YHFWRUXOXL�����D�

�GHILQH�)$/6(� ��GHILQH�758( ��LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^�GRXEOH�YHFW>���@�LQW�Q���Q�QXPDUXO�GH�HOHPHQWH�DOH�YHFWRUXOXLFRXW���1U��HOHPHQWH���FLQ!!Q��GRXEOH�DX[����GH�FRPSOHWDW H[HPSOXO�FX�VHFYHQWD�GH�FLWLUH�D�HOHPHQWHORU�YHFWRUXOXL�IRU��LQW�L ���L�Q����L���^

DX[ YHFW>L@�YHFW>L@ YHFW>Q���L@�YHFW>Q���L@ DX[�

`���GH�FRPSOHWDW H[HPSOXO�FX�VHFYHQWD�GH�DILVDUH�D�YHFWRUXOXL�`

3HQWUX� VFKLPEDUHD� HOHPHQWHORU� YHFWRUXOXL� V�D� IRORVLW� YDULDELOD� DX[LOLDU� DX[� �ILJXUD� ������� )�U�DFHDVW� YDULDELO��� OD� DWULEXLUHD�YHFW>L@ YHFW>Q���L@�� YDORDUHD� HOHPHQWXOXL� YHFW>L@ V�DU� IL�SLHUGXW��7UHEXLH�REVHUYDW��GHDVHPHQHD��F� YDULDELOD�FRQWRU�L LD�YDORUL�vQWUH���úL�Q�� �GH�H[HPSOX��GDF� YHFWRUXO�DUH���VDX���HOHPHQWH�VXQW�QHFHVDUH���LQWHUVFKLPE�UL��E�� 3HQWUX� RUGRQDUHD� HOHPHQWHORU� YHFWRUXOXL�� HVWH� SUH]HQWDW� XQ� DOJRULWPL� GH� VRUWDUH�� 0HWRGD�%XEEOH�6RUW FRPSDU� ILHFDUH�HOHPHQW�DO�YHFWRUXOXL�FX�FHO�YHFLQ��LDU�GDF� HVWH�FD]XO��OH�VFKLPE�vQWUH�HOH�$/*25,70�%XEEOHB6RUW,1&(387

JDWD�m IDOVH&,7�7,03�QRW�JDWD�5(3(7$,1&(387

JDWD� �WUXH3(1758�L ��/$��Q���5(3(7$

,1&(387'$&$�YHFW>L@�!�YHFW>L��@�$781&,

C ,1&(387DX[ YHFW>L@YHFW>L@ YHFW>L��@YHFW>L��@ DX[JDWD IDOV

6)$56,76)$56,7

6)$56,76)$56,7

���LPSOHPHQWDUHD�PHWRGHL�%XEEOH6RUWLQW�JDWD� )$/6(�LQW�L�ZKLOH���JDWD�^

JDWD 758(�IRU��L ���L� Q����L���

LI��YHFW>L@!YHFW>L��@�^DX[ YHFW>L@�YHFW>L@ YHFW>L��@�YHFW>L��@ DX[�JDWD )$/6(�`

`

��

� YHFW>L@

YHFW>Q�L��@DX[

)LJXUD������,QWHUVFKLPEDUHD�D�GRX� YDULDELOH

Page 65: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

([HPSOX� 6� VH� FLWHDVF� HOHPHQWHOH� PDWULFLORU� $�0;1��� %�1;3�� úL� &�0;1��� XQGH� 0� ����1� ���úL�3� ����6� VH�LQWHUVFKLPEH�OLQLLOH�PDWULFLL�$�vQ�PRGXO�XUP�WRU��SULPD�FX�XOWLPD��D�GRXD�FX�SHQXOWLPD��HWF��6� VH�FDOFXOH]H�úL�V� VH�DILúH]H�PDWULFLOH��$7 $ 7 ��680 $�&��352' $;%��,PSOHPHQWDUHD�FLWLULORU�úL�DILú�ULORU�VH�YD�FRPSOHWD�FRQIRUP�H[HPSOXOXL�GDW�vQ�FDSLWROXO�����

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^GRXEOH�D>��@>��@��E>��@>��@��F>��@>��@�LQW�P�Q�S�M�FRXW���P ���FLQ!!P��FRXW���Q ���FLQ!!Q��FRXW���S ���FLQ!!S����GH�FRPSOHWDW VHFYHQ D�GH�FLWLUH�D�HOHPHQWHORU�PDWULFLL�D��FX�P OLQLL�úL�Q FRORDQH���GH�FRPSOHWDW VHFYHQ D�GH�FLWLUH�D�HOHPHQWHORU�PDWULFLL�E��FX�Q OLQLL�úL�S FRORDQH���GH�FRPSOHWDW VHFYHQ D�GH�DILúDUH�D�PDWULFLL�D��LQWHUVFKLPEDUHD�OLQLLORU PDWULFLL�$�IRU��L ���L�P����L���

IRU��M ���M�Q��M���^GRXEOH� DX[ D>L@>M@�D>L@>M@ D>P���L@>M@�D>P���

L@>M@ DX[�`

FRXW���0DWULFHD�$�FX�OLQLLOH�LQWHUVFKLPEDWH�?Q�����GH�FRPSOHWDW VHFYHQ D�GH�DILúDUH�D�PDWULFLL�D���FDOFXOXO�PDWULFLL�$7 $ 7

GRXEOH�DW>��@>��@� ���DW�HVWH�PDWULFHD�WUDQVSXVDIRU��L ���L�Q��L���

IRU��M ���M�P��M���DW>L@>M@ D>M@>L@�

FRXW���$�WUDQVSXV ?Q�����GH�FRPSOHWDW VHFYHQ D�GH�DILúDUH�D�PDWULFLL�DW��FX�Q OLQLL�VL�P FRORDQH���GH�FRPSOHWDW VHFYHQ D�GH�FLWLUH�D�HOHPHQWHORU�PDWULFLL�F��FX�P OLQLL�úL�Q FRORDQH���FDOFXOXO�PDWULFLL�680 $�&��680�0[1��GRXEOH�VXP>��@>��@� ���VXP HVWH�PDWULFHD�VXPD�GLQWUH�D VL�FIRU��L ���L�P��L���

IRU��M ���M�Q��M���VXP>L@>M@ D>L@>M@��F>L@>M@�

FRXW���0DWULFHD�680 $�&�HVWH�?Q�����GH�FRPSOHWDW VHFYHQ D�GH�DILúDUH�D�PDWULFLL�VXPGRXEOH�SURG>��@>��@� ���SURG HVWH�PDWULFHD�SURGXV�GLQWUH�D VL�EIRU��L ���L�P��L���

IRU��M ���M�S��M���^SURG>L@>M@ ��IRU��N ���N�Q��N���

SURG>L@>M@� D>L@>N@ E>N@>M@�`

FRXW���0DWULFHD�SURGXV�GLQWUH�$�VL�%�HVWH�?Q�����GH�FRPSOHWDW VHFYHQ D�GH�DILúDUH�D�PDWULFLL�SURG��FX�P OLQLL�VL�S FRORDQH`

6H� REVHUY� F� ILHFDUH� HOHPHQW� GLQ� PDWULFHD� SURGXV� 352' $;%� �� $�0;1��� %�1;3�� ���352'�0;3��HVWH�GH��IRUPD� SURG ML � � MN

Q

NNL ED �

�� ¦�

��XQGH�L ��� �P úL�M ��� �Q �

Ì175(%�5,�ù,�(;(5&,�,,

Page 66: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

&KHVWLXQL�WHRUHWLFH

Page 67: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

�� &DUH�HVWH�GLIHUHQ D�GLQWUH�úLUXULOH�GH�FDUDFWHUH�úL�YHFWRULL�GH�FDUDFWHUH"�� &H�VXQW�WDEORXULOH"�� 'H�FH�WDEORXULOH�UHSUH]LQW� GDWH�VWUXFWXUDWH"�� 3ULQ�FH�VH�UHIHU� HOHPHQWHOH�XQXL�WDEORX"�� &LQH�LPSXQH�WLSXO�XQXL�WDEORX"

&KHVWLXQL�DSOLFDWLYH��� 6� VH�LPSOHPHQWH]H�SURJUDPHOH�FX�H[HPSOHOH�SUH]HQWDWH���� 6� VH�VFULH�SURJUDPHOH�SHQWUX�H[HUFL LLOH�UH]ROYDWH�FDUH�DX�IRVW�SUH]HQWDWH��� 6H�FLWHVF�GH�OD�WDVWDWXUD�HOHPHQWHOH�XQHL�PDWULFL GH�FDUDFWHUH��QU��OLQLL QU��FRORDQH���$�1;1���

1� ���D� 6� VH�DILúH]H�PDWULFHD�$�E� 6� VH� IRUPH]H� úL� V� VH� DILúH]H� FXYkQWXO� IRUPDW�GLQ� FDUDFWHUHOH�SH�SH�GLDJRQDOD�SULQFLSDO � D�

PDWULFLL�$�F� 6� VH�FDOFXOH]H�úL�V� VH�DILúH]H�QXP�UXO�GH�OLWHUH�PDUL��OLWHUH�PLFL�úL�FLIUH�GLQ�PDWULFH�G� 6� VH�DILúH]H�FXYkQWXO�IRUPDW�GLQ�FDUDFWHUHOH�GH�SH�GLDJRQDOD�VHFXQGDU ��H� 6� VH�DILúH]H�SURFHQWXO�OLWHUHORU�PDUL��DO�OLWHUHORU�PLFL�úL�DO�FLIUHORU�GH�SH�FHOH���GLDJRQDOH�I� 6� VH�DILúH]H�FDUDFWHUHOH�FRPXQH�DIODWH�SH�OLQLLOH�S�úL�T��S��T���1 ��S�úL�T�FLWLWH�GH�OD�WDVWDWXU���J� 6� VH�DILúH]H�vQ�RUGLQH�DOIDEHWLF���FUHVF�WRDUH��OLWHUHOH�PDUL�DIODWH�SH�FRORDQHOH�LPSDUH��� 6H�FLWHVF�GH�OD�WDVWDWXU� HOHPHQWHOH�XQHL�PDWULFL�FX�HOHPHQWH�UHDOH��%��1�;�1���1� ��D� 6� VH�DILúH]H�PDWULFHD�%�E� 6� VH�FDOFXOH]H�úL V� VH�DILúH]H�SURGXVXO�HOHPHQWHORU�GH�SH�FRORDQHOH�LPSDUH�F� 6� VH�FDOFXOH]H�úL�V� VH�DILúH]H�PDWULFHD�$��XQGH� $� ���%��� 7% � � �G� 6� VH� IRUPH]H� úL� V� VH� DILúH]H� YHFWRUXO�9�� DOH� F�UXL� HOHPHQWH� VXQW� HOHPHQWHOH� SR]LWLYH� GLQ�

PDWULFHD�$�H� 6� VH� FDOFXOH]H� úL� V� VH� DILúH]H� VXPHOH� úL� SURGXVHOH� HOHPHQWHORU� PDWULFLL� $�� DIODWH� vQ�

WULXQJKLXULOH�KDúXUDWH�I� 6� VH�FDOFXOH]H�SURFHQWXO�HOHPHQWHORU�SR]LWLYH�DIODWH�SH�GLDJRQDOD�VHFXQGDU ��J� 6� VH�FDOFXOH]H�úL�V� VH�DILúH]H�PDWULFHD�&��XQGH� &� �� �% 7 ���% � �K� 6� VH�FDOFXOH]H�úL�V� VH�DILúH]H�PDWULFHD�'��XQGH� '� �%���% � ��% � ��% � �L� 6� VH�LQWHUVFKLPEH�FRORDQHOH�PDWULFLL�$�DVWIHO��SULPD�FX�XOWLPD��D�GRXD�FX�DQWLSHQXOWLPD��HWF���� 6H�FLWHVF�GH�OD�WDVWDWXU� HOHPHQWHOH�XQHL�PDWULFL�GH�QXPHUH�vQWUHJL�&��1�;�1���1� ����D� 6� VH�DILúH]H�PDWULFHD�&��E� 6� VH�FDOFXOH]H�úL�V� VH�DILúH]H�SURFHQWXO�HOHPHQWHORU�LPSDUH�GH�SH�OLQLLOH�SDUH��F� 6� VH�FDOFXOH]H�úL�V� VH�DILúH]H�PDWULFHD�%��XQGH� % & � �G� 6� VH�FDOFXOH]H�úL�V� VH�DILúH]H�PDWULFHD�(��XQGH� (� ��&���& 7 � � ��,��XQGH�,�HVWH�PDWULFHD�

XQLWDWH�H� 6� VH�DIOH�HOHPHQWXO�PLQLP�GLQ�PDWULFHD�&�I� 6� VH�vQORFXLDVF� HOHPHQWXO�PD[LP�GLQ�PDWULFHD�&�FX�YDORDUHD�YDO��LQWURGXV� GH�OD�WDVWDWXU��J� 6� VH�DILúH]H�HOHPHQWHOH�PDWULFLL�&�FDUH�VXQW�QXPHUH�SULPH�K� 6� VH� FDOFXOH]H� úL� V� VH� DILúH]H� VXPHOH� úL� SURGXVHOH� HOHPHQWHORU� PDWULFLL� $�� DIODWH� vQ�

WULXQJKLXULOH�KDúXUDWH�

Page 68: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

32,17(5,����9DULDELOH�SRLQWHU �������3RLQWHUL�úL�úLUXUL�GH�FDUDFWHUH

�������'HFODUDUHD�YDULDELOHORU�SRLQWHU �������3RLQWHUL�úL�WDEORXUL�ELGLPHQVLR��������,QL LDOL]DUHD�YDULDELOHORU�SRLQWHU �����7DEORXUL�GH�SRLQWHUL��������3RLQWHUL�JHQHULFL �����3RLQWHUL�OD SRLQWHUL

�����2SHUD LL�FX�SRLQWHUL �����0RGLILFDWRUXO�FRQVW�vQ�GHFODUDUHD�����3RLQWHUL�úL�WDEORXUL SRLQWHULORU

�����9$5,$%,/(�32,17(53RLQWHULL�VXQW�YDULDELOH�FDUH�DX�FD�YDORUL�DGUHVHOH�DOWRU�YDULDELOH��RELHFWH���9DULDELOD�HVWH�XQ�QXPH�VLPEROLF�XWLOL]DW�SHQWUX�XQ�JUXS�GH�ORFD LL�GH�PHPRULH��9DORDUHD�PHPRUDW� vQWU�R�YDULDELO� SRLQWHU�HVWH�R�DGUHV��'LQ�SXQFWXO�GH�YHGHUH�DO�FRQ LQXWXOXL�]RQHL�GH�PHPRULH�DGUHVDWH��VH�GLVWLQJ�XUP�WRDUHOH�FDWHJRULL�GH�SRLQWHUL�� SRLQWHUL�GH�GDWH��RELHFWH� � FRQ LQ�DGUHVD�XQHL�YDULDELOH�GLQ�PHPRULH�� SRLQWHUL� JHQHULFL� �QXPL L� úL� SRLQWHUL� YRLG� � FRQ LQ� DGUHVD� XQXL� RELHFW� RDUHFDUH�� GH� WLS�

QHSUHFL]DW�� SRLQWHUL� GH� IXQF LL �SUH]HQWD L� vQ� FDSLWROXO� ������� FRQ LQ� DGUHVD� FRGXOXL� H[HFXWDELO� DO� XQHL�

IXQF LL�

ÌQ�ILJXUD������YDULDELOD�[ HVWH�PHPRUDW� OD�DGUHVD������úL�DUH�YDORDUHD����9DULDELOD�SWU[�HVWH�PHPRUDW� OD�DGUHVD�GH�PHPRULH������úL�DUH�YDORDUHD�������DGUHVD�YDULDELOHL�[���9RP�VSXQH�F �SWU[ SRLQWHD]� F�WUH�[��GHRDUHFH�YDORDUHD�YDULDELOHL�SWU[ HVWH�FKLDU�DGUHVD�GH�PHPRULH�D�

YDULDELOHL�[�

��������'(&/$5$5($�9$5,$%,/(/25�32,17(56LQWD[D�GHFODUD LHL�XQXL�SRLQWHU�GH�GDWH HVWH�WLS� LGHQWLILFDWRUBSRLQWHU�

6LPEROXO� SUHFL]HD]� F� LGHQWLILFDWRUBSRLQWHU HVWH�QXPHOH�XQHL�YDULDELOH�SRLQWHU�GH�GDWH��LDU�WLS HVWH�WLSXO�RELHFWHORU�D�F�URU�DGUHV� R�YD�FRQ LQH�

([HPSOX�LQW�X��Y�� S�� T� ��� S�� T�VXQW�SRLQWHUL�GH�GDWH��F�WUH�LQW�

9DULDELO� SRLQWHUSWU[9DULDELO�[�

1XPH�YDULDELO���� 9DORDUH ����

���� DGUHV� ����)LJXUD������9DULDELOH�SRLQWHU

QDOH
Page 69: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

GRXEOH�D��E�� S��� T�� ��� S��� T��VXQW�SRLQWHUL�F�WUH�GDWH�GH�WLS�GRXEOH3HQWUX�SRLQWHULL�JHQHULFL��VH�IRORVHúWH�GHFODUD LD�

YRLG� LGHQWLILFDWRUBSRLQWHU�([HPSOX��

YRLG� P�$FHDVWD�SHUPLWH�GHFODUDUHD�XQXL�SRLQWHU�JHQHULF��FDUH�QX�DUH�DVRFLDW�XQ�WLS�GH�GDWH�SUHFLV��'LQ�DFHVW�PRWLY��vQ�FD]XO�XQXL�SRLQWHU�YLG��GLPHQVLXQHD�]RQHL�GH�PHPRULH�DGUHVDWH�úL�LQWHUSUHWDUHD�

LQIRUP LHL�QX�VXQW�GHILQLWH��LDU�SURSULHW� LOH�GLIHU� GH�DOH�SRLQWHULORU�GH�GDWH���������,1,�,$/,=$($�9$5,$%,/(/25�32,17(5([LVW� GRL�RSHUDWRUL�XQDUL FDUH�SHUPLW�XWLOL]DUHD�YDULDELOHORU�SRLQWHU�� ��RSHUDWRUXO�DGUHV� �GH�UHIHUHQ LHUH��� SHQWUX�DIODUHD�DGUHVHL�GLQ�PHPRULH�D�XQHL�YDULDELOH�� � RSHUDWRUXO� GH� LQGLUHFWDUH� �GH� GHIHUHQ LHUH�� � FDUH� IXUQL]HD]� YDORDUHD� GLQ� ]RQD� GH�

PHPRULH�VSUH�FDUH�SRLQWHD]� SRLQWHUXO�RSHUDQG�ÌQ�H[HPSOXO�SUH]HQWDW� vQ� ILJXUD������SHQWUX�YDULDELOD� vQWUHDJ� [��H[SUHVLD [ IXUQL]HD]�

DGUHVD�YDULDELOHL [��3HQWUX�YDULDELOD�SRLQWHU�GH�RELHFWH�LQW��QXPLW� SWU��H[SUHVLD� SWU vQVHDPQ�FRQ LQXWXO�ORFD LHL�GH�PHPRULH�D�F�UHL�DGUHV� HVWH�PHPRUDW� vQ�YDULDELOD�SWU��([SUHVLD� SWU SRDWH�IL�IRORVLW� DWkW�SHQWUX�DIODUHD�YDORULL�RELHFWXOXL�VSUH� FDUH�SRLQWHD]� SWU��FkW�úL�SHQWUX�PRGLILFDUHD�DFHVWHLD��SULQWU�R�RSHUD LH�GH�DWULEXLUH��([HPSOX�

LQW�[��\�� SWU����SWU� YDULDELO� SRLQWHU�F�WUH�XQ�LQW��[�\�YDULDELOH�SUHGHILQLWH��VLPSOH��GH�WLS�LQW[ ���FRXW��´$GUHVD�YDULDELOHL�[�HVWH�´��[��¶?Q¶�FRXW��´9DORDUHD�OXL�[�´��[��¶?Q¶�SWU [� ���DWULEXLUH��YDULDELOD�SWU�FRQ LQH�DGUHVD�YDULDELOHL�[FRXW��´9DULDELOD�SRLQWHU�SWU�DUH�YDORDUHD�´��SWU�FRXW��´�VL�DGUHVHD]D�RELHFWXO�´�� SWU��¶?Q¶�\ SWU��FRXW��´\ ´��\��¶?Q¶� ���\ �[ ���FRXW��´[ ´��[��¶?Q¶��FRXW��´ SWU ´�� SWU��¶?Q¶����[�VL� SWU�UHSUH]LQWD�DFHODVL�RELHFW��XQ�LQWUHJ�FX�YDORDUHD��[ ��� ���HFKLYDOHQWD�FX� SWU ���\ [���� ���HFKLYDOHQWD�FX�\ SWU���

ÌQ��H[HPSOXO��DQWHULRU���DWULEXLUHD�SWU [� VH��H[HFXW� DVWIHO��RSHUDWRUXO� IXUQL]HD]� DGUHVD�OXL�[��RSHUDWRUXO� DWULEXLH�YDORDUHD��FDUH�HVWH�R�DGUHV���YDULDELOHL�SRLQWHU�SWU�$WULEXLUHD�\ SWU VH�UHDOL]HD]� DVWIHO��RSHUDWRUXO� DFFHVHD]� FRQ LQXWXO�ORFD LHL�D�F�UHL�DGUHV�HVWH�FRQ LQXW� vQ�YDULDELOD�SWU��RSHUDWRUXO� DWULEXLH�YDORDUHD�YDULDELOHL�\�'HFODUD LD LQW� SWU� SRDWH�IL��GHFL��LQWHUSUHWDW� vQ�GRX� PRGXUL��DPEHOH�FRUHFWH�� SWU HVWH�GH�WLSXO�LQW� ��SWU�HVWH�GH�WLS�SRLQWHU�VSUH�LQW�� SWU HVWH�GH�WLSXO�LQW �FRQ LQXWXO�ORFD LHL�VSUH�FDUH�SRLQWHD]� YDULDELOD�SWU�HVWH�GH�WLSXO�LQW�&RQVWUXF LD��WLS HVWH�GH�WLSXO�SRLQWHU�F�WUH�LQW�$WULEXLUHD�[ ��HVWH�HFKLYDOHQW� FX�SWU [�� S [�9DULDELOHOH�SRLQWHU��DO�WXUL�GH�RSHUDWRULL�GH�UHIHUHQ LHUH�úL�GH�GHIHUHQ LHUH��SRW�DSDUH�vQ�H[SUHVLL�([HPSOH�

Page 70: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

LQW�[��\�� T��T [� T �� ���HFKLYDOHQW� FX�[ ��T �� ���LQYDOLG� � FRQVWDQWHOH�QX�DX�DGUHV� [ �� ���LQYDOLG� � [�QX�HVWH�YDULDELO� SRLQWHU[ \� ��LQYDOLG���[�QX�HVWH�YDULDELO� SRLQWHU��GHFL�QX�SRDWH�IL� IRORVLW� FX�RSHUDWRUXO�GH�LQGLUHFWDUH�\ T����� ���HFKLYDOHQW� FX�\ [��� T� ��� ���VHWHD]� [�SH�� T�� ��� ���HFKLYDOHQW� FX�� T����VDX�FX�[��LQW� U��U� �T�� �FRSLD]� FRQ LQXWXO�OXL�T��DGUHVD�OXL�[��vQ�U��GHFL�U�YD�SRLQWD�WRW�F�WUH�[��YD�FRQ LQH�WRW�DGUHVD�OXL�[� �GRXEOH�Z�� U� �Z�� U��� U���U� �Z��U� U��FRXW��´U� ´��U���¶?Q¶� ��DILúHD]� YDORDUHD�SRLQWHUXOXL�U���DGUHVD�OXL�Z�FRXW��´U� ´��U���¶?Q¶� ���DILúHD]� DGUHVD�YDULDELOHL�U�FRXW��´ U� �´�� U���¶?Q¶�GRXEOH�] U�� ���HFKLYDOHQW� FX�] ZFRXW��´] ´��]��¶?Q¶�

��������32,17(5,�*(1(5,&,/D�GHFODUDUHD�SRLQWHULORU�JHQHULFL����YRLG� QXPH����QX�VH�VSHFLILF� XQ�WLS��GHFL�XQXL�SRLQWHU�YRLG�L�VH�SRW�DWULEXL�DGUHVH�GH�PHPRULH�FDUH�SRW�FRQ LQH�GDWH�GH�GLIHULWH�WLSXUL��LQW��IORDW��FKDU��HWF��$FHúWL�SRLQWHUL�SRW�IL�IRORVL L�FX�PDL�PXOWH�WLSXUL�GH�GDWH��GH�DFHHD�HVWH�QHFHVDU� IRORVLUHD�FRQYHUVLLORU�H[SOLFLWH SULQ�H[SUHVLL�GH�WLS�FDVW��SHQWUX�D�SUHFL]D�WLSXO�GDWHL�VSUH�FDUH�SRLQWHD]� OD�XQ�PRPHQW�GDW�SRLQWHUXO�JHQHULF�([HPSOX�

YRLG� Y��� Y���LQW�D��E�� T��� T��T�� �D��T�� �T���Y�� �T��T�� �Y�� ���HURDUH��XQXL�SRLQWHU�FX�WLS�QX�L�VH�SRDWH�DWULEXL�XQ�SRLQWHU�JHQHULFT�� ��LQW� ��Y���GRXEOH�V�� SV� �V�LQW�F�� O��YRLG� VY�O� ��LQW� ��VY��SV� ��GRXEOH� � VY� �FKDU� ��VY� �D� � ,QWHUSUHWDUH�� DGUHVD� OD� FDUH� VH� J�VHúWH YDORDUHD� OXL� VY�HVWH�LQWHUSUHWDW� FD�ILLQG�DGUHVD�]RQHL�GH�PHPRULH�FDUH�FRQ LQH�R�GDWD�GH�WLS�FKDU�� �

3H�ED]D�H[HPSOXOXL�DQWHULRU��VH�SRW�IDFH�REVHUYD LLOH��� &RQYHUVLD�WLSXOXL�SRLQWHU�JHQHULF�VSUH�XQ�WLS�FRQFUHW�vQVHDPQ���GH�IDSW��SUHFL]DUHD�WLSXOXL�GH�

SRLQWHU�SH�FDUH�vO�DUH�YDORDUHD�SRLQWHUXOXL�OD�FDUH�VH�DSOLF� FRQYHUVLD�UHVSHFWLY����� &RQYHUVLD�WLSXOXL�SRLQWHU�JHQHULF�DVLJXU� R�IOH[LELOLWDWH�PDL�PDUH�vQ�XWLOL]DUHD�SRLQWHULORU��� 8WLOL]DUHD�vQ�PRG�DEX]LY�D�SRLQWHULORU�JHQHULFL�SRDWH�FRQVWLWXL�R�VXUV� GH�HURUL�������������� ������23(5$�,,�&8�32,17(5,ÌQ�DIDUD�RSHUD LHL�GH�DWULEXLUH��SUH]HQWDW� vQ�SDUDJUDIXO����������DVXSUD�YDULDELOHORU�SRLQWHU�VH�SRW�UHDOL]D�RSHUD LL�GH�FRPSDUDUH��DGXQDUH úL�VF�GHUH �LQFOXVLY�LQFUHPHQWDUH úL�GHFUHPHQWDUH���� &RPSDUDUHD�YDORULORU YDULDELOHORU�SRLQWHU

9DORULOH�D�GRL�SRLQWHUL�SRW�IL�FRPSDUDWH��IRORVLQG�RSHUDWRULL�UHOD LRQDOL��FD�vQ�H[HPSOXO�

Page 71: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

([HPSOX�LQW� S��� S��LI��S��S��

FRXW��´S� ´��S���´�´��´S� ´��S���¶?Q¶�HOVH�FRXW��´S� ´��S���´! ´��´S� ´��S���¶?Q¶�2� RSHUD LH� X]XDO� HVWH� FRPSDUDUHD� XQXL� SRLQWHU� FX� YDORDUHD� QXO��� SHQWUX� D� YHULILFD� GDF�DFHVWD� DGUHVHD]�� XQ� RELHFW�� &RPSDUDUHD� VH� IDFH� FX� FRQVWDQWD� VLPEROLF� 18// �GHILQLW� vQ�KHDGHU�XO�VWGLR�K��VDX�FX�YDORDUHD���([HPSOX�LI���S�� ���VDX�LI��S��� �18//�

����������� ���SRLQWHU�QXOHOVH����������� ���SRLQWHU�QHQXO

� $GXQDUHD�VDX�VF�GHUHD�6XQW�SHUPLVH�RSHUD LL�GH�DGXQDUH VDX�VF�GHUH vQWUH�XQ�SRLQWHU�GH�RELHFWH�úL�XQ�vQWUHJ�$VWIHO��GDF� SWU HVWH�XQ�SRLQWHU�F�WUH�WLSXO�WLS��WLS� SWU����LDU�Q HVWH�XQ�vQWUHJ��H[SUHVLLOH

SWU���Q� úL���SWU�� QDX�FD�YDORDUH��YDORDUHD�OXL�SWU OD�FDUH�VH�DGDXJ���UHVSHFWLY��VH�VFDGH Q� VL]HRI�WLS��8Q� FD]� SDUWLFXODU� DO� DGXQ�ULL� VDX� VF�GHULL� GLQWUH� XQ� SRLQWHU� GH� GDWH� úL� XQ� vQWUHJ� �Q ��� vO�UHSUH]LQW� LQFUHPHQWDUHD� úL� GHFUHPHQWDUHD� XQXL� SRLQWHU� GH� GDWH�� ÌQ� H[SUHVLLOH� SWU����UHVSHFWLY� SWU���� YDORDUHD� YDULDELOHL� SWU� GHYLQH� SWU�VL]HRI�WLS��� UHVSHFWLY�� SWU�VL]HRI�WLS��(VWH� SHUPLV� VF�GHUHD� D� GRL� SRLQWHUL� GH� RELHFWH� GH� DFHODúL� WLS�� UH]XOWDWXO� ILLQG� R� YDORDUH�vQWUHDJ� FDUH�UHSUH]LQW� GLIHUHQ D�GH�DGUHVH�GLYL]DW� SULQ�GLPHQVLXQHD�WLSXOXL�GH�ED]��([HPSOX�

LQW�D�� SD�� SE�FRXW��´D ´��D��¶?Q¶��SD D��FRXW��´SD ´��SD��¶?Q¶�FRXW��´SD��´��SD����¶?Q¶��SE SD����FRXW��´SE ´��SE��¶?Q¶�LQW�L SD�SE��FRXW��´L ´��L��¶?Q¶�

�������� ������32,17(5,�ù,�7$%/285,ÌQ� OLPEDMHOH� &�&��� H[LVW� R� VWUkQV� OHJ�WXU� vQWUH� SRLQWHUL� úL� WDEORXUL�� GHRDUHFH� QXPHOH� XQXL�WDEORX HVWH� XQ� SRLQWHU �FRQVWDQW��� FDUH� DUH� FD� YDORDUH� DGUHVD� SULPXOXL� HOHPHQW� GLQ� WDEORX��'LIHUHQ D� GLQWUH� QXPHOH� XQXL� WDEORX� úL� R� YDULDELO� SRLQWHU� HVWH� DFHHD� F� XQHL� YDULDELOH� GH� WLS�SRLQWHU�L�VH�SRW�DWULEXL�YDORUL� OD�H[HFX LH�� OXFUX�LPSRVLELO�SHQWUX�QXPHOH�XQXL�WDEORX��$FHVWD�DUH�WRW�WLPSXO��FD�YDORDUH��DGUHVD�SULPXOXL�V�X�HOHPHQW��'H�DFHHD��VH�VSXQH�F� QXPHOH�XQXL�WDEORX HVWH�XQ�SRLQWHU�FRQVWDQW �YDORDUHD� OXL�QX�SRDWH�IL�VFKLPEDW����1XPHOH�XQXL�WDEORX HVWH�FRQVLGHUDW�FD�ILLQG�XQ�UYDOXH �ULJKW�YDOXH�YDORDUH�GUHDSWD���GHFL�QX�SRDWH�DSDUH�GHFkW�vQ�SDUWHD�GUHDSW � D�XQHL�H[SUHVLL�GH�DWULEXLUH��1XPHOH�XQXL�SRLQWHU �vQ�H[HPSOXO�XUP�WRU�� SWU��HVWH�FRQVLGHUDW�FD�ILLQG�XQ�OYDOXH �OHIW�YDOXH�YDORDUH�VWkQJD���GHFL�SRDWH�IL�IRORVLW�DWkW�SHQWUX�D�RE LQH�YDORDUHD�RELHFWXOXL��FkW�úL�SHQWUX�D�R�PRGLILFD�SULQWU�R�RSHUD LH�GH�DWULEXLUH�([HPSOX�

LQW�D>��@�� SWU� ���D�HVWH�GHILQLW�FD�D>�@��D�HVWH�SRLQWHU�FRQVWDQWD� �D����� ���LOHJDO

Page 72: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

SWU� �D�� ��� OHJDO�� SWU� DUH� DFHHDúL� YDORDUH� FD� úL� D�� UHVSHFWLY� DGUHVD�HOHPHQWXOXL�D>�@

���SWU HVWH�YDULDELO��SRLQWHU��D HVWH�FRQVWDQW��SRLQWHU�LQW�[� �D>�@� ���HFKLYDOHQW�FX�[� � SWU��VH�DWULEXLH�OXL�[�YDORDUHD�OXL�D>�@

'HRDUHFH�QXPHOH� WDEORXOXL� D� HVWH� VLQRQLP�SHQWUX�DGUHVD� HOHPHQWXOXL�GH� LQGLFH�]HUR�GLQ� WDEORX��DVLJQDUHD�SWU D>�@ SRDWH�IL�vQORFXLW���FD�vQ�H[HPSOXO�DQWHULRU��FX�SWU D�

��������32,17(5,�ù,�ù,585,�'(�&$5$&7(5($úD�FXP�V�D�DU�WDW vQ�FDSLWROXO����XQ�úLU�GH�FDUDFWHUH�SRDWH�IL�PHPRUDW�vQWU �XQ�YHFWRU�GH�FDUDFWHUH��6SUH� GHRVHELUH� GH� FHOHODOWH� FRQVWDQWH�� FRQVWDQWHOH� úLU� GH� FDUDF WHUH� QX� DX� R� OXQJLPH� IL[��� GHFL�QXP�UXO� GH� RFWH L� DORFD L� OD� FRPSLODUH� SHQWUX� PHPRUDUHD� úLUXOXL�� YDULD]��� 'HRDUHFH� YDORDUHD�YDULDELOHORU� SRLQWHU� SRDWH� IL� VFKLPEDW� vQ� RULFH� PRPHQW�� FX� PXOW� XúXULQ ��� HVWH� SUHIHUDELO�XWLOL]DUHD�DFHVWRUD��vQ�ORFXO�WDEORXULORU�GH�FDUDFWHUH��YH]L�H[HPSOXO�XUP�WRU��([HPSOX�

FKDU�VLU>��@� FKDU� SVLU�VLU� �´KHOOR´� ���LOHJDOSVLU� �´KHOOR´� ���OHJDO

2SHUD LD�GH�LQGH[DUH�D�HOHPHQWHORU�XQXL�WDEORX�SRDWH�IL�UHDOL]DW� FX�DMXWRUXO�YDULDELOHORU�SRLQWHU�([HPSOX�

LQW�D>��@�� SWU� ���D�HVWH�SRLQWHU�FRQVWDQW��SWU�HVWH�YDULDELO� SRLQWHUSWU� �D� ���SWU�HVWH�DGUHVD�OXL�D>�@�SWU�L� vQVHDPQ� SWU��L VL]HRI�LQW���� GHFL�� � SWU� �� L � �D>L@'HRDUHFH�QXPHOH�XQXL�WDEORX HVWH�XQ�SRLQWHU��FRQVWDQW���SXWHP�FRQFOX]LRQD��ILJXUD������

D�L�� �D>L@D>L@�� �D�L�

([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP��FDUH�LOXVWUHD]� OHJ�WXUD�GLQWUH�SRLQWHUL�úL�YHFWRUL��úL�V�VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ�YRLG�^LQW�D>��@� �^������������������������������`��LQW�� SL�� �D��LQW�� SL�� �D>�@��LQW�� SL��FRXW��´D ´��D��´D ´��D��´ D ´�� D��¶?Q¶�

D D>�@��D�� D>�@ ������ D�� D>�@ D D>�@� �D��� D>�@ ������ �D��� D>�@

SWU

DD>�@�� D>�@����� ��� ��� D>�@

)LJXUD�������/HJ�WXUD�GLQWUH�SRLQWHUL�úL�WDEORXUL

Page 73: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

FRXW��´D�� ´���D������´ D>�@ ´�� D>�@��¶?Q¶�FRXW��´D>�@ ´��D>�@���´ �D��� ´�� �D�����¶?Q¶�FRXW��´SL� ´��SL���´SL� ´��SL���¶?Q¶��LQW�[ SL����� � � [� SULPHúWH� YDORDUHD� ORFD LHL� D� FDUHL� DGUHV� VH� DIO� vQ� YDULDELOD� SRLQWHU� SL��� GHFL�YDORDUHD�OXL�D>�@� �FRXW��´[ ´��[��¶?Q¶��[ SL���� ���HFKLYDOHQW�FX� �SL�������[ �FRXW��´[ ´��[��¶?Q¶��[ � SL������ � [ ��� vQWkL� DWULEXLUHD�� DSRL� LQFUHPHQWDUHD� YDORULL� VSUH� FDUH� SRLQWHD]� SL��� ÌQ� XUPD�LQFUHPHQW�ULL��YDORDUHD�OXL�D>�@�GHYLQH��� �FRXW��´[ ´��[��¶?Q¶��FRXW�� SL���¶?Q¶�[ ��SL�� ��HFKLYDOHQW� FX� ���SL��FRXW��´[ ´��[��¶?Q¶��[ ��� SL����FRXW��´[ ´��[��¶?Q¶��SL� D�SL� SL����FRXW��´SL� ´��SL���´ SL� ´�� SL���´SL� ´��SL���¶?Q¶�FRXW��´SL� ´��SL���´ SL� ´�� SL���´SL� ´��SL���¶?Q¶�FRXW��´SL��SL� ´���SL��SL����¶?Q¶� ��SL��SL� �`

([HUFL LX� 6� VH� VFULH� XUP�WRUXO� SURJUDP� �OHJ�WXUD� SRLQWHUL�úLUXUL� GH� FDUDFWHUH�� úL� V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ�YRLG�^LQW�D ����E ���� SL D��GRXEOH�X ������Y ������� SG Y�FKDU�VLU�>@ ´VLUXO��´��VLU�>@ ´VLUXO��´�� SVLU VLU��FRXW��´D ´��D��´�D ´��D��´�E ´��E��´�E ´��E��¶?Q¶�FRXW��´ SL ´�� SL��´SL ´��SL��´�SL ´��SL��¶?Q¶�FRXW��´ SG ´�� SG��´SG ´��SG��´�SG ´��SG��¶?Q¶�FRXW��´ VLU� ´�� VLU���´�VLU� ´��VLU���´�VLU� ´��VLU���¶?Q¶���� VLU� V��VLU� VLUXO����VLU� �[IIG�FRXW��´ VLU� ´�� VLU���´�VLU� ´��VLU���´�VLU� ´��VLU���¶?Q¶���� VLU� V��VLU� VLUXO����VLU� �[IIFHFRXW��´ SVLU ´�� SVLU��´�SVLU ´��SVLU��´�SVLU ´��SVLU��¶?Q¶���� SVLU V��SVLU VLUXO����VLU� �[IIFFFRXW��´VLU��� ´���VLU������´�SVLU�� ´���SVLU�����¶?Q¶����VLU��� UXO����SVLU�� UXO��FRXW��´ �VLU���� ´�� �VLU������¶?Q¶���� �VLU���� U��YDORDUHD�HOHPHQWXOXL�GH�LQGLFH��YRLG� SY��� SY��SY� SVLU��SY� VLU��FRXW��´SY� ´��SY���´SY� ´��SY���¶?Q¶�FRXW��´SY� ´��SY���´SY� ´��SY���¶?Q¶�SL E��SG Y��SVLU VLU��FRXW��´ SL ´�� SL��´SL ´��SL��´�SL ´��SL��¶?Q¶�FRXW��´ SG ´�� SG��´SG ´��SG��´�SG ´��SG��¶?Q¶�FRXW��´ SVLU ´�� SVLU��´SVLU ´��SVLU��´�SVLU ´��SVLU��¶?Q¶�`([HUFL LX� 6� VH� VFULH� XQ� SURJUDP� FDUH� FLWHúWH� HOHPHQWHOH� XQXL� YHFWRU� GH� vQWUHJL�� FX�

PD[LP� ��� HOHPHQWH� úL� vQORFXLHúWH� HOHPHQWXO� PD[LP� GLQ� YHFWRU� FX� R� YDORDUH� LQWURGXV � GH� OD�WDVWDWXU���6H�YD�IRORVL�DULWPHWLFD�SRLQWHULORU�

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^�LQW�D>��@�

Page 74: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

LQW�Q��PD[��LQGLFH��FRXW��´1U��HOHPHQWH�´��FLQ!!Q�IRU��L ���L�Q��L���

^�FRXW��´D>³��L��´@ ´��FLQ!! �D�L��`���FLWLUHD�HOHPHQWHORU�YHFWRUXOXLPD[ D��LQGLFH ��IRU��L ���L�Q��L���

LI��PD[� �D�L��^�PD[ �D�L���LQGLFH L�`

���DIODUHD�YDORULL�HOHPHQWXOXL�PD[LP�GLQ�YHFWRU�úL�D�SR]L LHL�DFHVWXLDLQW�YDO�FRXW��´9DORDUH�GH�LQORFXLUH�´��FLQ�!!�YDO� �D�LQGLFH� YDO����FLWLUHD�YDORULL�FX�FDUH�VH�YD�vQORFXL�HOHPHQWXO�PD[LPIRU��L ���L�Q��L���

FRXW�� �D�L����?W�FRXW��?Q����DILúDUHD QRXOXL�YHFWRU� �vQ�DFHVW�PRG�GH�LPSOHPHQWDUH��vQ�VLWXD LD�vQ�FDUH�vQ�YHFWRU�H[LVW� PDL�PXOWH�HOHPHQWH�D�F�URU�YDORDUH�HVWH�HJDO� FX�YDORDUHD�HOHPHQWXOXL�PD[LP��YD�IL�vQORFXLW�GRDU�XOWLPXO�GLQWUH�DFHVWHD��FHO�GH�LQGLFH�PD[LP�� �`

��������32,17(5,�ù,�7$%/285,�08/7,',0(16,21$/((OHPHQWHOH� XQXL� WDEORX� ELGLPHQVLRQDO� VXQW� S�VWUDWH� WRW� vQWU�R� ]RQ� FRQWLQX� GH� PHPRULH�� GDU�LQFRQYHQLHQWXO�FRQVW� vQ� IDSWXO�F� QH�JkQGLP� OD�DFHVWH�HOHPHQWH� vQ� WHUPHQL�GH� UkQGXUL� �OLQLL�� úL�FRORDQH� �ILJXUD�������8Q� WDEORX�ELGLPHQVLRQDO� HVWH� WUDWDW� FD� XQ� WDEORX�XQLGLPHQVLRQDO� DOH� F�UXL�HOHPHQWH�VXQW�WDEORXUL�XQLGLPHQVLRQDOH�

LQW�0>�@>�@ ^�^���������`��^��������`��^���������`��^��������`�`�&RPSLODWRUXO�WUDWHD]� DWkW�0��FkW�úL�0>�@��FD�WDEORXUL GH�P�ULPL�GLIHULWH��$VWIHO�FRXW��´0DULPH�0�´��VL]HRI�0���¶?Q¶� ������ ��RFWH L� ��HOHPHQWHFRXW��´0DULPH�0>�@´��VL]HRI�0>�@���¶?Q¶� ����� ���RFWH L� �HOHPHQWHFRXW��´0DULPH�0>�@>�@´��VL]HRI�0>�@>�@���¶?Q¶� �����RFWH L��VL]HRI�LQW��

$úD�FXP�FRPSLODWRUXO�HYDOXHD]� UHIHULQ D�F�WUH�XQ�WDEORX�XQLGLPHQVLRQDO�FD�XQ�SRLQWHU��XQ�WDEORX�ELGLPHQVLRQDO�HVWH�UHIHULW�vQWU�R�PDQLHU� VLPLODU���1XPHOH�WDEORXOXL�ELGLPHQVLRQDO��0��UHSUH]LQW�DGUHVD� �SRLQWHU�� F�WUH� SULPXO� HOHPHQW� GLQ� WDEORXO� ELGLPHQVLRQDO�� DFHVWD ILLQG� SULPD� OLQLH��0>�@��WDEORX� XQLGLPHQVLRQDO��� 0>�@ HVWH� DGUHVD� SULPXOXL� HOHPHQW� �0>�@>�@�� GLQ� OLQLH� �WDEORX�XQLGLPHQVLRQDO��� GHFL�0>�@� HVWH�XQ�SRLQWHU� F�WUH� LQW��0� �0>�@� �0>�@>�@��$VWIHO��0 úL�0>OLQLH@ VXQW�SRLQWHUL�FRQVWDQ L�

�� � ��� �� ��� �� ��� � �

0>�@0>�@0>�@0>�@

����� 0DWULF0DWULFHD�0 DUH���OLQLL�úL���FRORDQH��1XPHOH�WDEORXOXL�ELGLPHQVLRQDO��0��UHIHU� vQWUHJXO�WDEORX��0>�@ UHIHU� SULPD�OLQLH�GLQ�WDEORX�0>�@>�@ UHIHU� SULPXO�HOHPHQW�DO�WDEORXOXL�

)LJXUD������ 0DWULFHD�0

Page 75: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

3XWHP�FRQFOX]LRQD�� 0 HVWH�XQ�SRLQWHU�F�WUH�XQ�WDEORX�XQLGLPHQVLRQDO �GH�vQWUHJL��vQ�H[HPSOXO�DQWHULRU��� 0 HVWH�SRLQWHU�F�WUH�LQW �SHQWUX�F� 0>�@�HVWH�SRLQWHU�F�WUH�LQW���úL� 0� � �0�������

0>�@�� 0 HVWH�vQWUHJ��GHRDUHFH�0>�@>�@ HVWH�LQW� 0 � 0�� �0>�@� �0>�@����

0>�@>�@�([HUFL LX� 6� VH�WHVWH]H�SURJUDPXO�XUP�WRU��XUP�ULQG�FX�DWHQ LH�UH]XOWDWHOH�RE LQXWH�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��FRQLR�K!YRLG�PDLQ��^LQW�D>�@>�@ ^^�����`��^��������`��^�����������``�FOUVFU���FRXW���D ���D����D ���D����D>�@ ���D>�@��?Q�FRXW���3RLQWHUL�FDWUH�YHFWRULL�OLQLL?Q��IRU��LQW�L ���L����L���^

FRXW���� �D����L���� ��� �D�L��FRXW����D>���L���@ ���D>L@��?Q�

`���DILúDUHD�PDWULFLLIRU��L ���L����L���^

IRU��LQW�M ���M����M���FRXW�� � �D�L��M���?W����VDX�FRXW�� �D>L@�M���?W�

FRXW��?Q�`

`

������7$%/285,�'(�32,17(5,8Q�WDEORX�GH�SRLQWHUL�HVWH�XQ�WDEORX�DOH�F�UXL�HOHPHQWH�VXQW�SRLQWHUL��0RGXO�JHQHUDO�GH�GHFODUDUH�D�XQXL�WDEORX�GH�SRLQWHUL�

WLS� QXPHBWDEORX>GLP@�6� FRQVLGHU�P�H[HPSOXO�vQ�FDUH�VH�GHFODU� úL�VH�LQL LDOL]HD]� WDEORXO�GH�SRLQWHUL�VWUBSWU �ILJXUD�������

FKDU� VWUBSWU>�@� �^�´3URJUDPDUHD´��´HVWH´��´IUXPRDV��´�`�

ÌQ�FHHD�FH�SULYHúWH�GHFODUD LD� FKDU �VWUBSWU>�@���VH�SRDWH�REVHUYD��� VWUBSWU>�@ HVWH� GH� WLSXO� FKDU� �ILHFDUH� GLQWUH� FHOH� WUHL� HOHPHQWH� DOH� YHFWRUXOXL�

VWUBSWU>�@ HVWH�GH�WLSXO�SRLQWHU�F�WUH�FKDU��

)LJXUD�������7DEORXO�GH�SRLQWHUL�VWUBSWU

VWUBSWU´3URJUDPDUHD´´HVWH´´IUXPRDV���´

VWUBSWU>�@VWUBSWU>�@VWUBSWU>�@

'HRDUHFH�RSHUDWRUXO�GH�LQGH[DUH�>�@ DUH�SULRULWDWH�PDL�PDUH�GHFkW�RSHUDWRUXO�GH�GHIHUHQ LHUH� � GHFODUD LD�FKDU VWUBSWU>�@HVWH�HFKLYDOHQW� FX�FKDU �VWUBSWU>�@���FDUH�SUHFL]HD]� F� VWUBSWU HVWH�XQ�YHFWRU�GH�WUHL�HOHPHQWH��ILHFDUH�HOHPHQW�HVWH�SRLQWHU�F�WUH�FDUDFWHU�

Page 76: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

�� �VWUBSWU>�@� HVWH� GH� WLS� FKDU �FRQ LQXWXO� ORFD LHL� DGUHVDWH� GH� XQ� HOHPHQW� GLQ�VWUBSWU>�@ HVWH�GH�WLS FKDU��

)LHFDUH� HOHPHQW� �SRLQWHU�� GLQ� VWUBSWU HVWH� LQL LDOL]DW� V� SRLQWH]H� F�WUH� XQ� úLU� GH� FDUDFWHUH�FRQVWDQW��)LHFDUH�GLQWUH�DFHVWH�úLUXUL�GH�FDUDFWHUH�VH�J�VHVF�vQ�PHPRULH�OD�DGUHVHOH�PHPRUDWH�vQHOHPHQWHOH�YHFWRUXOXL�VWUBSWU��VWUBSWU>�@��VWUBSWU>�@��HWF�6� QH�DPLQWLP�GH�OD�SRLQWHUL�F�WUH�úLUXUL�GH�FDUDFWHUH�

FKDU�� S ´KH//2´� ��S���� �¶H¶�� � S>�@� �¶H¶�ÌQ�PRG�DQDORJ��

VWUBSWU>�@� �´HVWH´� ��VWUBSWU>�@����� �¶V¶�� � VWUBSWU>�@>�@ ¶V¶�3XWHP�FRQFXO]LRQD�� VWUBSWU HVWH�XQ�SRLQWHU�F�WUH�XQ�SRLQWHU�GH�FDUDFWHUH�� VWUBSWU HVWH�SRLQWHU�F�WUH�FKDU��(VWH�HYLGHQW��GHRDUHFH� VWUBSWU>�@ HVWH�SRLQWHU�F�WUH�

FKDU��LDU VWUBSWU� �VWUBSWU�>�@�������� VWUBSWU>�@�� VWUBSWU HVWH��XQ� GH�WLS�FKDU��(VWH�HYLGHQW��GHRDUHFH�VWUBSWU>�@>�@ HVWH�GH�WLS�FKDU��

LDU VWUBSWU � VWUBSWU�� �VWUBSWU>�@� �VWUBSWU>�@����VWUBSWU>�@>�@�

������32,17(5,�/$�32,17(5,6� UHYHGHP�H[HPSOXO� FX� WDEORXO�GH�SRLQWHUL� VWUBSWU��ùLUXULOH� VSUH� FDUH�SRLQWHD]� HOHPHQWHOH�WDEORXOXL� SRW� IL� DFFHVDWH� SULQ� VWUBSWU>LQGH[@�� vQV� GHRDUHFH� VWUBSWU HVWH� XQ� SRLQWHU�FRQVWDQW��DFHVWXLD�QX�L�VH�SRW�DSOLFD�RSHUDWRULL�GH�LQFUHPHQWDUH�úL�GHFUHPHQWDU H��(VWH�LOHJDO� �

IRU��L ��L���L���FRXW��VWUBSWU����

'H�DFHHD��SXWHP�GHFODUD�R�YDULDELO� SRLQWHU�SWUBSWU��FDUH�V� SRLQWH]H�F�WUH�SULPXO�HOHPHQW�GLQ�VWUBSWU��9DULDELOD�SWUBSWU HVWH�SRLQWHU�F�WUH�SRLQWHU úL�VH�GHFODU� DVWIHO�

FKDU� SWUBSWU�ÌQ�H[HPSOXO�XUP�WRU�HVWH�SUH]HQWDW�PRGXO�GH�XWLOL]DUH�D�SRLQWHUXOXL�OD�SRLQWHU�SWUBSWU��ILJXUD�������([HPSOX�

FKDU� SWUBSWU�FKDU� VWUBSWU>�@� �^�´3URJUDPDUHD´��´HVWH´� ´IUXPRDV��´�`�FKDU� SWUBSWU�SWUBSWU� �VWUBSWU�

)LJXUD�������3RLQWHUXO�OD�SRLQWHU�SWUBSWU

VWUBSWU

´3URJUDPDUHD´´HVWH´´IUXPRDV���´

SWUBSWU 'XS� DWULEXLUH��úL�VWUBSWU úL�SWUBSWUSRLQWHD]� F�WUH�DFHHDúL�ORFD LH�GH�PHPRULH��SULPXO�HOHPHQW�DO�WDEORXOXL�VWUBVWU���ÌQ�WLPS�FH�ILHFDUH�HOHPHQW�DO�OXL�VWUBVWU�HVWH�XQ�SRLQWHU��SWUBSWU�HVWH�XQ�SRLQWHU�F�WUH�SRLQWHU��'HRDUHFH�SWUBSWU�HVWH�XQ�SRLQWHU�YDULDELO��

YDORDUHD�OXL�SRDWH�IL�VFKLPEDW��IRU��L ��L���L���FRXW��SWUBSWU����

Page 77: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

����������������

11.9.1.3 5HIHULWRU�OD�GHFODUD LD��FKDU� SWUBSWU��SXWHP�FRQFOX]LRQD:� SWUBSWU HVWH�GH�WLSXO�FKDU �SWUBSWU�HVWH�SRLQWHU�OD�SRLQWHU�F�WUH�FKDU��� SWUBSWU HVWH�GH�WLSXO�FKDU �FRQ LQXWXO�ORFD LHL�SWUBSWU�HVWH�GH�WLSXO�SRLQWHU�F�WUH�FKDU��� SWUBSWU HVWH�GH�WLSXO FKDU � SWUBSWU�� � SWUBSWU���FRQ LQXWXO�ORFD LHL�

SWUBSWU�HVWH�GH�WLSXO�FKDU��������02',),&$7258/�FRQVW Ì1�'(&/$5$5($�32,17(5,/25

0RGLILFDWRUXO�FRQVW VH�XWLOL]HD]� IUHFYHQW�vQ�GHFODUDUHD�SRLQWHULORU��DYkQG�XUP�WRDUHOH�UROXUL�� 'HFODUDUHD�XQXL�SRLQWHU VSUH�R�GDW� FRQVWDQW�

FRQVW� WLS�QXPHBSRLQWHU GDW�BFRQVWDQW��([HPSOX�

FRQVW�FKDU� VLUXO ´D]L´����YDULDELOD�VLUXO�HVWH�SRLQWHU�VSUH�XQ�úLU�FRQVWDQW�GH�FDUDFWHUH

$WULEXLULOH�GH�IRUPD� VLUXO ´FRFR´� �VLUXO��� ¶$¶�

QX�VXQW�DFFHSWDWH��GHRDUHFH�SRLQWHUXO�VLUXO SRLQWHD]� F�WUH�R�GDW� FRQVWDQW� �úLU�FRQVWDQW��� 'HFODUDUHD�XQXL�SRLQWHU�FRQVWDQW F�WUH�R�GDW� FDUH�QX�HVWH�FRQVWDQW�WLS� FRQVW�QXPHBSRLQWHU GDW�BQHFRQVW�([HPSOX�

FKDU� �FRQVW�SVLU ´DEFG´��FRQVW�FKDU� VLU ´XQ�WH[W´�VLU ´DOW�VLU´� ��LQFRUHFW��VLU SRLQWHD]� F�WUH�GDW� FRQVWDQW�SVLU VLU� ��LQFRUHFW��GHRDUHFH�SVLU HVWH�SRLQWHU�FRQVWDQW

� 'HFODUDUHD�XQXL�SRLQWHU�FRQVWDQW F�WUH�R�GDW� FRQVWDQW�FRQVW WLS� FRQVW QXPHBSRLQWHU GDW�BFRQVWDQW��

([HPSOX�FRQVW�FKDU� �FRQVW�SVLU� �PQ3�� �SVLU���� =� ���LQFRUHFW��GDWD�VSUH�FDUH�SRLQWH]� SVLU��HVWH�FRQVWDQW�SVLU���� ���LQFRUHFW��SVLU��HVWH�SRLQWHU�FRQVWDQW

Ì175(%�5,�ù,�(;(5&,�,,&KHVWLXQL�WHRUHWLFH

Page 78: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

�� ÌQ�FH�FRQVW� RSHUD LD�GH�LQFUHPHQWDUH�D�SRLQWHULORU"�� 7DEORXUL�GH�SRLQWHUL��� &H�VXQW�SRLQWHULL�JHQHULFL"�� &H�RSHUD LL�VH�SRW�UHDOL]D�DVXSUD�YDULDELOHORU�SRLQWHU"�� 'H�FH�QXPHOH�XQXL�SRLQWHU�HVWH�UYDOXH"�� &H�IHO�GH�YDULDELOH�SRW�FRQVWLWXL�RSHUDQGXO�RSHUDWRUXOXL�GH�GHIHUHQ LHUH"�� 2SHUDWRUXO�GH�UHIHUHQ LHUH��� 8QXL�SRLQWHU�JHQHULF�L�VH�SRDWH�DWULEXL�YDORDUHD�XQXL�SRLQWHU�FX�WLS"�� &DUH�HVWH�OHJ�WXUD�vQWUH�WDEORXUL�úL�SRLQWHUL"��� 'H�FH�QXPHOH�XQXL�WDEORX�HVWH�OYDOXH"

���������� &KHVWLXQL�SUDFWLFH��� 6� VH�LPSOHPHQWH]H�SURJUDPHOH�FX�H[HPSOHOH�SUH]HQWDWH���� 6� VH�VFULH�SURJUDPHOH�SHQWUX�H[HUFL LLOH�UH]ROYDWH�FDUH�DX�IRVW�SUH]HQWDWH��� $QDOL]D L�XUP�WRDUHOH�VHFYHQ H�GH�LQVWUXF LXQL��,GHQWLILFD L�VHFYHQ HOH�LQFRUHFWH��DFROR�XQGH�

HVWH�FD]XO��úL�VXUVHOH�HURULORU�� LQW�D�E� F��D ���E ��� F D�� GRXEOH�\��]�� [ ]���] \�� FKDU�[�� S�� T��[� �$��T� �[��S� �T��FRXW��´[ ´��[��¶?Q¶�

FRXW��´ S ´�� S��¶?Q¶��FRXW��´ T ´�� T��¶?Q¶�FRXW��´S ´��S��´�T ´��T��´ S ´�� S��¶?Q¶�

� FKDU� S��[>�@� �^D��E��F`���LQW�L�� T��\>�@� �^����������`�S� �[>�@�IRU��L� ����L������L���^FRXW��´ S ´�� S��´�S ´��S��¶?Q¶�S���`T� �\>�@�IRU��L� ����L������L���^FRXW��´ T ´�� T��´T ´��T��¶?Q¶�T���`

� FRQVW�FKDU� VLUXO ´V� SURJUDP�P´�� �VLUXO����� GRXEOH�D�� V��V �D������FRXW��´V ´V��¶?Q¶�� GRXEOH�D��� D��� D���D� D���D�� �����D� D���D����� LQW�P>��@�� S�S P�

IRU��LQW�L ���L�����L���FRXW�� P����

� YRLG� S���LQW� S���LQW�[��S� [��S� S��� FKDU�F ¶$¶��FKDU� FF F��FRXW��� FF�����¶?Q¶�

�� 5HVFULH L�SURJUDPHOH�SHQWUX�SUREOHPHOH�GLQ�FDSLWROXO������D� ���J�����D����L�����D����K����XWLOL]kQG�DULWPHWLFD�SRLQWHULORU�

Page 79: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

)81&�,,�����6WUXFWXUD�XQHL�IXQF LL �����7DEORXUL�FD�SDUDPHWUL�����$SHOXO�úL�SURWRWLSXO�XQHL�IXQF LL �����)XQF LL�FX�SDUDPHWUL�LPSOLFL L�����7UDQVIHUXO�SDUDPHWULORU�XQHL�IXQF LL �����)XQF LL�FX�QXP�U�YDULDELO�GH�SDUD

������7UDQVIHUXO�SDUDPHWULORU�SULQ�YDORDUH �����)XQF LL�SUHGHILQLWH������7UDQVIHUXO��SULQ�SRLQWHUL �����&ODVH�GH�PHPRUDUH������7UDQVIHUXO SULQ�UHIHULQ � �����0RGXUL�GH�DORFDUH�D�PHPRULHL������7UDQVIHUXO� SDUDPHWULORU� F�WUH� IXQF LD�PDLQ

�����)XQF LL�UHFXUVLYH�����3RLQWHUL�F�WUH�IXQF LL

������6758&785$�81(,�)81&�,,�8Q�SURJUDP�VFULV�vQ�OLPEDMXO�&�&���HVWH�XQ�DQVDPEOX�GH�IXQF LL��ILHFDUH�GLQWUH�DFHVWHD�HIHFWXkQG�R�DFWLYLWDWH�ELQH�GHILQLW���'LQ�SXQFW�GH�YHGHUH�FRQFHSWXDO�� IXQF LD UHSUH]LQW� R�DSOLFD LH�GHILQLW�SH�R�PXO LPH�'��' PXO LPHD��GRPHQLXO�GH�GHILQL LH���FX�YDORUL� vQ�PXO LPHD�&��& PXO LPHD�GHYDORUL��FRGRPHQLXO���FDUH�vQGHSOLQHúWH�FRQGL LD�F��RULF�UXL�HOHPHQW�GLQ�'�vL�FRUHVSXQGH�XQ�XQLFHOHPHQW�GLQ�&�)XQF LLOH� FRPXQLF�� SULQ� DUJXPHQQWH�� HOH� SULPHVF� FD� SDUDPHWUL� �DUJXPHQWH�� GDWHOH� GH� LQWUDUH��HIHFWXHD]� SUHOXFU�ULOH� GHVFULVH� vQ� FRUSXO� IXQF LHL� DVXSUD� DFHVWRUD� úL� SRW� UHWXUQD� R� YDORDUH��UH]XOWDWXO�� GDWHOH� GH� LHúLUH��� ([HFX LD� SURJUDPXOXL� vQFHSH� FX� IXQF LD� SULQFLSDO��� QXPLW� PDLQ�)XQF LLOH� SRW� IL� GHVFULVH� vQ� FDGUXO� DFHOXLDúL� ILúLHU�� VDX� vQ� ILúLHUH� GLIHULWH�� FDUH� VXQW� WHVWDWH� úL�FRPSLODWH�VHSDUDW��DVDPEODUHD�ORU�UHDOL]kQGX�VH�FX�DMXWRUXO�OLQNHGLWRUXOXL�GH�OHJ�WXUL��2�IXQF LH�HVWH�IRUPDWD�GLQ�DQWHW�VL�FRUS�

DQWHWBIXQF LH^

FRUSXOBIXQF LHL`

6DX�WLSBYDOBUHWXUQ� QXPHBIXQF� �OLVWDBGHFODUD LLORUBSDUDPBIRUPDOL�^

GHFODUD LLBYDULDELOHBORFDOHLQVWUXF LXQLUHWXUQ�YDORDUH

`3ULPD� OLQLH� UHSUH]LQW� DQWHWXO IXQF LHL�� vQ� FDUH� VH� LQGLF��� WLSXO� IXQF LHL�� QXPHOH� DFHVWHLD� úL� OLVWD�GHFODUD LLORU�SDUDPHWULORU�IRUPDOL��/D�IHO�FD�XQ�RSHUDQG�VDX�R�H[SUHVLH��R�IXQF LH�DUH�XQ� WLS��FDUH�HVWH�GDW�GH� WLSXO�YDORULL� UHWXUQDWH�GH�IXQF LH� vQ�IXQF LD�DSHODQW���'DF� IXQF LD�QX� vQWRDUFH�QLFL�R�YDORDUH�� vQ� ORFXO� WLSBYDOLBUHWXUQ� VH� VSHFLILF� YRLG��'DF� WLSBYDOBUHWXUQ� OLSVHúWH�� VH� FRQVLGHU��LPSOLFLW��F� DFHVWD�HVWH�LQW��1XPHBIXQF LH HVWH�XQ�LGHQWLILFDWRU��/LVWDBGHFODUD LLORUBSDUDPBIRUPDOL� �vQFDGUDW� vQWUH� SDUDQWH]H� URWXQGH�� FRQVW� vQWU�R� OLVW��HQXPHUDUH�� FDUH� FRQ LQH� WLSXO� úL� LGHQWLILFDWRUXO� ILHF�UXL� SDUDPHWUX� GH� LQWUDUH�� GHVS�U LWH� SULQ�YLUJXO��� 7LSXO� XQXL� SDUDPHWUX� SRDWH� IL� RULFDUH�� FKLDU� úL� WLSXO� SRLQWHU�� 'DF� OLVWD� SDUDPHWULORU�IRUPDOL�HVWH�YLG���vQ�DQWHW��GXS� QXPHOH�IXQF LHL��DSDU�GRDU�SDUDQWH]HOH������VDX��YRLG��

PHWUL

��

Page 80: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

&RUSXO�IXQF LHL�HVWH�XQ�EORF��FDUH�LPSOHPHQWHD]� DOJRULWPXO�GH�FDOFXO�IRORVLW�GH�F�WUH�IXQF LH��ÌQ�FRUSXO� IXQF LHL� DSDU� �vQ� RULFH� RUGLQH�� GHFODUD LL� SHQWUX� YDULDELOHOH� ORFDOH� úL� LQVWUXF LXQL�� 'DF�IXQF LD� vQWRDUFH� R� YDORDUH�� VH� IRORVHúWH� LQVWUXF LXQHD� UHWXUQ YDORDUH�� /D� H[HFX LH�� OD�vQWkOQLUHD�DFHVWHL�LQVWUXF LXQL��VH�UHYLQH�vQ�IXQF LD�DSHODQW��ÌQ�OLPEDMXO�&�&���VH�XWLOL]HD]� GHFODUD LL�úL�GHILQL LL�GH�IXQF LL�'HFODUD LD FRQ LQH�DQWHWXO�IXQF LHL�úL�LQIRUPHD]� FRPSLODWRUXO�DVXSUD�WLSXOXL��QXPHOXL�IXQF LHL�úL�D�OLVWHL�SDUDPHWULORU� IRUPDOL��vQ�FDUH�VH�SRDWH�LQGLFD�GRDU� WLSXO�SDUDPHWULORU� IRUPDOL��QX�úL�QXPHOH�DFHVWRUD���'HFODUD LLOH�GH�IXQF LL�VH�QXPHVF�SURWRWLSXUL��úL�VXQW�FRQVWLWXLWH�GLQ�DQWHWXO�IXQF LHL� GLQ�FDUH�SRW�OLSVL�QXPHOH�SDUDPHWULORU�IRUPDOL�'HILQL LD FRQ LQH� DQWHWXO� IXQF LHL� úL� FRUSXO� DFHVWHLD�� 1X� HVWH� DGPLV� GHILQLUHD� XQHL� IXQF LL� vQ�FRUSXO�DOWHL�IXQF LL�2�IRUP� vQYHFKLW� D�DQWHWXOXL�XQHL�IXQF LL�HVWH�DFHHD�GH�D�VSHFLILFD�vQ�OLVWD�SDUDPHWULORU�IRUPDOL�GRDU�QXPHOH�DFHVWRUD��QX�úL� WLSXO��$FHDVW� OLEHUWDWH� vQ�RPLWHUHD� WLSXOXL�SDUDPHWULORU�FRQVWLWXLH�R�VXUV� GH�HURUL�WLSXOBYDORULLBUHWXUQDWH� QXPHBIXQF LH� �OLVWDBSDUDPHWULORUB�IRUPDOL�GHFODUDUHDBSDUDPHWULORUBIRUPDOL^GHFODUD LLBYDULDELOHBORFDOHLQVWUXF LXQLUHWXUQ�YDORDUH`

������$3(/8/�ù,�352727,38/�)81&�,,/252�IXQF LH�SRDWH�IL�DSHODW� SULQWU�R�FRQVWUXF LH�XUPDW� GH�SXQFW�úL�YLUJXO���QXPLW� LQVWUXF LXQH�GH�DSHO��GH�IRUPD� QXPHBIXQF LH��OLVWDBSDUDPHWULORUBHIHFWLYL��3DUDPHWULL� HIHFWLYL� WUHEXLH V� FRUHVSXQG� FX� FHL� IRUPDOL� FD� RUGLQH� úL� WLS�� /D� DSHO�� VH� DWULEXLH�SDUDPHWULORU�IRUPDOL�YDORULOH�SDUDPHWULORU�HIHFWLYL��GXS� FDUH�VH�H[HFXW� LQVWUXF LXQLOH�GLQ�FRUSXO�IXQF LHL��/D� UHYHQLUHD�GLQ� IXQF LH��FRQWUROXO�HVWH� UHGDW� IXQF LHL�DSHODQWH�� úL�H[HFX LD FRQWLQX� FX�LQVWUXF LXQHD�XUP�WRDUH�LQVWUXF LXQLL�GH�DSHO��GLQ�IXQF LD�DSHODQW���2�DOW� SRVLELOLWDWH�GH�D�DSHOD�R�IXQF LH� HVWH� DFHHD� vQ� FDUH� DSHOXO� IXQF LHL� FRQVWLWXLH� RSHUDQGXO� XQHL� H[SUHVLL�� $FHVW� OXFUX� HVWH�SRVLELO�GRDU�vQ�FD]XO�vQ�FDUH�IXQF LD�UHWXUQHD]� R�YDORDUH��IRORVLW� vQ�FDOFXOXO�H[SUHVLHL��3DUDPHWULL�GHFODUD L� vQ�DQWHWXO�XQHL�IXQF LL�VXQW�QXPL L�IRUPDOL��SHQWUX�D�VXEOLQLD�IDSWXO�F� HL�QX�UHSUH]LQW� YDORUL�FRQFUHWH��FL�QXPDL� LQ�ORFXO�DFHVWRUD�SHQWUX�D�SXWHD�H[SULPD�SURFHVXO�GH�FDOFXO�UHDOL]DW�SULQ�IXQF LH��(L�VH�FRQFUHWL]HD]� OD�H[HFX LH�SULQ�DSHOXULOH�IXQF LHL�3DUDPHWULL�IRORVL L�OD�DSHOXO�XQHL�IXQF LL�VXQW�SDUDPHWUL�UHDOL��HIHFWLYL��FRQFUH L��LDU�YDORULOH�ORU�YRU�IL� DWULEXLWH� SDUDPHWULORU� IRUPDOL�� OD� H[HFX LH�� 8WLOL]DUHD� SDUDPHWULORU� IRUPDOL OD� LPSOHPHQWDUHD�IXQF LLORU� úL� DWULEXLUHD� GH� YDORUL� FRQFUHWH� SHQWUX� HL�� OD� H[HFX LH�� UHSUH]LQW� XQ� SULP� QLYHO� GH�DEVWUDFWL]DUH� vQ� SURJUDPDUH��$FHVW�PRG�GH� SURJUDPDUH� VH� QXPHúWH� SURJUDPDUH� SURFHGXUDO� úL�UHDOL]HD]� XQ�SURFHV�GH�DEVWUDFWL]DUH�SULQ�SDUDPHWUL�9DULDELOHOH� GHFODUDWH� vQ� LQWHULRUXO� XQHL� IXQF LL�� FkW� úL� SDUDPHWULL� IRUPDOL� DL� DFHVWHLD� QX� SRW� IL�DFFHVD L� GHFkW� vQ� LQWHULRUXO� DFHVWHLD�� $FHVWH� YDULDELOH� VXQW� QXPLWH� YDULDELOH� ORFDOH úL� QX� SRW� IL�DFFHVDWH�GLQ�DOWH�IXQF LL��'RPHQLXO�GH�YL]LELOLWDWH�D�XQHL�YDULDELOH�HVWH�SRU LXQHD�GH�FRG�OD�D�F�UHL�H[HFX LH�YDULDELOD�UHVSHFWLY� HVWH�DFFHVLELO���'HFL��GRPHQLXO�GH�YL]LELOLWDWH�D�XQHL�YDULDELOH�ORFDOH�HVWH�IXQF LD�vQ�FDUH�HD�D�IRVW�GHILQLW� �YH]L�úL�SDUDJUDIXO��������

Page 81: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

([HPSOX�LQW�I��YRLG�^�GRXEOH�D�E��LQW�F�������UHWXUQ�F�����D��E��F�� YDULDELOH�ORFDOH��YL]LELOH�GRDU�vQ�FRUSXO�IXQF LHL`YRLG�PDLQ��^������������� ���YDULDELOH�D�úL�E�QX�VXQW�DFFHVLELOH�vQ�PDLQ��`

'DF� vQ�LQWHULRUXO�XQHL�IXQF LL�H[LVW� LQVWUXF LXQL�FRPSXVH��EORFXUL��FDUH�FRQ LQ�GHFODUD LL GH�YDULDELOH��DFHVWH�YDULDELOH�QX�VXQW�YL]LELOH�vQ�DIDUD�EORFXOXL�

([HPSOX�YRLG�PDLQ��^�LQW�D ���E ��FRXW�����D ´��D��´�E ´��E��´�F ´��F¶?Q¶� ���D ��E ���F�QHGHFODUDW

����������������^�LQW�D ���E ���LQW�F ��FRXW����³D ´��D��´�E ´��E��¶?Q¶� �� D ��E ���F �

����������������`

FRXW����³D ´��D��´�E ´��E��´�F ´��F¶?Q¶� ���D ��E ���F�QHGHFODUDW������������������������`

([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP��SHQWUX�vQ HOHJHUHD�PRGXOXL�GH�DSHO�DO�XQHL�IXQF LL��úL�V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!YRLG�IBDILV�YRLG�^FRXW��´6H�H[HFXW� LQVWUXF LXQLOH�GLQ�FRUSXO�IXQF LHL?Q´�GRXEOH�D ���E �����FRXW��D��´ ´��E��´ ´��D E��¶?Q¶��FRXW��´,HúLUH�GLQ�IXQF LH�?Q´��`YRLG�PDLQ��^FRXW��´,QWUDUH�vQ�IXQF LD�SULQFLSDO�?Q´�I����� ��DSHOXO�IXQF LH�I���SULQWU�R�LQVWUXF LXQH�GH�DSHOFRXW��´7HUPLQDW�0$,1�?Q´��`

([HUFL LX� 6� VH� VFULH� XQ� SURJUDP� FDUH� FLWHúWH� GRX� QXPHUH� úL� DILúHD]� FHOH�PDL�PDUH� GLYL]RU�FRPXQ�DO�DFHVWRUD��IRORVLQG�R�IXQF LH�FDUH�vO�FDOFXOHD]���

�LQFOXGH��LRVWUHDP�K!LQW�FPPGF�LQW�[��LQW�\�^LI��[ ��__�\ ��__��[ ��__�\ �� UHWXUQ���LI��[��� [ �[�LI��\��� \ �\�ZKLOH��[�� ���^

LI���\�!�[��^LQW�] [��[ \��\ ]��`

[� \� ���VDX� [� \�`UHWXUQ�\�`

Page 82: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

YRLG�PDLQ��^LQW�Q��Q���FRXW��´Q� ´�FLQ!!Q���FRXW��´Q� ´�FLQ!!Q��LQW�GLYL] FPPGF�Q��Q���FRXW��´&HO�PDL�PDUH�GLYL]RU�FRPXQ�DO�QU�ORU�´��Q���´�úL�´�FRXW��Q���´�HVWH�´��GLYL]��¶?Q¶�� ��VDX�FRXW��´&HO�PDL�PDUH�GLYL]RU�FRPXQ�DO�QU�ORU�´��Q���´�úL�´�FRXW��Q���´�HVWH�´��FPPGF�Q��Q����¶?Q¶� � `

([HUFL LX� 6� VH�FDOFXOH]H�YDORDUHD�OXL�\��X�úL�P ILLQG�FLWLWH�GH�OD�WDVWDWXU��] �Z ����M �X�������P����Z ���X � � ���P������ XQGH�Z �[�Q�� � VLQ� � FRV� �L[ L[

L

Q�

� ¦ ��M �[�� � �� [H�� ��Z ��5�[�1�o 5� M �� 5

o 5���LQFOXGH��LRVWUHDP�K!�LQFOXGH��PDWK�K!GRXEOH�RPHJD�GRXEOH�[��LQW�Q�^�GRXEOH�V ���LQW�L�IRU��L ���L� Q��L��� V� VLQ�L [� FRV�L [��UHWXUQ�V��`GRXEOH�SVL��GRXEOH�[�^ UHWXUQ�VTUW������H[S��� SRZ��[�������`YRLG�PDLQ��^GRXEOH�X��]��LQW�P��FRXW��´X ´��FLQ!!X��FRXW��´P ´��FLQ!!P�] � RPHJD�� �SVL�X�������P����RPHJD�� SRZ�X����� ���P�����FRXW��´] ´��]��¶?Q¶��`

ÌQ�H[HPSOHOH�DQWHULRDUH��vQDLQWH�GH�DSHOXO�IXQF LLORU�IRORVLWH��DFHVWHD�DX�IRVW�GHILQLWH��DQWHW�FRUS���([LVW� FD]XUL� vQ� FDUH� GHILQLUHD� XQHL� IXQF LL� QX� SRDWH� IL� I�FXW� vQDLQWHD� DSHOXOXL� DFHVWHLD� �FD]XO�IXQF LLORU� FDUH� VH� DSHOHD]� XQHOH� SH� DOWHOH��� 6� UH]ROY�P�XOWLPXO� H[HUFL LX�� IRORVLQG� GHFODUD LLOH�IXQF LLORU�RPHJD�úL�SVL��úL�QX�GHILQL LLOH�ORU��([HUFL LX�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��PDWK�K!GRXEOH�RPHJD�GRXEOH��LQW�����SURWRWLSXO�IXQF LHL�RPHJD�� DQWHW�GLQ�FDUH�OLSVHVF�QXPHOH�SDUDPHWULORU�IRUPDOLGRXEOH�SVL�GRXEOH�� ���SURWRWLSXO�IXQF LHL�SVLYRLG�PDLQ��^GRXEOH�X��]��LQW�P��FRXW��´X ´��FLQ!!X��FRXW��´P ´��FLQ!!P�] � RPHJD�� �SVL�X�������P����RPHJD�� SRZ�X����� ���P�����FRXW��´] ´��]��¶?Q¶��`GRXEOH�RPHJD�GRXEOH�[��LQW�L�� ���GHILQL LD�IXQF LHL�RPHJD^�GRXEOH�V ���LQW�L�IRU��L ���L� Q��L��� V�� ��VLQ��L [�� �FRV��L [��UHWXUQ�V� `

Page 83: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

GRXEOH�SVL��GRXEOH�[� ���GHILQL LD�IXQF LHL�SVL^ UHWXUQ�VTUW������H[S��� SRZ��[��������`

3URWRWLSXULOH�IXQF LLORU�GLQ�ELEOLRWHFL��SUHGHILQLWH��VH�J�VHVF�vQ�KHDGHUH��8WLOL]DUHD�XQHL�DVWIHO�GH�IXQF LL�LPSXQH�GRDU�LQFOXGHUHD�vQ�SURJUDP�D�KHDGHUXOXL�DVRFLDW��FX�DMXWRUXO�GLUHFWLYHL�SUHSURFHVRU��LQFOXGH�3URJUDPDWRUXO�vúL�SRDWH�FUHD�SURSULLOH�KHDGHUH��FDUH�V� FRQ LQ� GHFODUD LL�GH�IXQF LL��WLSXUL�JOREDOH��PDFURGHILQL LL��HWF�6LPLODU�FX�GHFODUD LD�GH�YDULDELO���GRPHQLXO�GH�YDODELOLWDWH��YL]LELOLWDWH��D�XQHL�IXQF LL�HVWH�� ILúLHUXO�VXUV���GDF� GHFODUD LD�IXQF LHL�DSDUH�vQ�DIDUD�RULF�UHL�IXQF LL��OD�QLYHO�JOREDO��� IXQF LD�VDX�EORFXO�vQ�FDUH�DSDUH�GHFODUD LD�

������75$16)(58/�3$5$0(75,/25�81(,�)81& �,,)XQF LLOH�FRPXQLF� vQWUH�HOH�SULQ�DUJXPHQWH��SDUDPHWULL���([LVW� XUP�WRDUHOH�PRGXUL�GH�WUDQVIHU��WUDQVPLWHUH��D�SDUDPHWULORU�F�WUH�IXQF LLOH�DSHODWH�� 7UDQVIHU�SULQ�YDORDUH�� 7UDQVIHU�SULQ�SRLQWHUL�� 7UDQVIHU�SULQ�UHIHULQ ��

��������75$1)(58/�3$5$0(75,/25�35,1�9$/2$5 (ÌQ�H[HPSOHOH�DQWHULRDUH��SDUDPHWULL�GH�OD�IXQF LD�DSHODQW� OD�IXQF LD�DSHODW� DX�IRVW�WUDQVPLúL�SULQ�YDORDUH��'H�OD�SURJUDPXO�DSHODQW�F�WUH�IXQF LD�DSHODW���SULQ�DSHO��VH�WUDQVPLW�YDORULOH�SDUWDPHWULORU�HIHFWLYL�� UHDOL�� $FHVWH� YDORUL� YRU� IL� DWULEXLWH�� OD� DSHO�� SDUDPHWULORU� IRUPDOL�� 'HFL� SURFHGHXO� GH�WUDQVPLWHUH�D�SDUDPHWULORU�SULQ�YDORDUH�FRQVW� vQ�vQF�UFDUHD�YDORULL�SDUDPHWULORU�HIHFWLYL�vQ�]RQD�GH�PHPRULH�D�SDUDPHWULORU� IRUPDOL� �vQ� VWLY����/D�DSHOXO�XQHL� IXQF LL��SDUDPHWULL� UHDOL� WUHEXLH� V�FRUHVSXQG� � FD�RUGLQH�úL�WLS�� FX�FHL�IRUPDOL�([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP��FDUH�LOXVWUHD]� OHJ�WXUD�GLQWUH�SRLQWHUL�úL�YHFWRUL��úL�V�VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

YRLG�I��IORDW�LQWU�LQW�QU����LQWU��QU�� SDUDPHWUL�IRUPDOL^IRU��LQW�L ���L�QU�L����LQWU� �����FRXW��´9DO��3DUDP��LQWU ´��LQWU��¶?Q¶����LQWU ��`YRLG�PDLQ��^�IORDW�GDWD �����I��GDWD�������DSHOXO�IXQF LHL�I���GDWD����VXQW�SDUDPHWUL�HIHFWLYLFRXW��´GDWD ´��GDWD��¶?Q¶����GDWD �����QHPRGLILFDW�`

&RSLHUH�YDORDUH

LQWU

GDWD���

���

)LJXUD�������7UDQVPLWHUHD��SULQ�YDORDUH

Page 84: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

)LHFDUH� DUJXPHQW� HIHFWLY� XWLOL]DW� OD� DSHOXO� IXQF LHL� HVWH� HYDOXDW�� LDU� YDORDUHD� HVWH� DWULEXLW�SDUDPHWUXOXL� IRUPDO� FRUHVSXQ]�WRU�� ÌQ� LQWHULRUXO� IXQF LHL�� R� FRSLH� ORFDO� D� DFHVWHL� YDORUL� YD� IL�PHPRUDW� vQ�SDUDPHWUXO�IRUPDO��2�PRGLILFDUH�D�YDORULL�SDUDPHWUXOXL�IRUPDO�vQ�LQWHULR UXO�IXQF LHL��SULQWU�R� RSHUD LH� GLQ� FRUSXO� IXQF LHL��� QX� YD� PRGLILFD� YDORDUHD� SDUDPHWUXOXL� HIHFWLY�� FL� GRDU�YDORDUHD�SDUDPHWUXOXL�IRUPDO��GHFL�D�FRSLHL�ORFDOH�D�SDUDPHWUXOXL�HIHFWLY��ILJXUD��������)DSWXO�F �YDULDELOD�GLQ�SURJUDPXO�DSHODQW� �SDUDPHWUXO�HIHFW LY��úL�SDUDPHWUXO� IRUPDO�VXQW�RELHFWH�GLVWLQFWH��SRDWH�FRQVWLWXL�XQ�PLMORF�XWLO�GH�SURWHF LH��$VWIHO��vQ�IXQF LD�I���YDORDUHD�SDUDPHWUXOXL�IRUPDO�LQWU�HVWH�PRGLILFDW� �DOWHUDW���SULQ�LQVWUXF LXQHD�FLFOLF� IRU�� ÌQ�VFKLPE��YDORDUHD�SDUDPHWUXOXL�HIHFWLY��GDWD��GLQ�IXQF LD�DSHODQW���U�PkQH�QHPRGLILFDW��ÌQ� FD]XO� WUDQVPLWHULL� SDUDPHWULORU�SULQ�YDORDUH��SDUDPHWULL� HIHFWLYL�SRW� IL� FKLDU� H[SUHVLL��$FHVWHD�VXQW�HYDOXDWH��LDU�YDORDUHD�ORU�YD�LQL LDOL]D��OD�DSHO��SDUDPHWULL�IRUPDOL�([HPSOX�

GRXEOH�SVL�LQW�D��GRXEOH�E�^LI��D�!��� UHWXUQ�D E ��HOVH UHWXUQ��D�� E��`YRLG�PDLQ��^�LQW�[ ���GRXEOH�\ ������]��] SVL���� [����\���������FRXW��´] ´��]��¶?Q¶� `

7UDQVIHUXO� YDORULL� HVWH� vQVR LW� GH� HYHQWXDOH� FRQYHUVLL� GH� WLS�� $FHVWH� FRQYHUVLL� VXQW� UHDOL]DWH�DXWRPDW� GH� FRPSLODWRU�� vQ� XUPD� YHULILF�ULL� DSHOXOXL� GH� IXQF LH�� SH� ED]D� LQIRUPD LLORU� GHVSUH�IXQF LH��VDX�VXQW�FRQYHUVLL�H[SOLFLWH��VSHFLILFDWH�GH�SURJUDPDWRU��SULQ�RSHUDWRUXO�´FDVW´�([HPSOX�

IORDW�I��GRXEOH��LQW��YRLG�PDLQ��^LQW�D��E��IORDW�J I��D��E�� ���FRQYHUVLH�DXWRPDW���LQW�D��!�GRXEOH�DIORDW�K I����GRXEOH��D��E�� ���FRQYHUVLH�H[SOLFLW�`

/LPEDMXO�& HVWH�QXPLW� OLPEDMXO�DSHOXOXL�SULQ�YDORDUH��GHRDUHFH��GH�ILHFDUH�GDW� FkQG�R�IXQF LH�WUDQVPLWH�DUJXPHQWH�XQHL�IXQF LL�DSHODWH��HVWH�WUDQVPLV���GH�IDSW��R�FRSLH�D�SDUDPHWULORU�HIHFWLYL��ÌQ�DFHVW�PRG��GDF� YDORDUHD�SDUDPHWULORU�IRUPDOL��LQL LDOL]D L�FX�YDORULOH�SDUDPHWULORU�HIHFWLYL��VH�PRGLILF� vQ�LQWHULRUXO�IXQF LHL�DSHODWH��YDORULOH�SDUDPHWULORU�HIHFWLYL�GLQ�IXQF LD�DSHODQW� QX�YRU�IL�DIHFWDWH���������75$16)(58/�3$5$0(75,/25�35,1�32,17(5,ÌQ�XQHOH�FD]XUL��SDUDPHWULL�WUDQVPLúL�XQHL�IXQF LL�SRW�IL�SRLQWHUL��YDULDELOH�FDUH�FRQ LQ�DGUHVH���ÌQ�DFHVWH� FD]XUL�� SDUDPHWULL� IRUPDOL� DL� IXQF LHL� DSHODWH� YRU� IL� LQL LDOL]D L� FX� YDORULOH� SDUDPHWULORU�HIHFWLYL��GHFL�FX�YDORULOH�XQRU�DGUHVH��$VWIHO��IXQF LD�DSHODW� SRDWH�PRGLILFD FRQ LQXWXO�ORFD LLORU�VSUH�FDUH�SRLQWHD]��DUJXPHQWHOH��SRLQWHULL���([HUFL LX� 6� VH� FLWHDVF� ��YDORUL� vQWUHJL� úL� V� VH� LQWHUVFKLPEH�FHOH�GRX� YDORUL��6H�YD� IRORVL�R�IXQF LH�GH�LQWHUVFKLPEDUH�

�LQFOXGH��LRVWUHDP�K!YRLG�VFKLPE��LQW� ��LQW� �� ��SURWRWLSXO�IXQFWLHL�VFKLPEDYRLG�PDLQ��^LQW�[��\�� SW[�� SW\� SW[ [� SW\ \�

Page 85: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

FRXW��´[ ´�FLQ!![�FRXW��´\ ´�FLQ!!\�FRXW��´[ ´��[��FRXW��´\ ´��\��¶?Q¶�FRXW���$GU��OXL�[����[����9DO�OXL�[����[��?Q�FRXW���$GU�OXL� \����\���� 9DO� \����\��?Q�� FRXW���9DO�� OXLSW[����SW[�FRXW����&RQW��ORFD LHL�VSUH�FDUH�SRLQWHD]� SW[�´�� SW[��?Q�FRXW���9DO��OXL�SW\����SW\�FRXW���&RQW��ORFD LHL�VSUH�FDUH�SRLQWHD]� SW\���� SW\�VFKLPED�SW[��SW\�����6$8���VFKLPED�[��\��FRXW���$GU� OXL�[����[�����[�9DO�OXL�[���G?Q´��[��[��FRXW���$GU�� \����\���� 9DO� OXL� \����\��?Q�FRXW���9DO�� OXLSW[����SW[�FRXW����&RQW��ORFD LHL�VSUH�FDUH�SRLQWHD]� SW[�´�� SW[��?Q�FRXW���9DO��OXL�SW\����SW\�FRXW����&RQW��ORFD LHL�VSUH�FDUH�SRLQWHD]� SW\���� SW\��?Q�`YRLG�VFKLPE���LQW� S���LQW� S��^FRXW���9DO��OXL�S�����S��FRXW����&RQW��ORFD LHL�VSUH�FDUH�SRLQWHD]� S����� S���?Q�FRXW���9DO��OXL�S�����S��FRXW����&RQW��ORFD LHL�VSUH�FDUH�SRLQWHD]� S����� S���?Q�LQW�W� � S�� ���LQW� W�� W S�� S� S�� S� W�FRXW���9DO��OXL�S�����S��FRXW����&RQW��ORFD LHL�VSUH�FDUH�SRLQWHD]� S��´�� S���?Q�FRXW���9DO��OXL�S�����S��FRXW����&RQW��ORFD LHL�VSUH�FDUH�SRLQWHD]� S����� S���?Q�`

'DF� SDUDPHWULL� IXQF LHL� VFKLPE� DU� IL� IRVW� WUDQVPLúL� SULQ� YDORDUH�� DFHDVW� IXQF LH� DU� IL�LQWHUVFKLPEDW�FRSLLOH�SDUDPHWULORU� IRUPDOL�� LDU� vQ�IXQF LD�PDLQ PRGLILF�ULOH�DVXSUD�SDUDPHWULORU�WUDQVPLúL� QX� V�DU� IL� S�VWUDW�� ÌQ� ILJXUD� ����� VXQW� SUH]HQWDWH� PHFDQLVPXO� GH� WUDQVPLWHUH� D�SDUDPHWULORU��SULQ�SRLQWHUL��úL�PRGLILF�ULOH�HIHFWXDWH�DVXSUD�ORU�GH�F�WUH�IXQF LD�VFKLPE��

([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP�úL�V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD��LQFOXGH��LRVWUHDP�K!GRXEOH�RPHJD��ORQJ� N�^FRXW���N ���N��

\[3DUDPHWULL�IRUPDOL S� úL�S���OD DSHOXO�IXQF LHL�VFKLPE���SULPHVF�YDORULOH�SDUDPHWULORU�HIHFWLYL�SW[ úL�SW\��FDUH�UHSUH]LQW� DGUHVHOH�YDULDELOHORU�[ úL�\�$VWIHO��YDULDELOHOH�SRLQWHU�S� úL�SW[��UHVSHFWLY�S� úL�SW\ SRLQWHD]� F�WUH�[ úL�\��0RGLILF�ULOH�DVXSUD�YDORULORU�YDULDELOHORU�[ úL�\ UHDOL]DWH�vQ�FRUSXO�IXQF LHL�VFKLPE���VH�S�VWUHD]� úL�vQ�IXQF LD�PDLQ�

�[�� �[�$SW\�������� ��������

�[�� �[�$SW[

�[��S�

�[�$S�

)LJXUD�������7UDQVPLWHUHD�SDUDPHWULORU�XQHL�IXQF LL�SULQ�SRLQWHUL

Page 86: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

���N�FRQ LQH�DGU��OXL�LFRXW��´ N ´�FRXW��N��¶?Q¶���� N� ������GRXEOH�V ��� N�������V� ������FRXW��´V ´��V��¶?Q¶� N� ��� ��� N� ������FRXW��´ N ´�� N�FRXW��¶?Q¶�UHWXUQ�V� `YRLG�PDLQ��^ORQJ�L� ������� GRXEOH�Z�FRXW���L ���L�FRXW���$GU�OXL�L����L��?Q�Z RPHJD�L���FRXW��´L ´��L���Z ´��Z��¶?Q¶� ���L ��������Z� �������`

����������)XQF LL�FDUH�UHWXUQHD]� SRLQWHUL9DORDUHD�UHWXUQDW� GH�R�IXQF LH�SRDWH�IL�SRLQWHU��DúD�FXP�VH�REVHUY� vQ�H[HPSOXO�XUP�WRU��

([HPSOX��LQFOXGH��LRVWUHDP�K!GRXEOH� I��GRXEOH� Z��LQW�N�^ ���Z�FRQ LQH�DGU��GH�vQFHSXW�D�YHFWRUXOXL�DFRXW���Z ���Z���� Z ��� Z��?Q� ���Z �DGU��OXL�D�� Z� �D>�@ ��UHWXUQ�Z� N�� LQFUHPHQWHD]D�SRLQWHUXOXL�Z�FX���YDO��OXL�N���GHFL�Z�SRLQWHD]� F�WUH�HOHPHQWXO�GH�LQGLFH���GLQ�YHFWRUXO�D �`YRLG�PDLQ��^GRXEOH�D>��@ ^��������������������`��LQW�L ��FRXW���$GU��OXL�D�HVWH����D��GRXEOH� SD D� ���GRXEOH� SD��SD D�FRXW���SD ���SD��?Q ���SRLQWHUXO�SD�FRQ LQH�DGUHVD�GH�vQFHSXW�D�WDEORXOXL�D���D>L@� � ��D���L����D>L@� �D���LSD I�D�L���FRXW���SD ���SD���� SD ��� SD��?Q����SD�FRQ LQH�DGU��OXL�D>�@��DGLFD�DGU��D����� VL]HRI�GRXEOH�� SD ��`

��������75$16)(58/�3$5$0(75,/25�35,1�5()(5,1 ��ÌQ�DFHVW�PRG�GH�WUDQVPLWHUH�D�SDUDPHWULORU��XQXL�SDUDPHWUX�IRUPDO�L�VH�SRDWH�DVRFLD��DWULEXL��FKLDU�RELHFWXO�SDUDPHWUXOXL�HIHFWLY��$VWIHO��SDUDPHWUXO�HIHFWLY�SRDWH�IL�PRGLILFDW�GL UHFW�SULQ�RSHUD LLOH�GLQ�FRUSXO�IXQF LHL�DSHODWH��

�[���

ÌQ�IXQF LD PDLQ ÌQ�IXQF LD RPHJD

�������DSRL�������L

�[�����DGU�OXL�L�N

�����V

�����Z

)LJXUD�������7UDQVIHUXO�SDUDPHWULORU�SULQ�SRLQWHUL

Page 87: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

ÌQ�H[HPSOXO�XUP�WRU�GHILQLP�YDULDELOD�EU��YDULDELO� UHIHULQ � F�WUH�YDULDELOD�E��9DULDELOHOH�E úL�EUVH�J�VHVF��vQ�PHPRULH��OD�DFHHDúL�DGUHV� úL�VXQW�YDULDELOH�VLQRQLPH�([HPSOX�

�LQFOXGH��VWGLR�K!�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^LQW�E�F�LQW�EU E� ��EU�UHIHULQ ��OD�DOW� YDULDELO� �E�EU ��FRXW���E ���E��?Q� ��E �FRXW���EU ���EU��?Q� ��EU �FRXW���$GU��EU�HVWH����EU� ��$GU��EU�HVWH��[III�SULQWI��$GU��E�HVWH����E��?Q� ��$GU��E�HVWH��[III�E ����FRXW���EU ���EU��?Q� ��EU ��FRXW���E ���E��?Q����� ��E ��F EU��FRXW���F ���F��?Q���� ��F ��`

([HPSOXO�GHYHQLW�FODVLF�SHQWUX�H[SOLFDUHD�DSHOXOXL�SULQ�UHIHULQ ��HVWH�FHO�DO�IXQF LHL�GH�SHUPXWDUH��LQWHUVFKLPEDUH��D�GRX� YDULDELOH��)LH�IXQF LD�VFKLPE GHILQLW� DVWIHO�YRLG�VFKLPE��GRXEOH�[��GRXEOH�\�^�GRXEOH�W [��[ \��\ W��`YRLG�PDLQ��^�GRXEOH�D �����E �������������������������VFKLPE�D��E�� ���DSHO�IXQF LH�����������������������`3HQWUX� FD� IXQF LD�GH� LQWHUVFKLPEDUH� V� SRDW� SHUPXWD�YDORULOH�SDUDPHWULORU�HIHFWLYL�� vQ� OLPEDMXO�&�&���SDUDPHWULL�IRUPDOL�WUHEXLH�V� ILH�SRLQWHUL�F�WUH�YDORULOH FDUH�WUHEXLH�LQWHUVFKLPEDWH�YRLG�SVFKLPE�GRXEOH� [��GRXEOH� \�^�LQW�W [�� [ \�� \ W��`YRLG�PDLQ��^�GRXEOH�D �����E ��������������������������SVFKLPE�D��E�� ���DSHO�IXQF LH� �6$8�GRXEOH� SD�� SE�SD D��SE E�SVFKLPE�SD��SE�� �������������������������`

F

E��EU ������

��

)LJXUD������9DULDELOHOH�UHIHULQ ��E��EU

6H�DWULEXLH�SRLQWHULORU�[ úL�\ YDORULOH�SRLQWHULORU�SD��SE� GHFL�DGUHVHOH�YDULDELOHORU�D úL�E��)XQF LD�SVFKLPESHUPXW� YDORULOH�VSUH�FDUH�SRLQWHD]�SRLQWHULL�[ úL�\��GHFL�YDORULOH�OXL�D úL�E�ILJXUD�������

3DUDPHWUL�IXQF LHL�VFKLPE VXQW�WUDQVPLúL�SULQ�YDORDUH��SDUDPHWULORU�IRUPDOL�[��\ OL�VH�DWULEXLH��OD�DSHO��YDORULOH�SDUDPHWULORU�HIHFWLYL�D��E��)XQF LD�VFKLPE SHUPXW�YDORULOH�SDUDPHWULORU�IRUPDOL�[ úL�\��GDU�SHUPXWDUHD�QX�DUH�HIHFW�DVXSUD�SDUDPHWULORU�HIHFWLYL�D úL�E�

Page 88: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

ÌQ�OLPEDMXO�&���DFFHDúL�IXQF LH�GH�SHUPXWDUH�VH�SRDWH�GHILQL�FX�SDUDPHWUL�IRUPDOL�GH� WLS�UHIHULQ ���YRLG�UVFKLPE�GRXEOH�[��GRXEOH�\�^�LQW�W [��[ \��\ W��`YRLG�PDLQ��^�GRXEOH�D �����E ���������������������������������UVFKLPE�D��E�� ���DSHO�IXQF LH�������������������������������`

ÌQ�DFHVW�FD]��[� úL�\� VXQW� VLQRQLPH�FX�D�úL�E��QXPH�GLIHULWH�SHQWUX�DFHOHDúL�JUXSX UL�GH� ORFD LL�GH�PHPRULH��� ,QWHUVFKLPEDUHD� YDORULORU� YDULDELOHORU� GH� [� úL� \� vQVHDPQ� LQWHUVFKLPEDUHD� YDORULORU�YDULDELOHORU�D�úL�E��ILJ���������&RPSDUkQG�IXQF LLOH�SVFKLPE úL�UVFKLPE��VH�REVHUY� F� GLIHUHQ D�GLQWUH�HOH�FRQVW� vQ�PRGXO�GH�GHFODUDUH�D�SDUDPHWULORU�IRUPDOL��ÌQ�FD]XO�IXQF LHL�SVFKLPE SDUDPHWULL�IRUPDOL�VXQW�SRLQWHUL �GH�WLS� GRXEOH��� vQ� FD]XO� IXQF LHL� UVFKLPE�� SDUDPHWULL� IRUPDOL� VXQW� UHIHULQ H F�WUH� GDWH� GH� WLS�GRXEOH�� ÌQ� FD]XO� WUDQVIHUXOXL� SDUDPHWULORU� SULQ� UHIHULQ ��� SDUDPHWULL� IRUPDOL� DL� IXQF LHL� UHIHU�DFHOHDúL�ORFD LL�GH�PHPRULH��VXQW�VLQRQLPH�SHQWUX��SDUDPHWULL�HIHFWLYL�&RPSDUkQG�FHOH�WUHL�PRGXUL�GH�WUDQVPLWHUH�D�SDUDPHWULORU�F�WUH�R�IXQF LH��VH�SRDWH�REVHUYD��� /D�DSHOXO�SULQ�YDORDUH WUDQVIHUXO�GDWHORU�HVWH�XQLGLUHF LRQDO��DGLF� YDORULOH�VH�WUDQVIHU� QXPDL�

GH� OD� IXQF LD� DSHODQW� F�WUH� FHD� DSHODW��� /D� DSHOXO� SULQ� UHIHULQ � WUDQVIHUXO� GDWHORU� HVWH�ELGLUHF LRQDO�� GHRDUHFH� R� PRGLILFDUH� D� SDUDPHWULORU� IRUPDOL� GHWHUPLQ� PRGLILFDUHD�SDUDPHWULORU� HIHFWLYL�� FDUH� VXQW� VLQRQLPH� �DX� QXPH� GLIHULWH�� GDU� UHIHU� DFHOHDúL� ORFD LL� GH�PHPRULH��

�� /D�WUDQVPLWHUHD�SDUDPHWULORU�SULQ�YDORDUH��FD�SDUDPHWULL�HIHFWLYL�SRW�DSDUH� H[SUHVLL VDX�QXPH�GH� YDULDELOH�� /D� WUDQVPLWHUHD� SDUDPHWULORU� SULQ� UHIHULQ ��� FD� SDUDPHWUL� HIHFWLYL� QX� SRW� DSDUH�H[SUHVLL��FL�GRDU�QXPH�GH�YDULDELOH��/D� WUDQVPLWHUHD�SDUDPHWULORU� SULQ�SRLQWHUL��FD�SDUDPHWUL�HIHFWLYL�SRW�DSDUH�H[SUHVLL�GH�SRLQWHUL�

�� 7UDQVPLWHUHD�SDUDPHWULORU�XQHL�IXQF LL�SULQ�UHIHULQ ��HVWH�VSHFLILF� OLPEDMXOXL�&����� /LPEDMXO� &� HVWH� QXPLW� OLPEDMXO� DSHOXOXL� SULQ� YDORDUH�� $SHOXO� SRDWH� GHYHQL�� vQV��� DSHO� SULQ�UHIHULQ � vQ�FD]XO�YDULDELOHORU�VLPSOH��IRORVLQG�SRLQWHUL��VDX�DúD�FXP�YRP�YHGHD�vQ�SDUDJUDIXO�������vQ�FD]XO�vQ�FDUH�SDUDPHWUX�HIHFWLY�HVWH�XQ�WDEORX��

�� ÌQ�OLPEDMXO�&���VH�SRDWH�DOHJH��SHQWUX�ILHFDUH�SDUDPHWUX��WLSXO�GH�DSHO��SUL Q�YDORDUH�VDX�SULQ�UHIHULQ ���DúD�FXP�LOXVWUHD]� H[HPSOHOH�XUP�WRDUH�

([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP�úL�V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD��LQFOXGH��LRVWUHDP�K!�LQFOXGH��VWGLR�K!GRXEOH�IXQF�LQW�D��GRXEOH�E��GRXEOH� F��GRXEOH�G�

SVFKLPEDE���

[ \DX[

PDLQD

E

��������

��������

)LJXUD�������7UDQVIHUXO�SDUDPHWULORU�SULQ�SRLQWHUL

UVFKLPE���DX[

PDLQ[��

\�E

���������

��������

)LJXUD�������7UDQVIHUXO�SDUDPHWULORU�SULQ�UHIHULQ �

Page 89: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

^FRXW��� �IXQF� ?Q��FRXW���D ���D����E ���E� ��D ���D W�SULQ�YDO���E ����E X�SULQ�YDO�FRXW����F ���F���� F ��� F��?Q� ���F IIH�F Z X�� F ��FRXW����G ���G� ��G ��FRXW���$GU�G ���G��?Q� ��$GU�G IIH���DGU�G DGU�Y�D� ���FRXW���D ���D��?Q� ��D �G � D�E��FRXW���G ���G��?Q� ��G ��� F ����FRXW����F ���F���� F ��� F��?Q� ���F IIH�F Z X�� F �� �FRXW��� �IXQF� ?Q��UHWXUQ�E�� F��`YRLG PDLQ��^FRXW���?Q?Q�?Q�0$,1�0$,1��LQW�W ���GRXEOH�X ����Y ���� Z��]��FRXW���X ���X��?Q� ��X ��Z X�� Z ���FRXW���W ���W����X ���X����Y ���Y� ��W ��X ���Y ��� Z ��FRXW���� Z ��� Z����X ���X��?Q� �� Z ���X ��SULQWI��Z �[�$GU��X �[?Q��Z�X�� ��Z IIHH�$GU��X IIHHSULQWI��Y �I�$GU�Y �[?Q��Y�Y�� ��Y �������$GU�Y IIH�] IXQF�W�X�Z��Y��FRXW���W ���W���X ���X���Y ���Y� ��W �� X ��� �1(6&+,0%$7,�� Y ����Y G�FRXW���� Z ��� Z����] ���]��?Q� �� Z ���Z IIHH�] ��SULQWI���Z �[?Q��Z��`

([HPSOXO�LOXVWUHD]� XUP�WRDUHOH�SUREOHPH�/D� DSHOXO� IXQF LHL�IXQF�� SDUDPHWULL� W úL�X VXQW� WUDQVPLúL� SULQ� YDORDUH�� GHFL� YDORULOH� ORU� YRU� IL�DWULEXLWH�SDUDPHWULORU� IRUPDOL� D úL�E��2ULFH�PRGLILFDUH� D�SDUDPHWULORU� IRUPDOL� D úL�E�� vQ� IXQF LD�IXQF��QX�YD�DYHD�HIHFW�DVXSUD�SDUDPHWULORU�HIHFWLYL�W úL�X��$O�WUHLOHD�SDUDPHWUX�IRUPDO�DO�IXQF LHL�IXQF HVWH�WUDQVPLV�SULQ�SRLQWHUL��GHFL�F HVWH�GH�WLS�GRXEOH� �SRLQWHU�F�WUH�XQ�UHDO���VDX� F HVWH�GH�WLS�GRXEOH��/D�DSHOXO�IXQF LHL��YDORDUHD�SRLQWHUXOXL�Z �DGUHVD�OXL�X���Z X��HVWH�DWULEXLW� SRLQWHUXOXL�F��'HFL�SRLQWHULL�Z úL�F FRQ LQ�DFHHDúL�DGUHV��� SRLQWkQG�F�WUH�XQ� UHDO��'DF� V�DU�PRGLILFD�YDORDUHD� VSUH�FDUH�SRLQWHD]� F vQ�IXQF �YH]L� LQVWUXF LXQLOH�GLQ�FRPHQWDULX� F ������ DFHDVW� PRGLILFDUH� DU� IL�UHIOHFWDW� úL� vQ�IXQF LD�DSHODQW���GHRDUHFH�SRLQWHUXO�Z DUH�DFHODúL FRQ LQXW�FD�úL�SRLQWHUXO�F��GHFL�SRLQWHD]� F�WUH�DFHHDúL�ORFD LH�GH�PHPRULH��3DUDPHWUXO�IRUPDO�G VH�WUDQVPLWH�SULQ�UHIHULQ ���GHFL��vQ�PRPHQWXO�DSHOXOXL��G úL�Y GHYLQ�VLPLODUH��G úL�Y VXQW�PHPRUDWH�OD�DFHHDúL�DGUHV����0RGLILFDUHD�YDORULL�YDULDELOHL�G vQ�IXQF VH�UHIOHFW���GHFL��úL�DVXSUD�SDUDPHWUXOXL�HIHFWLY�GLQ IXQF LD�PDLQ��([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP��FDUH�LOXVWUHD]� OHJ�WXUD�GLQWUH�SRLQWHUL�úL�YHFWRUL��úL�V�VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��VWGLR�K!GRXEOH�RPHJD�ORQJ�N�^SULQWI��$GU�N �[�9DO�N �OG?Q��N�N�� ��$GU� N III�� 9DO�N ������GRXEOH�V ��N���FRXW���V ���V��?Q� ��V ������

Page 90: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

N� ���SULQWI��$GU�N �[�9DO�N �OG?Q��N�N�� ��$GU� N III�� 9DO�N ������UHWXUQ�V�`YRLG�PDLQ��^ORQJ�D �������SULQWI��$GU�D �[�9DO�D �OG?Q��D�D�� ��$GU�D III��9DO�D ������GRXEOH�Z RPHJD�D���FRXW���Z ���Z��?Q� ��V ������`

$úD�FXP�V�D�SUH]HQWDW�vQ�SDUDJUDIHOH����������úL�������PRGLILFDWRULL�VXQW�FXYLQWH�FKHLH�XWLOL]D L�vQ�GHFODUD LL�VDX�GHILQL LL�GH�YDULDELOH�VDX�IXQF LL��0RGLILFDWRUXO�GH�DFFHV�FRQVW SRDWH�DSDUH�vQ�� 'HFODUD LD�XQHL�YDULDELOH��SUHFHGH�WLSXO�YDULDELOHL��UHVWULF LRQkQG�PRGLILFDUHD�YDORULL�GDWHL�� /D�GHFODUDUHD�YDULDELOHORU�SRLQWHUL�GHILQLQG�SRLQWHUL�FRQVWDQ L�F�WUH�GDWH�QHFRQVWDQWH��SRLQWHUL�

QHFRQVWDQ L�F�WUH�GDWH�FRQVWDQWH�úL�SRLQWHUL�FRQVWDQ L�F�WUH�GDWH�FRQVWDQWH�� ÌQ� OLVWD�GHFODUD LLORU�SDUDPHWULORU� IRUPDOL�DL�XQHL� IXQF LL��FRQGXFkQG�OD�LPSRVLELOLWDWHD�GH�D�

PRGLILFD�YDORDUHD�SDUDPHWUXOXL�UHVSHFWLY�vQ�FRUSXO�IXQF LHL��FD�vQ�H[HPSOXO�XUP�WRU�([HPSOX�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��VWGLR�K!LQW�IXQF�FRQVW�LQW D�^SULQWI��$GU�D �[�9DO�D �G?Q��D�D��LQW�E � D�����PRGLILFDUHD�YDORULL�SDUDPHWUXOXL�D QX�HVWH�SHUPLV�FRXW���E ���E��?Q�UHWXUQ�E�`YRLG�PDLQ��^FRQVW�LQW�F ���LQW�X�SULQWI��$GU�F �[�9DO�F �G?Q��F�F��X IXQF�F��FRXW���X ���X��?Q��`

�������75$16)(58/�3$5$0(75,/25�&�75(�)81&�,$�PDLQÌQ�VLWXD LLOH�vQ�FDUH�VH�GRUHúWH�WUDQVPLWHUHD�D�XQRU�LQIRUPD LL��RS LXQL��GDWH�LQL LDOH��HWF��F�WUH�XQ�SURJUDP�� OD�ODQVDUHD�vQ�H[HFX LH D�DFHVWXLD��HVWH�QHFHVDU� GHILQLUHD�XQRU�SDUDPHWUL�F�WUH�IXQF LD�PDLQ�� 6H� XWLOL]HD]� WUHL� SDUDPHWULL� VSHFLDOL�� DUJF�� DUJY úL� HQY�� 7UHEXLH� LQFOXV� KHDGHUXO�VWGDUJ�K�3URWRWLSXO�IXQF LHL�PDLQ�FX�SDUDPHWUL�vQ�OLQLD�GH�FRPDQG� HVWH�

PDLQ��LQW�DUJF��FKDU� DUJY>�@��FKDU� HQY>�@�'DF� QX VH� OXFUHD]� FX�XQ�PHGLX�GH�SURJUDPDUH� LQWHJUDW�� DUJXPHQWHOH� WUDQVPLVH� F�WUH� IXQF LD�PDLQ�WUHEXLH�HGLWDWH��VSHFLILFDWH��vQ�OLQLD�GH�FRPDQG� SULQ�FDUH�VH�ODQVHD]� vQ�H[HFX LH�SURJUDPXO�UHVSHFWLY��/LQLD�GH�FRPDQG� WDVWDW� OD�ODQVDUHD�vQ�H[HFX LH�D�SURJUDPXOXL�HVWH�IRUPDW� GLQ�JUXSXUL�GH�FDUDFWHUH�GHOLPLWDWH�GH�VSD LX�VDX�WDE��)LHFDUH�JUXS�HVWH�PHPRUDW�vQWU�XQ�úLU�GH�FDUDFWHUH��'DF�VH� OXFUHD]� FX�XQ�PHGLX� LQWHJUDW� �GH�H[HPSOX��%RUODQG&���VHOHF LD�FRPDQ]LL�$UJXPHQWV« GLQ�PHQLXO� 5XQ GHWHUPLQ� DILúDUHD� XQHL� FDVHWH� GH� GLDORJ� vQ� FDUH� XWLOL]DWRUXO� SRDWH� LQWURGXFH�DUJXPHQWHOH�IXQF LHL�PDLQ�� $GUHVHOH� GH� vQFHSXW� DOH� DFHVWRU úLUXUL� VXQW� PHPRUDWH� vQ� WDEORXO� GH� SRLQWHUL� DUJY>@�� vQ�

RUGLQHD�vQ�FDUH�DSDU�vQ�OLQLD�GH�FRPDQG� �DUJY>�@ PHPRUHD]� DGUHVD�úLUXOXL�FDUH�FRQVWLWXLH�QXPHOH�SURJUDPXOXL��DUJY>�@ � DGUHVD�SULPXOXL�DUJXPHQW��HWF����

Page 91: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

� 3DUDPHWUXO�vQWUHJ�DUJF PHPRUHD]� QXP�UXO�GH�HOHPHQWH�GLQ�WDEORXO�DUJY��DUJF! ����� 3DUDPHWUXO� HQY>@ HVWH� XQ� WDEORX� GH� SRLQWHUL� F�WUH� úLUXUL� GH� FDUDFWHUH� FDUH� SRW� VSHFLILFD�

SDUDPHWUL�DL�VLVWHPXOXL�GH�RSHUDUH�)XQF LD�PDLQ SRDWH�UHWXUQD�R�YDORDUH�vQWUHDJ���ÌQ�DFHVW�FD]�vQ�DQWHWXO�IXQF LHL�VH�VSHFLILF� OD�WLSXO�YDORULL� UHWXUQDWH�LQW� VDX� �QX�VH�VSHFLILF� QLPLF��LPSOLFLW�� WLSXO�HVWH� LQW��� LDU� vQ�FRUSXO�IXQF LHL�DSDUH� LQVWUXF LXQHD� UHWXUQ� YDORDUHBLQWUHDJ���� 1XP�UXO� UHWXUQDW� HVWH� WUDQVIHUDW� VLVWHPXOXL� GH�RSHUDUH� �SURJUDPXO� DSHODQW�� úL� SRDWH� IL� WUDWDW� FD� XQ� FRG� GH� HURDUH� VDX� GH� VXFFHV� DO� vQFKHLHULL�H[HFX LHL�SURJUDPXOXL��([HUFL LX� 6� VH� LPSOHPHQWH]H� XQ� SURJUDP� FDUH� DILúHD]� DUJXPHQWHOH� WUDQVPLVH� F�WUH� IXQF LD�PDLQ��

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��VWGDUJ�K!YRLG�PDLQ�LQW�DUJF��FKDU� DUJY>@��FKDU� HQY>@�^FRXW���1XPH�SURJUDP����DUJY>�@��?Q���DUJY>�@�FRQWLQH�QXPHOH�SURJUDPXOXLLI�DUJF ��

FRXW���/LSVD�DUJXPHQWH�?Q��HOVH

IRU��LQW�L ���L�DUJF��L���^FRXW���$UJXPHQWXO����L�������DUJY>L@��?Q�

`

������7$%/285,�&$�3$5$0(75,ÌQ� OLPEDMXO� &�� FD]XO� SDUDPHWULORU� WDEORX� FRQVWLWXLH� R� H[FHS LH� GH� OD� UHJXOD� WUDQVIHUXOXL�SDUDPHWULORU� SULQ� YDORDUH�� 1XPHOH� XQXL� WDEORX� UHSUH]LQW��� GH� IDSW�� DGUHVD� WDEORXOXL�� GHFL� D�SULPXOXL�HOHPHQW�GLQ�WDEORX��([HUFL LX� 6� VH�DIOH�HOHPHQWXO�PLQLP�GLQWU�XQ�YHFWRU�GH�PD[LP����HOHPHQWH��6H�YRU�VFULH�GRX�IXQF LL��GH�FLWLUH�D�HOHPHQWHORU�YHFWRUXOXL�úL��GH�DIODUH�D�HOHPHQWXOXL�PLQLP�

�LQFOXGH��LRVWUHDP�K!LQW�PLQBWDE�LQW�D>@��LQW�QUBHOHP�^LQW�HOP D>�@�IRU��LQW�LQG ���LQG�QUBHOHP��LQG���

LI��HOP! D>LQG@� HOP D>LQG@�UHWXUQ�HOP�`YRLG�FLWLUH9HFWRU�LQW�E>@��LQW�QUBHO�^�IRU��LQW�LQG ���LQG�QUBHO��LQG���^

FRXW���(OHP����LQG����� ���FLQ!!E>LQG@�``YRLG�PDLQ��^LQW�D>��@��LQW�L�M�Q��FRXW���Q ���FLQ!!Q�FLWLUH9HFWRU�D�Q��LQW�PLQ PLQBWDE�D�Q���FRXW���(OHP��PLQ����PLQ��?Q��`

$FHOHHDúL�SUREOHP� SRDWH�IL�LPSOHPHQWDW� IRORVLQG�DULWPHWLFD�SRLQWHULORU��LQFOXGH��LRVWUHDP�K!YRLG�FLWLUH9HFWRU�LQW� E��LQW�QUBHO�

Page 92: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

^�IRU��LQW�LQG ���LQG�QUBHO��LQG���^FRXW���(OHP����LQG����� ���FLQ!! E�LQG�LQG��`

`LQW�PLQBWDE�LQW� D��LQW�QUBHOHP�^LQW�HOP D�IRU��LQW�LQG ���LQG�QUBHOHP��LQG���

LI���HOP! �D�LQG��� HOP �D�LQG��UHWXUQ�HOP�`YRLG�PDLQ��^LQW�D>��@��LQW�L�M�Q��FRXW���Q ���FLQ!!Q�FLWLUH9HFWRU�D��Q��LQW�PLQ PLQBWDE�D�Q��FRXW���(OHP��PLQ����PLQ��?Q�`

'LQ�H[HPSOHOH�DQWHULRDUH�VH�SRDWH�REVHUYD��� 3URWRWLSXO�IXQF LHL�PLQBWDE�SRDWH�IL�XQXO�GLQWUH�

LQW�PLQBWDE�LQW�D>@��LQW�QUBHOHP��LQW�PLQBWDE�LQW� D��LQW�QUBHOHP��

�� (FKLYDOHQ H�LQW� D�� � LQW�D>@D>L@� � �D�L�

�� $SHOXO�IXQF LLORU�FLWLUH9HFWRU�D�Q��LQW�PLQ PLQBWDE�D�Q��

��� � 3HQWUX� WDEORXULOH� XQLGLPHQVLRQDOH�� OD� DSHO�� QX� WUHEXLH� VSHFLILFDW� QXP�UXO� GH� HOHPHQWH��'LPHQVLXQHD�WDEORXOXL�WUHEXLH�V� ILH�FXQRVFXW� vQ�IXQF LD�FDUH�vO�SULPHúWH�FD�SDUDPHWUX��'H�RELFHL��GLPHQVLXQHD�WDEORXOXL�VH�WUDQVIHU� FD�SDUDPHWUX�VHSDUDW �QUBHOHP��([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP�úL�V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��VWGLR�K!GRXEOH�RPHJD�LQW�M��GRXEOH�[��GRXEOH�W>@��GRXEOH� Z�^GRXEOH�V� FRXW���ÌQ�IXQF LD�RPHJD���FRXW���M ���M����W>M@ ���W>M@����W>M��@ ���W>M��@��?Q���M ��� L�GLQ�PDLQ���W>M@ ������W>M��@ ����FRXW���M ���M����Z>M@ ���Z>M@����Z>M��@ ���Z>M��@��?Q���M ��� L�GLQ�PDLQ���Z>M@ �������Z>M��@ ����W>M@ ���� �W�M��� ���� Z>M@ ���� �Z�M��� ����FRXW���'XS� DWULEXLUL�?Q��FRXW���M ���M����W>M@ ����W>M@����W>M��@ ���W>M��@��?Q���'XS� DWULEXLUL���M ���W>M@ ����W>M��@ �����Z>M@ ����Z>M��@ ���FRXW���M ���M����Z>M@ ���Z>M@����Z>M��@ ���Z>M��@��?Q�LQW�L � M��� [ [����� L� V [�� W>�@�Z>�@�FRXW���L ���L����[ ���[����V ���V��?Q���L ��[ �������������V [�� �������������UHWXUQ�V�

Page 93: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

`YRLG�VZLWFK��GRXEOH� [��GRXEOH� \�^GRXEOH�W [�� [ \�� \ W�`YRLG�VZLWFK��GRXEOH�[��GRXEOH�\�^GRXEOH�W��W [�[ \�\ W�`YRLG�PDLQ��^GRXEOH�D �����E �����X ������LQW�L ��GRXEOH�U>@ ^������������������������������`�GRXEOH�T>@ ^���������������������������������`�FRXW���L ���L����X ���X��?Q�GRXEOH�\ RPHJD�L�X�U�T��FRXW���L ���L����X ���X��?Q���L ��X ����FRXW���RPHJD�L�X�U�T� \ ���\��?Q�FRXW���U>L@ ���U>L@����U>L��@ ���U>L��@���FRXW����T>L@ ���T>L@����T>L��@ ���T>L@��?Q���U>L@ ����U>L��@ ����T>L@ ����T>L��@ ���FRXW���D ���D����E ���E��?Q� ��D ����E ���VZLWFK��D�E��FRXW���5H]��LQWHUVFK��D ���D����E ���E��?Q� ��D ����E ���VZLWFK��D�E��FRXW���5H]��LQWHUVFK��D ���D����E ���E��?Q� ��D ����E ���FRXW���U>L@ ���U>L@����U>L��@ ���U>L��@��?Q�VZLWFK��U�L�U�L����FRXW���5H]��LQWHUVFK��U>L@ ���U>L@����U>L��@ ���U>L��@�� ?Q�VZLWFK��U>L@�U>L��@����VZLWFK�� �U�L�� �U�L�����FRXW���5H]��LQWHUVFK��U>L@ ���U>L@����U>L��@ ���U>L��@��?Q�`

ÌQ� H[HPSOXO� DQWHULRU�� SDUDPHWULL� IRUPDOL� L úL�[ GLQ� IXQF LD�RPHJD VXQW� WUDQVPLúL�SULQ� YDORDUH��SDUDPHWULL�W úL�Z VXQW�SDUDPHWUL� WDEORX��WUDQVPLúL�SULQ�UHIHULQ ���UHIHULQ ��úL�SRLQWHUL���ÌQ�IXQF LD�VZLWFK� SDUDPHWULL� VXQW� WUDQVPLúL� SULQ� SRLQWHUL�� ÌQ� IXQF LD�VZLWFK� SDUDPHWULL� VXQW� WUDQVPLúL�SULQ�UHIHULQ ��3HQWUX�WDEORXULOH�PXOWLGLPHQVLRQDOH��SHQWUX�FD�HOHPHQWHOH�WDEORXOXL�V� SRDW� IL�UHIHULWH�vQ�IXQF LH��FRPSLODWRUXO�WUHEXLH�LQIRUPDW�DVXSUD�PRGXOXL�GH�RUJDQL]DUH�D�WDEORXOXL��3HQWUX� WDEORXULOH�ELGLPHQVLRQDOH �YHFWRUL�GH�YHFWRUL���SRDWH�IL�RPLV� GRDU�SUHFL]DUHD�QXP�UXOXL�GH� OLQLL�� GHRDUHFH� SHQWUX� D� DGUHVD� HOHPHQWXO� D>L@>M@�� FRPSLODWRUXO� XWLOL]HD]� UHOD LD�PDW>L@>M@ PDW��L �1�M� VL]HRI�WLS�� vQ� FDUH�1 UHSUH]LQW� QXP�UXO� GH� FRORDQH��LDU�WLS UHSUH]LQW� WLSXO��WDEORXOXL�([HUFL LX� )LH�R�PDWULFH�GH�PD[LP���� OLQLL� úL����FRORDQH��DOH�F�UHL�HOHPHQWH�VH� LQWURGXF�GH� OD�WDVWDWXU���6� VH�LPSOHPHQWH]H�GRX� IXQF LL�FDUH�DILúHD]� PDWULFHD�úL�FDOFXOHD]� HOHPHQWXO�PLQLP�GLQ�PDWULFH�

�LQFOXGH��LRVWUHDP�K!LQW�PLQBWDE�LQW�D>@>��@��LQW�QUBOLQ��LQW�QUBFRO�^LQW�HOP D>�@>�@�IRU��LQW�LO ���LO�QUBOLQ��LO���

IRU��LQW�LF ���LF�QUBFRO��LF���LI��HOP! D>LO@>LF@��HOP D>LO@>LF@�

Page 94: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

UHWXUQ�HOP�`YRLG�DILVDUH�LQW�D>@>��@��LQW�QUBOLQ��LQW�QUBFRO�^IRU��LQW�L �� L�QUBOLQ��L���

^IRU��LQW�M ���M�QUBFRO��M��� FRXW��D>L@>M@��?W�FRXW��?Q�`

`YRLG�PDLQ��^LQW�PDW>��@>��@�LQW�L��M��0��1�FRXW���1U��OLQLL����FLQ!!0�FRXW���1U��FRORDQH����FLQ!!1�IRU��L ���L�0��L���

IRU��M ���M�1��M���^�FRXW���PDW>���L�������M���@ ���FLQ!!PDW>L@>M@�`

DILVDUH�PDW��0��1��LQW�PLQ PLQBWDE�PDW��0��1��FRXW���(OHP��PLQ����PLQ��?Q�`9DORDUHD� UHWXUQDW� GH�R� IXQF LH�SRDWH� V� ILH� WUDQVPLV� úL�SULQ� UHIHULQ ��� FXP� LOXVWUHD]�H[HPSOXO�XUP�WRU�([HPSOX��LQFOXGH��LRVWUHDP�K!�LQFOXGH �VWGLR�K!GRXEOH�IXQF�GRXEOH�D��GRXEOH�E�^�SULQWI��ÌQ�IXQF LH�?Q���SULQWI��9DO�D �I�$GU�D �[?Q���D��D�� ��9DO�D �����$GU�D IIIHFRXW���E ���E��?Q� ��E ���D � E����SULQWI���'XS� DWULE��YDO�D �I�$GU�D �[?Q���D��D����9DO�D �����$GU�D IIIHUHWXUQ D�`YRLG�PDLQ��^GRXEOH�F ����FRXW��� 0$,1 ?Q��SULQWI��9DO�F �I�$GU�F �[?Q��F��F�� ��9DO�F �����$GU�F IIIHGRXEOH�G��SULQWI��$GU��G �[?Q���G�� ��$GU��G IIH�G IXQF�F������SULQWI��9DO�G �I�$GU�G �[?Q���G��G�� ��9DO�G �����$GU�G IIH�`

������)81&�,,�&8�3$5$0(75,�,03/,&,�,6SUH� GHRVHELUH� GH� OLPEDMXO�&�� vQ� OLPEDMXO�&��� VH� SRW� IDFH� LQL LDOL]�UL� DOH� SDUDPHWULORU� IRUPDOL��3DUDPHWULL�IRUPDOL�LQL LDOL]D L�VH�QXPHVF�SDUDPHWUL�LPSOLFL L��'H�H[HPSOX��DQWHWXO�IXQF LHL�FPPGF��FDUH� FDOFXOHD]� úL� UHWXUQHD]� FHO� PDL� PDUH� GLYL]RU� FRPXQ� DO� QXPHUHORU� vQWUHJL� SULPLWH� FD�DUJXPHQWH��SRDWH�DYHD�DFHDVWD�IRUP��

LQW�FPPGF�LQW�[��LQW�\ ���

Page 95: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

3DUDPHWUXO�IRUPDO�\ HVWH�LQL LDOL]DW�FX�YDORDUHD���úL�HVWH�SDUDPHWUX�LPSOLFLW��/D�DSHOXO�IXQF LLORU�FX� SDUDPHWUL� LPSOLFL L�� XQXL� SDUDPHWUX� LPSOLFLW�� SRDWH� V��L� FRUHVSXQG� VDX� QX� XQ� SDUDPHWUX�HIHFWLY��'DF� OD� DSHO�QX� vL� FRUHVSXQGH�XQ�SDUDPHWUX�HIHFWLY�� DWXQFL�SDUDPHWUXO� IRUPDO�YD�SULPL�YDORDUHD�SULQ�FDUH�D�IRVW�LQL LDOL]DW��YDORDUHD�LPSOLFLW����'DF� OD�DSHO�vL�FRUHVSXQGH�XQ�SDUDPHWUX�HIHFWLY�� SDUDPHWUXO� IRUPDO� YD� IL� LQL LDOL]DW� FX� YDORDUHD� DFHVWXLD�� QHJLMkQGX�VH� DVWIHO� YDORDUHD�LPSOLFLW� D�SDUDPHWUXOXL�IRUPDO��ÌQ�H[HPSOXO�DQWHULRU��OD�DSHOXO� LQW�GLY FPPGF����[ YD�OXD�YDORDUHD����LDU�\ YD�OXD�YDORDUHD����LPSOLFLW���'DF� vQ OLVWD� GH� SDUDPHWUL� IRUPDOL� DL� XQHL� IXQF LL� H[LVW� úL� SDUDPHWUL� LPSOLFL L� úL� SDUDPHWUL�QHLQL LDOL]D L�� SDUDPHWULL� LPSOLFL L� WUHEXLH� V� RFXSH� XOWLPHOH� SR]L LL� vQ� OLVW��� QHILLQG� SHUPLV�LQWHUFDODUHD�DFHVWRUD�SULQWUH�SDUDPHWULL�QHLQL LDOL]D L�

������)81&�,, &8�180�5�9$5,$%,/�'(�3$5$0(75,ÌQ� OLPEDMHOH�&� úL�&��� VH�SRW� GHILQL� IXQF LL� FX� XQ� QXP�U� YDULDELO� GH� SDUDPHWUL�� 3DUDPHWULL� FDUH�WUHEXLH� V� ILH� SUH]HQ L� OD� RULFH� DSHO� DO� IXQF LHL� VH� QXPHVF� SDUDPHWUL� ILFúL�� FHLODO L� VH� QXPHVF�SDUDPHWUL�YDULDELOL��3DUDPHWULL�ILFúL�SUHFHG�SDUDPHWULL�YDULDELOL��3UH]HQ D�SDUDPHWULORU�YDULDELOL�VH�LQGLF� vQ�DQWHWXO�IXQF LHL�SULQ�WUHL�SXQFWH FDUH�VH�VFULX�GXS� XOWLPXO�SDUDPHWUX�IL[�DO�IXQF LHL�'H�H[HPSOX��ILH�DQWHWXO�IXQF LHL�QXPLWH�YkUI�

YRLG�YkUI��LQW�Q��GRXEOH�D������� �)XQF LD�YkUI DUH�GRL�SDUDPHWUL�ILFúL �Q úL�D ��úL�SDUDPHWUL�YDULDELOL��SHQWUX�FDUH�QX�VH�SUHFL]HD]�vQ�SUHDODELO�QXP�UXO�úL�WLSXO��QXP�UXO�úL�WLSXO�SDUDPHWULORU�YDULDELOL�GLIHU� GH�OD�XQ�DSHO�OD�DOWXO��)XQF LLOH�FX�XQ�QXP�U�YDULDELO�GH�SDUDPHWUL�VXQW��GH�RELFHL��IXQF LL�GH�ELEOLRWHF� �H[��SULQWI��VFDQI��úL� VH� GHILQHVF� IRORVLQG� QLúWH�PDFURXUL� VSHFLDOH� FDUH� SHUPLW� DFFHVXO� OD� SDUDPHWULL� YDULDELOL� úL� VH�J�VHVF�vQ�KHDGHUXO�VWGDUJ�K�

������)81&�,,�35('(),1,7(2ULFH�PHGLX�GH�SURJUDPDUH�HVWH�SUHY�]XW�FX�XQD�VDX�PDL PXOWH�ELEOLRWHFL�GH�IXQF LL�SUHGHILQLWH��2ULFH�ELEOLRWHF� HVWH�IRUPDW� GLQ�� ILúLHUHOH�KHDGHU��FRQ LQH�SURWRWLSXULOH�IXQF LLORU��GHFODUD LLOH�GH�YDULDELOH��� ELEOLRWHFD��DUKLYD��SURSULX�]LV� �FRQ LQH�GHILQL LL�GH�IXQF LL��3HQWUX�FD�IXQF LLOH�SUHGHILQLWH�V� SRDW� IL�XWLOL]DWH��ILúLHUHOH�KHDGHU�vQ�FDUH�VH�J�VHVF�SURWRWLSXULOH�DFHVWRUD� WUHEXLH� LQFOXV� vQ� IXQF LD� �SURJUDPXO�� DSHODQW� SULQWU�R� GLUHFWLY� SUHSURFHVRU� �H[HPSOX��LQFOXGH��VWGLR�K!���'HDVHPHQHD��XWLOL]DWRUXO�vúL�SRDWH�FUHD�SURSULLOH�KHDGHUH�SURSULL��3H QWUX�D� SXWHD� XWLOL]D� IXQF LLOH� SURSULL�� HO� WUHEXLH� V� LQFOXG� DFHVWH� KHDGHUH� vQ� SURJUDPXO� DSHODQW��H[HPSOX��LQFOXGH��P\BKHDGHU�K���3HQWUX� IXQF LLOH� SUHGHILQLWH�� DX� IRVW� FUHDWH� ILúLHUH� KHDGHU� RULHQWDWH� SH� DQXPLWH� QXPLWH� WLSXUL� GH�DSOLFD LL�� 'H� H[HPSOX�� IXQF LLOH� PDWHPDWLFH� VH� J�VHVF� vQ� KHDGHUXO� �PDWK�K!�� +HDGHUXO��VWGOLE�K! FDUH�FRQ LQH�IXQF LL�VWDQGDUG��+HDGHUXO��YDOXHV�K! GHILQHúWH�R�VHULH�GH�FRQVWDQWH�VLPEROLFH��H[HPSOX�0$;,17��0$;/21*��FDUH�UHSUH]LQW���vQ�SULQFLSDO��YDORULOH�PD[LPH�úL�PLQLPH�DOH�GLIHULWHORU�WLSXUL�GH�GDWH�

Page 96: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

��������)XQF LL�PDWHPDWLFH �KHDGHUXO��PDWK�K!�)XQF LL�DULWPHWLFH

9DORUL�DEVROXWHLQW�DEV�LQW�[��

5HWXUQHD]� XQ�vQWUHJ�FDUH�UHSUH]LQW� YDORDUHD�DEVROXW� D�DUJXPHQWXOXL�ORQJ�LQW�ODEV�ORQJ�LQW�[��

$QDORJ�FX�IXQF LD�DEV��FX�GHRVHELUHD�F� DUJXPHQWXO�úL�YDORDUHD�UHWXUQDW� VXQW�GH�WLS�ORQJ�LQW�

GRXEOH�IDEV�GRXEOH�[��5HWXUQHD]� XQ�UHDO�FDUH�UHSUH]LQW� YDORDUHD�DEVROXW� D�DUJXPHQWXOXL�UHDO�

)XQF LL�GH�URWXQMLUHGRXEOH�IORRU�GRXEOH�[��5HWXUQHD]� XQ� UHDO� FDUH� UHSUH]LQW� FHO�PDL� DSURSLDW� QXP�U�� I�U� ]HFLPDOH��PDL�PLF�VDX�HJDO�FX�[��URWXQMLUH�SULQ�OLSV���

GRXEOH�FHLO�GRXEOH�[��5HWXUQHD]� XQ� UHDO� FDUH� UHSUH]LQW� FHO�PDL� DSURSLDW� QXP�U�� I�U� ]HFLPDOH��PDL�PDUH�VDX�HJDO�FX�[��URWXQMLUH�SULQ�DGDRV��

)XQF LL�WULJRQRPHWULFHGRXEOH�VLQ�GRXEOH�[��5HWXUQHD]� YDORDUHD�OXL�VLQ�[���XQGH�[�HVWH�GDW�vQ�UDGLDQL��1XP�UXO�UHDO�UHWXUQDW�VH�DIO� vQ�LQWHUYDOXO�>�����@�

GRXEOH�FRV�GRXEOH�[��5HWXUQHD]� YDORDUHD�OXL�FRV�[���XQGH�[�HVWH�GDW�vQ�UDGLDQL��1XP�UXO�UHDO�UHWXUQDW�VH�DIO� vQ�LQWHUYDOXO�>�����@�

GRXEOH�WDQ�GRXEOH�[��5HWXUQHD]� YDORDUHD�OXL�WJ�[���XQGH�[�HVWH�GDW�vQ�UDGLDQL��

)XQF LL�WULJRQRPHWULFH�LQYHUVHGRXEOH�DVLQ�GRXEOH�[��

5HWXUQHD]� YDORDUHD� OXL� DUFVLQ�[��� XQGH� [� VH� DIO� vQ� LQWHUYDOXO� >���� �@��1XP�UXO�UHDO�UHWXUQDW��vQ�UDGLDQL��VH�DIO� vQ LQWHUYDOXO�>�SL����SL��@�

GRXEOH�DFRV�GRXEOH�[��5HWXUQHD]� YDORDUHD� OXL�DUFFRV�[���XQGH�[�VH�DIO� vQ� LQWHUYDOXO� >�����@��1XP�UXO�UHDO�UHWXUQDW�VH�DIO� vQ�LQWHUYDOXO�>���SL@�

GRXEOH�DWDQ�GRXEOH�[��5HWXUQHD]� YDORDUHD�OXL�DUFWJ�[���XQGH�[�HVWH�GDW�vQ�UDGLDQL��1XP�UXO�UHDO�UHWXUQDW�VH�DIO� vQ�LQWHUYDOXO�>���SL@�

GRXEOH�DWDQ��GRXEOH�\��GRXEOH�[��5HWXUQHD]� YDORDUHD�OXL�WJ�\�[���FX�H[FHS LD�IDSWXOXL�FD�VHPQHOH�DUJXPHQWHORU�[�úL�\� SHUPLW� VWDELOLUHD� FDGUDQXOXL� úL� [� SRDWH� IL� ]HUR�� 9DORDUHD� UHWXUQDW� VH� DIO� vQ�LQWHUYDOXO� >�SL�SL@�� 'DF� [� úL� \� VXQW� FRRUGRQDWHOH� XQXL� SXQFW� vQ� SODQ�� IXQF LD�UHWXUQHD]� YDORDUHD� XQJKLXOXL� IRUPDW� GH� GUHDSWD� FDUH� XQHúWH� RULJLQHD� D[HORU�FDUWH]LHQH� FX�SXQFWXO�� ID �� GH� D[D� DEVFLVHORU�� )XQF LD� IRORVHúWH�� GHDVHPHQHD�� OD�WUDQVIRUPDUHD�FRRUGRQDWHORU�FDUWH]LQH�vQ�FRRUGRQDWH�SRODUH�

)XQF LL�H[SRQHQ LDOH�úL�ORJDULWPLFHGRXEOH�H[S�GRXEOH�[���ORQJ�GRXEOH�H[S�ORQJ�GRXEOH�[��

Page 97: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

5HWXUQHD]� YDORDUHD�H [ �GRXEOH�ORJ�GRXEOH�[��

5HWXUQHD]� ORJDULWPXO�QDWXUDO�DO�DUJXPHQWXOXL����OQ�[�����GRXEOH�ORJ���GRXEOH [��

5HWXUQHD]� ORJDULWPXO�]HFLPDO�DO�DUJXPHQWXOXL���OJ��[�����GRXEOH�SRZ�GRXEOH�ED]D��GRXEOH�H[SRQHQW��

5HWXUQHD]� XQ� UHDO� FDUH� UHSUH]LQW� UH]XOWDWXO� ULGLF�ULL� ED]HL� OD� H[SRQHQW��ED]D RQHQWH[S ��

GRXEOH�VTUW�GRXEOH�[��5HWXUQHD]� U�G�FLQD�S�WUDW� D�DUJXPHQWXOXL [ �GRXEOH�K\SRW�GRXEOH�[��GRXEOH�\��

)XQF LD� GLVWDQ HL� HXFOLGLHQH� � UHWXUQHD]� �� \[ � �� GHFL� OXQJLPHD� LSRWHQX]HL�XQXL�WULXQJKL�GUHSWXQJKLF��VDX�GLVWDQ D�SXQFWXOXL�3�[��\��ID ��GH�RULJLQH�

)XQF LL�GH�JHQHUDUH�D�QXPHUHORU�DOHDWRDUHLQW�UDQG�YRLG� �VWGOLE�K!

*HQHUHD]� XQ�QXP�U�DOHDWRU�vQ�LQWHUYDOXO�>���5$1'B0$;@���������)XQF LL�GH�FODVLILFDUH��WHVWDUH��D�FDUDFWHUHORU����� $X� SURWRWLSXO� vQ� KHDGHUXO� �FW\SH�K!�� 7RDWH� DFHVWH� IXQF LL� SULPHVF� FD� DUJXPHQW� XQ�

FDUDFWHU� úL� UHWXUQHD]� XQ� QXP�U� vQWUHJ� FDUH� HVWH� SR]LWLY� GDF� DUJXPHQWXO� vQGHSOLQHúWH� R�DQXPLW� FRQGL LH��VDX�YDORDUHD�]HUR�GDF� DUJXPHQWXO�QX�vQGHSOLQHúWH�FRQGL LD�LQW�LVDOQXP�LQW�F��

5HWXUQHD]� YDORDUH� vQWUHDJ� SR]LWLY� GDFD� DUJXPHQWXO� HVWH� OLWHU� VDX� FLIU���(FKLYDOHQW� FX��LVDOSKD�F�__LVGLJLW�F�

LQW�LVDOSKD�LQW�F��7HVWHD]� GDF� DUJXPHQWXO� HVWH� OLWHU� PDUH� VDX� PLF��� (FKLYDOHQW� FX�LVXSSHU�F�__�LVORZHU�F��

LQW�LVFQWUO�LQW�F��7HVWHD]� GDF� DUJXPHQWXO�HVWH�FDUDFWHU�GH�FRQWURO��QHLPSULPDELO��

LQW�LVGLJLW�LQW�F��7HVWHD]� GDF� DUJXPHQWXO�HVWH�FLIU��

LQW�LV[GLJLW�LQW�F��7HVWHD]� GDF� DUJXPHQWXO�HVWH�FLIU� KH[DJHVLPDO� ������D�I��$�)��

LQW�LVORZHU�LQW�F��7HVWHD]� GDF� DUJXPHQWXO�HVWH�OLWHU� PLF��

LQW�LVXSSHU�LQW�F��7HVWHD]� GDF� DUJXPHQWXO�HVWH�OLWHU� PDUH�

LQW�LVSXQFW�LQW�F��7HVWHD]� GDF� DUJXPHQWXO� HVWH� FDUDFWHU� GH� SXQFWXD LH� �FDUDFWHU�

LPSULPDELO��GDU�QX�OLWHU� VDX�VSD LX��LQW�LVVSDFH�LQW�F��

7HVWHD]� GDF� DUJXPHQWXO�HVWH�VSD LX�DOE������?Q��?W��?Y��?U�LQW�LVSULQW�LQW�F��

7HVWHD]� GDF� DUJXPHQWXO�HVWH�FDUDFWHU�LPSULPDELO��LQFOXVLY�EODQFXO���������)XQF LL�GH�FRQYHUVLH�D�FDUDFWHUHORU �SURWRWLS�vQ��FW\SH�K!�

LQW�WRORZHU�LQW�F��

Page 98: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

)XQF LD� VFKLPE� FDUDFWHUXO�SULPLW� FD� DUJXPHQW�GLQ� OLWHU� PDUH�� vQ� OLWHU�PLF� úL� UHWXUQHD]� FRGXO�$6&,,� DO� OLWHUHL�PLFL�� 'DF� DUJXPHQWXO� QX� HVWH� OLWHU�PDUH��FRGXO�UHWXUQDW�HVWH�FKLDU�FRGXO�DUJXPHQWXOXL�

LQW�WRXSSHU�LQW�F��)XQF LD� VFKLPE� FDUDFWHUXO�SULPLW� FD�DUJXPHQW�GLQ� OLWHU� PLF��� vQ� OLWHU�

PDUH� úL� UHWXUQHD]� FRGXO� DFHVWHLD�� 'DF� DUJXPHQWXO� QX� HVWH� OLWHU� PLF��� FRGXO�UHWXUQDW�HVWH�FKLDU�FRGXO�DUJXPHQWXOXL�

������ )XQF LL�GH�FRQYHUVLH�GLQ�úLU�vQ�QXP �U �GH�FLWLUH�D�XQXL�QXP�U�GLQWU�XQ�úLU��SURWRWLS�vQ��VWGOLE�K!�

ORQJ�LQW�DWRO�FRQVW�FKDU� QSU��)XQF LD�FRQYHUWHúWH�úLUXO�WUDQVPLV�FD�DUJXPHQW��VSUH�FDUH�SRLQWHD]� QSU��

vQWU�XQ� QXP�U� FX� VHPQ�� FDUH� HVWH� UHWXUQDW� FD� R� YDORDUH� GH� WLSXO� ORQJ� LQW�� ùLUXO�SRDWH�FRQ LQH�FDUDFWHUHOH�� VDX����6H�FRQVLGHU� F� QXP�UXO�HVWH�vQ�ED]D����úL� IXQF LD� QX� VHPQDOL]HD]� HYHQWXDOHOH� HURUL� GH� GHS�úLUH� FDUH� SRW� DSDUH� OD�FRQYHUVLD�GLQ�úLU�vQ�QXP�U�

LQW�DWRL�FRQVW�FKDU� VLU��&RQYHUWHVWH�úLUXO�VSUH�FDUH�SRLQWHD]D�VLU vQWU�XQ�QXP�U�vQWUHJ�

GRXEOH�DWRI�FRQVW�FKDU� VLU��)XQF LD� FRQYHUWHVWH� úLUXO� WUDQVPLV� FD� DUJXPHQW� vQWU�XQ� QXP�U� UHDO� FX�

VHPQ��UHWXUQHD]� YDORDUH�GH�WLSXO�GRXEOH���ÌQ�VHFYHQ D�GH�FLIUH�GLQ�úLU�SRDWH�DSDUH�OLWHUD�H VDX�( �H[SRQHQWXO��� XUPDW� GH� FDUDFWHUXO�� VDX�� úL� R� DOW�VHFYHQ ��GH�FLIUH��)XQF LD�QX�VHPQDOHD]� HYHQWXDOHOH�HURUL�GH�GHS�úLUH�FDUH�SRW�DSDUH�

������ )XQF LL�GH�WHUPLQDUH�D�XQXL�SURFHV��SURJUDP��SURWRWLS�vQ��SURFHVV�K!�

YRLG�H[LW�LQW�VWDWXV��7HUPLQ� H[HFX LD� XQXL� SURJUDP�� &RGXO� UHWXUQDW� GH� WHUPLQDUHD� FRUHFW�

HVWH� PHPRUDW� vQ� FRQVWDQWD� VLPEROLF� (;,7B68&&(6�� LDU� FRGXO� GH� HURDUH� � vQ(;,7B)$,/85(�

YRLG�DERUW���7HUPLQ� IRU DW�H[HFX LD�XQXL�SURJUDP�

LQW�V\VWHP�FRQVW�FKDU� FRPDQGD�� SURWRWLS�vQ��V\VWHP�K!3HUPLWH�H[HFX LD�XQHL�FRPHQ]L�'26��VSHFLILFDWH�SULQ�úLUXO�GH�FDUDFWHUH�WUDQVPLV�FD�SDUDPHWUX�������������)XQF LL�GH�LQWUDUH�LHúLUH �SURWRWLS�vQ��VWGLR�K!�

6WUHDPXULOH��IOX[XULOH�GH�GDWH��LPSOLFLWH�VXQW��VWGLQ �ILúLHUXO��GLVSR]LWLYXO�VWDQGDUG�GH�LQWUDUH���VWGRXW �ILúLHUXO�� GLVSR]LWLYXO� VWDQGDUG� GH� LHúLUH��� VWGHUU �ILúLHU� VWDQGDUG� SHQWUX� HURUL���VWGSUQ �ILúLHU�VWDQGDUG�SHQWUX�LPSULPDQW���úL�VWGDX[ �GLVSR]LWLYXO�DX[LOLDU�VWDQGDUG���'H�FkWH�RUL� HVWH� H[HFXWDW� XQ� SURJUDP�� VWUHDPXULOH� LPSOLFLWH� VXQW� GHVFKLVH� DXWRPDW� GH� F�WUH� VLVWHP�� ÌQ�KHDGHUXO��VWGLR�K! VXQW�GHILQLWH�úL�FRQVWDQWHOH�18// �GHILQLW� FD����úL�(2) �VIkUúLW�GH�ILúLHU��GHILQLW� FD�����&75/�=��

LQW�JHWFKDU�YRLG��&LWHúWH�XQ�FDUDFWHU��FX�HFRX��GLQ�ILúLHUXO�VWDQGDUG�GH�LQWUDUH��WDVWDWXU���

LQW�SXWFKDU�LQW�F��$ILúHD]� FDUDFWHUXO� SULPLW� FD� DUJXPHQW� vQ� ILúLHUXO� VWDQGDUG� GH� LHúLUH�

�PRQLWRU��FKDU� JHWV�FKDU� VLU��

Page 99: C++ Tutorial(Romaneste)

� �� �

3DJH��� RI����

&LWHúWH�XQ�úLU�GH�FDUDFWHUH�GLQ�ILúLHUXO�VWDQGDUG�GH�LQWUDUH��SkQ� OD�SULPXO�EODQN�vQWkOQLW�VDX�OLQLH�QRX����5HWXUQHD]� SRLQWHUXO�F�WUH�úLUXO�FLWLW��

LQW�SXWV�FRQVW�FKDU� VLU��$ILúHD]� úLUXO� DUJXPHQW� vQ� ILúLHUXO� VWDQGDUG� GH� LHúLUH� úL� DGDXJ� WHUPLQDWRUXO� GH�úLU�� 5HWXUQHD]� FRGXO� XOWLPXOXL� FDUDFWHU� � DO� úLUXOXL� �FDUDFWHUXO� FDUH� SUHFHGH�18//��VDX����vQ�FD]�GH�HURDUH�

LQW�SULQWI�FRQVW�FKDU� IRUPDW��������)XQF LD�SHUPLWH�VFULHUHD�vQ�ILúLHUXO�VWDQGDUG�GH�LHúLUH��SH�PRQLWRU��D�GDWHORU��vQWU �XQ�

DQXPLW�IRUPDW��)XQF LD�UHWXUQHD]� QXP�UXO�GH�RFWH L��FDUDFWHUH��DILúD L��VDX�±��vQ�FD]XO�XQHL�HURUL�

�� 3DUDPHWUXO�IL[ DO�IXQF LHL�FRQ LQH�� 6XFFHVLXQL�GH�FDUDFWHUH�DILúDWH FD�DWDUH�

([HPSOX��SULQWI��?Q�%XQD�]LXD�?Q?Q´������DILúDUH� %XQD�]LXD�

� 6SHFLILFDWRUL� GH� IRUPDW� FDUH� GHILQHVF� FRQYHUVLLOH� FDUH� YRU� IL� UHDOL]DWH� DVXSUD�GDWHORU�GH�LHúLUH��GLQ�IRUPDWXO�LQWHUQ��vQ�FHO�H[WUHQ��GH�DILúDUH��

�� 3DUDPHWULL� YDULDELOL� DL� IXQF LHL� VXQW� H[SUHVLL�� 9DORULOH� RE LQXWH� vQ� XUPD� HYDOX�ULL�DFHVWRUD�VXQW�DILúDWH�FRUHVSXQ]�WRU�VSHFLILFDWRULORU�GH�IRUPDW�FDUH�DSDU�vQ�SDUDPHWUXO�IL[��'H�RELFHL��SDUDPHWUXO�IL[�FRQ LQH�DWkW�VSHFLILFDWRUL�GH�IRUPDW��FkW�úL�DOWH�FDUDFWHUH��1XP�UXO� úL� WLSXO� SDUDPHWULORU� YDULDELOL� WUHEXLH� V� FRUHVSXQG� VSHFLILFDWRUXOXL� GH�IRUPDW�

8Q�VSHFLILFDWRU�GH�IRUPDW FDUH�DSDUH�vQ�SDUDPHWUXO�IL[�SRDWH�DYHD�XUP�WRDUHD�IRUP���� >�_F_@>VLUBFLIUHBHYHQWXDOBSXQFWB]HFLPDO@�XQDBVDXBGRXDBOLWHUH� ,PSOLFLW�� GDWHOH� VH� FDGUHD]� �DOLQLD]�� OD� GUHDSWD� FkPSXOXL� vQ� FDUH� VH� VFULX�� 3UH]HQ D�FDUDFWHUXOXL�± GHWHUPLQ� FDGUDUHD�OD�VWkQJD�ùLUXO�GH�FLIUH GHILQHúWH�GLPHQVLXQHD�FkPSXOXL� vQ�FDUH�VH�VFULH�GDWD��'DF� VFULHUHD�GDWHL�QHFHVLW� XQ�FkPS�GH� OXQJLPH�PDL�PDUH�� OXQJLPHD� LQGLFDW� vQ�VSHFLILFDWRU�HVWH� LJQRUDW���'DF� VFULHUHD� GDWHL� QHFHVLW� XQ� FkPS� GH� OXQJLPH�PDL�PLF��� GDWD� VH� YD� VFULH� vQ� FkPS��FDGUDW� OD�GUHDSWD�VDX�OD�VWkQJD��GDF� DSDUH�VHPQXO� � ���FRPSOHWkQGX�VH�UHVWXO�FkPSXOXL�FX� FDUDFWHUHOH� QHVHPQLILFDWLYH� LPSOLFLWH�� DGLFD� VSD LL�� ùLUXO� GH� FLIUH� DIODWH� GXSD� SXQFW�GHILQHVF�SUHFL]LD��QXPDUXO�GH�]HFLPDOH�FX�FDUH�HVWH�DILúDW�XQ�QXPDU�UHDO� � LPSOLFLW�VXQW�DILúDWH���]HFLPDOH��/LWHUHOH GHILQHVF�WLSXO�FRQYHUVLHL�DSOLFDW�GDWHL�DILúDWH�F ± $ILúHD]� XQ�FDUDFWHUV ± $ILúHD]� XQ�úLU�GH�FDUDFWHUHG± $ILúHD]� GDWH vQWUHJL��FHOH�QHJDWLYH�VXQW�SUHFHGDWH�GH�VHPQXO���R ± $ILúHD]� GDWH�GH�WLS�LQW�VDX�XQVLJQHG�LQW�vQ�RFWDO�[ VDX�; � $ILúHD]� GDWH�GH�WLS�LQW�VDX�XQVLJQHG�LQW�vQ�KH[DJHVLPDO�I±$ILúHD]� GDWH�GH�WLS�IORDW�VDX�GRXEOH�vQ�IRUPD��SDUWHBvQWUHDJ��SDUWHBIUDFWH VDX�(�$ILúHD]� GDWH�GH�WLS�IORDW�VDX�GRXEOH�vQ�IRUPD�SDUWHBvQWUHDJ��SDUWHBIUDFWLRQDU� H[SRQHQW([SRQHQWXO� vQFHSH� FX� H� VDX� (� úL� GHILQHúWH� R� SXWHUH� D� OXL� ]HFH� FDUH� vQPXO LW� FX� UHVWXO�QXP�UXOXL�G� YDORDUHD�UHDO� D�DFHVWXLD�J VDX�*±$ILúHD]� R�GDW� UHDO� ILH�FD�vQ�FD]XO�VSHFLILFDWRUXOXL�WHUPLQDW�FX�I��ILH�FD�vQ�FD]XO�VSHFLILFDWRUXOXL�WHUPLQDW�FX�H��&ULWHULXO�GH�DILVDUH�VH�DOHJH�DXWRPDW��DVWIHO�vQFkW�DILúDUHD�V �RFXSH�XQ�QXP�U�PLQLP�GH�SR]L LL�vQ�FkPSXO�GH�DILúDUH�O ± 3UHFHGH�XQD�GLQ�OLWHUHOH�G��R��[��;��X��/D DILúDUH�VH�IDF�FRQYHUVLL�GLQ�WLSXO� ORQJ VDX�XQVLJQHG�ORQJ��

Page 100: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

/ ± 3UHFHGH�XQD�GLQ�OLWHUHOH�I��H��(��J��*��/D�DILúDUH�VH�IDF�FRQYHUVLL�GLQ�WLSXO� ORQJ�GRXEOH��LQW�VFDQI�FRQVW�FKDU� IRUPDW��������)XQF LD� FLWHúWH� GLQ� ILúLHUXO� VWDQGDUG� GH� LQWUDUH� YDORULOH� XQRU� YDULDELOH� úL� OH� GHSXQH� vQ�PHPRULH��OD�DGUHVHOH�VSHFLILFDWH��)XQF LD�UHWXUQHD]� QXP�UXO�FkPSXULORU�FLWLWH�FRUHFW��� 3DUDPHWUXO�IL[ DO�IXQF LHL�FRQ LQH��

6SHFLILFDWRULL� GH� IRUPDW� FDUH� GHILQHVF� FRQYHUVLLOH� DSOLFDWH� GDWHORU� GH� LQWUDUH�� GLQ�IRUPDWXO�H[WHUQ�� vQ� FHO� LQWUHQ� �vQ�FDUH�VXQW�PHPRUDWH���6SHFLILFDWRULL�GH�IRUPDW�VXQW�DVHPDQ�WRUL�FHORU�IRORVL L�GH�IXQF LD�SULQWI��F��V��G��R��[ VDX�;��X��I� O��/��

�� 3DUDPHWULL�YDUDLELOL�UHSUH]LQW� R�OLVW� GH�DGUHVH�DOH�YDULDELOHORU�FDUH�YRU�IL�FLWLWH��GHFL�vQ�DFHDVW� OLVW���QXPHOH�XQHL�YDUDLELOH�VLPSOH�YD�IL�SUHFHGDW� GH�RSHUDWRUXO�DGUHV� �

LQW�VSULQWI�FKDU� VLUBFXBIRUPDW��FRQVW�FKDU� IRUPDW��������)XQF LD�SHUPLWH�VFULHUHD�XQRU�GDWH�vQ�úLUXO�WUDQVPLV�FD�SULP�DUJXPHQW��vQWU�XQ�DQXPLW�

IRUPDW��9DORDUHD�UHWXUQDW� UHSUH]LQW� QXP�UXO�GH�RFWH L��FDUDFWHUH��VFULVH�vQ�úLU��VDX�±��vQ�FD]XO�XQHL�HURUL�

LQW�VVFDQI�FKDU� VLUBFXBIRUPDW��FRQVW�FKDU� IRUPDW��������)XQF LD�FLWHúWH�YDORULOH�XQRU�YDULDELOH�GLQ�úLUXO�WUDQVPLV�FD�SULP�DUJXPHQW�úL�OH�GHSXQH�vQ�PHPRULH��OD�DGUHVHOH�VSHFLILFDWH� 5HWXUQHD]� QXP�UXO�FkPSXULORU�FLWLWH�FRUHFW�

([HPSOX� 6� VH� VFULH� XUP�WRUXO� SURJUDP� �FDUH� LOXVWUHD]� PRGDOLW� LOH� GH� IRORVLUH� D� IXQF LLORU�SUHGHILQLWH��úL�V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��VWGOLE�K!�LQFOXGH �PDWK�K!�LQFOXGH��FW\SH�K!�LQFOXGH��VWGLR�K!YRLG�PDLQ��^�LQW�[ ���� LQW�D DEV�[�� FRXW���D ���D��?Q�ORQJ�LQW�\ ��������FRXW���ODEV�\� ���ODEV�\����IDEV�������� ���IDEV����������?Q�FRXW���IDEV������� ���IDEV���������?Q�FRXW��IORRU���������?Q� ����FRXW��IORRU���������?Q� ����FRXW��IORRU����������?Q� �����FRXW��FHLO���������?Q� ����FRXW��FHLO���������?Q� ����FRXW��FHLO����������?Q� �����FRXW��LVDOSKD�����?Q� ���FRXW��LVDOSKD�I���?Q� ��YDO�GLIHULWD�GH�]HURFRXW��LVDOSKD�����?Q� ���FRXW��WRORZHU�'���?Q� �������FRGXO�FDUDFWHUXOXL�G�FRXW��WRXSSHU�D���?Q� ������FRGXO�FDUDFWHUXOXL�$�FKDU�V�>@ ���������K�PN�� FRXW��DWRO�V����?Q� �����FRXW��DWRL�V����?Q� �����FRXW��DWRI�V����?Q� ���������FRXW��DWRI����(����Q����?Q� �������FRXW���(;(&87,$�&20(1=,,�'26�',5?Q�� LQW�FRGBUHW V\VWHP��GLU����FRXW���9DO��FRG�UHWXU ���FRGBUHW�� ?Q�

Page 101: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

LQW�F�FRXW���$VWHSW�FDU����F JHWFKDU��� ��3UHVXSXQHP�FDUDFWHU�LQWURGXV��HFRXW���&DUDFWHUXO�FLWLW�HVWH����SXWFKDU�F�� ��&DUDFWHUXO�FLWLW�HVWH����������� FRGXO�FDUFWHUXOXL�HFRXW��?Q�SXWV�V���FRXW��?Q� SULQWI��$ILVDUHD�XQXL�PHVDM?Q���LQW�LQWUHJ ����SULQWI��9$/2$5($�9$5,$%,/(,�,175(*�(67(��G?Q���LQWUHJ��SULQWI��9$/2$5($�9$5,$%,/(,�,175(*�(67(����G?Q���LQWUHJ��SULQWI��9$/2$5($�9$5,$%,/(,�,175(*�(67(�����G?Q���LQWUHJ��GRXEOH�UHDO �����SULQWI��9$/2$5($�9$5,$%,/(,�UHDO�(67(��I?Q���UHDO��SULQWI��9$/2$5($�9$5,$%,/(,�UHDO�(67(������I?Q���UHDO��SULQWI��9$/2$5($�9$5,$%,/(,�UHDO�(67(������I?Q���UHDO��SULQWI��9$/2$5($�9$5,$%,/(, UHDO�(67(��H?Q���UHDO��SULQWI��9$/�9$5�UHDO��I�VL?QHVWH�PHP��OD�DGU��[?Q��UHDO�UHDO���SULQWI��DVWHSW�VLU����VFDQI���V��V���SULQWI��6LUXO�FLWLW�HVWH���V�?Q���V����FKDU�VLUBI>���@�VSULQWI�VLUBI��&RGXO�FDUDFWHUXOXL��F�HVWH��G��F���LQW�F��SXWV�VLUBI��`

������&/$6(�'(�0(025$5('HILQL LL�

9DULDELOHOH�GHFODUDWH�vQ�DIDUD�RULF�UHL�IXQF LL VXQW YDULDELOHOH�JOREDOH�9DULDELOHOH�GHFODUDWH�vQ�LQWHULRUXO�XQXL�EORF VXQW YDULDELOHOH�ORFDOH�3RU LXQHD� GH� FRG� vQ� FDUH� R� YDULDELO� HVWH� DFFHVLELO� UHSUH]LQW� VFRSXO� �GRPHQLXO� GH�YL]LELOLWDWH��DO YDULDELOHL�UHVSHFWLYH��

3DUDPHWULL�IRUPDOL�DL�XQHL�IXQF LL�VXQW�YDULDELOH�ORFDOH DOH�IXQF LHL�UHVSHFWLYH�'RPHQLXO� GH� YL]LELOLWDWH� DO� XQHL� YDULDELOH� ORFDOH� HVWH� EORFXO� vQ� FDUH� YDULDELOD� UHVSHFWLY � HVWH�GHILQLW��ÌQ� VLWXD LD� vQ� FDUH� QXPHOH� XQHL� YDULDELOH� JOREDOH� FRLQFLGH� FX� QXPHOH� XQHL� YDULDELOH� ORFDOH��YDULDELOD�ORFDO��R �PDVFKHD]���SH�FHD�JOREDO���FD�vQ�H[HPSOXO�XUP�WRU��vQ�LQWHULRUXO�EORFXOXL�GLQ�IXQF LD�PDLQ�V�D�UHGHILQLW�YDULDELOD�D��FDUH�HVWH�YDULDELO� ORFDO� vQ�LQWHULRUXO�EORFXOXL��9DULDELOD�ORFDO� D PDVFKHD]� YDULDEOLOD�JOREDO� QXPLW� WRW�D�([HPSOX�

�LQFOXGH��VWGLR�K!YRLG�PDLQ��^�LQW�D�E��D ���E ��SULQWI��ÌQ�DIDUD�EORFXOXL�D �G�E �G?Q���D��E��

^LQW�D �� E ��SULQWI��ÌQ�LQWHULRUXO�EORFXOXL�D �G�E �G?Q��D�E��`

SULQWI��ÌQ�DIDUD�EORFXOXL�D �G�E �G?Q���D��E��`

Page 102: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

ÌQ� FD]XO� YDULDELOHORU� ORFDOH�� FRPSLODWRUXO� DORF� PHPRULH� vQ� PRPHQWXO� H[HFX LHL� EORFXOXL� VDX�IXQF LHL�vQ�FDUH�DFHVWHD�VXQW�GHILQLWH��&kQG�H[HFX LD�IXQF LHL�VDX�EORFXOXL�VH�WHUPLQ���VH�HOLEHUHD]�PHPRULD�SHQWUX�DFHVWHD�úL�YDORULOH�SHQWUX�YDULDELOHOH�ORFDOH�VH�SLHUG��'HILQL LL�

7LPSXO�GH�YLD ��D�XQHL�YDULDELOH�ORFDOH HVWH�GXUDWD�GH�H[HFX LH�D�EORFXOXL��VDX�D�IXQF LHL��vQ�FDUH�DFHDVWD�HVWH�GHILQLW��7LPSXO�GH�YLD ��D�XQHL�YDULDELOH�JOREDOH HVWH�GXUDWD�GH�H[HFX LH�D�SURJUDPXOXL�

ÌQ� H[HPSOXO XUP�WRU�� YDULDELOD� vQWUHDJ� [ HVWH� YL]LELO� DWkW� vQ� IXQF LD� PDLQ�� FkW� úL� vQ� IXQF LD�IXQF� �[� HVWH� YDULDELOD� JOREDO��� ILLQG� GHILQLW� vQ� H[WHULRUXO� RULF�UHL� IXQF LL���9DULDELOHOH�D úL�EVXQW� YDULDELOH� ORFDOH� vQ� IXQF LD� PDLQ �YL]LELOH� GRDU� vQ�PDLQ��� 9DULDELOHOH� F úL�G VXQW� YDULDELOH�ORFDOH�vQ�IXQF LD�IXQF� �YL]LELOH�GRDU�vQ�IXQF����9DUDELOD�\ HVWH�YDULDELO� H[WHUQ� úL�HVWH�YL]LELO�GLQ�SXQFWXO�vQ�FDUH�D�IRVW�GHILQLW���SkQ� OD�VIkUúLWXO�ILúLHUXOXL�VXUV� �vQ�DFHVW�FD]��vQ�IXQF LD�IXQF���([HPSOX�

LQW�[�YRLG�PDLQ��^LQW�D�E���� � � � � � � � �`LQW�\�YRLG�IXQF��YRLG�^LQW�F�G���� � � � � � � �`

������������ &ODVH�GH�PHPRUDUH2�YDULDELO� VH�FDUDFWHUL]HD]� SULQ��QXPH��WLS��YDORDUH�úL�FODV� GH�PHPRUDUH�&ODVD�GH�PHPRUDUH�VH�VSHFLILF� OD�GHFODUDUHD�YDULDELOHL��SULQ�XQXO�GLQ�XUP�WRDUHOH�FXYLQWH�FKHLH�

� DXWR�� UHJLVWHU�� H[WHUQ�� VWDWLF�

&ODVD�GH�PHPRUDUH�GHWHUPLQ� WLPSXO�GH�YLD ��úL�GRPHQLXO�GH�YL]LELOLWDWH��VFRSXO��XQHL�YDULDELOH��WDEHOXO������([HPSOX�

DXWR�LQW�D�VWDWLF�LQW�[�H[WHUQ�GRXEOH�\�UHJLVWHU�FKDU�F�

� &ODVD�GH�PHPRUDUH�DXWR'DF� R�YDULDELO� ORFDO� HVWH�GHFODUDW� I�U� D�VH�LQGLFD�vQ�PRG�H[SOLFLW�R�FODV� GH�PHPRUDUH��FODVD� GH�PHPRUDUH� FRQVLGHUDW� LPSOLFLW� HVWH�DXWR�� 3HQWUX� DFHD� YDULDELO� VH� DORF� PHPRULH�DXWRPDW�� OD� LQWUDUHD� vQ� EORFXO� VDX� vQ� IXQF LD� vQ� FDUH� HD� HVWH� GHFODUDW��� 'HFL� GRPHQLXO� GH�YL]LELOLWDWH�DO�YDULDELOHL�HVWH�EORFXO�VDX�IXQF LD�vQ�FDUH�DFHDVWD�D�IRVW�GHILQLW���7LPSXO�GH�YLD ��HVWH�GXUDWD�GH�H[HFX LH�D�EORFXOXL�VDX�D�IXQF LHL�

Page 103: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

� &ODVD�GH�PHPRUDUH�UHJLVWHU9DULDELOHOH�GLQ�FODVD�UHJLVWHU�DX�DFHODúL�GRPHQLX�GH�YL]LELOLWDWH�úL�WLPS�GH�YLD ��FD�úL�FHOH�GLQ�FODVD�DXWR��'HRVHELUHD�ID ��GH�YDULDELOHOH�GLQ�FODVD�DXWR�FRQVW� vQ�IDSWXO�F� SHQWUX�PHPRUDUHD�YDULDELOHORU� UHJLVWHU�� FRPSLODWRUXO� XWLOL]HD]� UHJLúWULL� LQWHUQL� �FHHD� FH� FRQGXFH� OD� FUHúWHUHD�HILFLHQ HL���8QHL�YDULDELOH�SHQWUX�FDUH�VH�VSHFLILF� GUHSW�FODV� GH�PHPRUDUH�UHJLVWHU�� QX�L�VH�SRDWH�DSOLFD�RSHUDWRUXO�GH�UHIHUHQ LHUH��

� &ODVD�GH�PHPRUDUH�H[WHUQ2�YDULDELO� JOREDO� GHFODUDW� I�U� VSHFLILFDUHD�XQHL�FODVH�GH�PHPRUDUH��HVWH�FRQVLGHUDW� FD�DYkQG� FODVD� GH� PHPRUDUH� H[WHUQ�� 'RPHQLXO� GH� YL]LELOLWDWH� HVWH� GLQ� PRPHQWXO� GHFODU�ULLSkQ� OD�VIkUúLWXO�ILúLHUXOXL�VXUV���7LPSXO�GH�YLD ��HVWH�GXUDWD�H[HFX LHL�ILúLHUXOXL��2�YDULDELO�GLQ�FODVD�H[WHUQ�HVWH�LQL LDOL]DW� DXWRPDW�FX�YDORDUHD���

� &ODVD�GH�PHPRUDUH�VWDWLF&ODVD�GH�PHPRUDUH�VWDWLF�DUH�GRX� XWLOL]�UL�GLVWLQFWH�� 9DULDELOHOH� ORFDOH� VWDWLFH DX� FD� GRPHQLX� GH� YL]LELOLWDWH� EORFXO� VDX� IXQF LD� vQ� FDUH� VXQW�

GHILQLWH��LDU�FD�WLPS�GH�YLD ��� GXUDWD�GH�H[HFX LH�D�SURJUDPXOXL��6H�LQL LDOL]HD]� DXWRPDW�FX���

� 9DULDELOHOH�JOREDOH�VWDWLFH DX�FD�GRPHQLX�GH�YL]LELOLWDWH�SXQFWXO�vQ�FDUH�DX�IRVW�GHILQLWH�SkQ� OD�VIkUúLWXO�ILúLHUXOXL�VXUV���LDU�FD�WLPS�GH�YLD ��� GXUDWD�H[HFX LHL�SURJUDPXOXL�

7DEHOXO������&ODVD�GH�PHPRUDUH

9DULDELOD 'RPHQLX�YL]LELOLWDWH 7LPS�GH�YLD �DXWR�UHJLVWHU� ORFDO� �LQWHUQ�� %ORFXO�VDX�IXQF LD� 'XUDUD� GH� H[HFX LH� D� EORFXOXL�

VDX�D�IXQF LHLH[WHUQ JOREDO� � 'LQ� SXQFWXO� GHILQLULL�� SkQ� OD�

VIkUúLWXO�ILúLHUXOXL��52)�� $OWH�ILúLHUH

'XUDUD� GH� H[HFX LH� D� EORFXOXL�VDX�D�SURJUDPXOXL

VWDWLF JOREDO� 52) ���ORFDO� %ORF VDX�IXQF LH ���

QHVSHFLILFDW JOREDO� 9H]L�H[WHUQ 9H]L�H[WHUQORFDO� 9H]L�DXWR 9H]L�DXWR

������02'85,�'(�$/2&$5(�$�0(025,(,$ORFDUHD�PHPRULHL�VH�SRDWH�UHDOL]D�vQ�XUP�WRDUHOH�PRGXUL�

� DORFDUH�VWDWLF��� DORFDUH�GLQDPLF��� DORFDUH�SH�VWLY��� 6H�DORF� VWDWLF�PHPRULH vQ�XUP�WRDUHOH�FD]XUL��

� SHQWUX�LQVWUXF LXQLOH�GH�FRQWURO�SURSULX�]LVH�� SHQWUX�YDULDELOHOH�JOREDOH�úL�YDULDELOHOH�ORFDOH�GHFODUDWH�vQ�PRG�H[SOLFLW�VWDWLF�

� 6H�DORF� PHPRULH�SH�VWLY� SHQWUX�YDULDELOHOH�ORFDOH�� 6H� DORFD� GLQDPLF�PHPRULH vQ�PRG� H[SOLFLW�� FX� DMXWRUXO� IXQF LLORU� GH� DORFDUH� GLQDPLFD��

DIODWH�vQ�KHDGHUXO��DOORF�K!�([HPSOX�

LQW�D�E��GRXEOH�[�

Page 104: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

GRXEOH�I��LQW�F��GRXEOH�Y�^LQW�E�VWDWLF�GRXEOH�]�`GRXEOH�Z�LQW�I��LQW�Z�^GRXEOH�D�`YRLG�PDLQ��^GRXEOH�E��F��LQW�N�E I��N�F��`

��������$ORFDUHD�PHPRULHL�vQ�PRG�GLQDPLF3HQWUX� WRDWH� WLSXULOH�GH�GDWH� �VLPSOH� VDX� VWUXFWXUDWH��� OD�GHFODUDUHD� DFHVWRUD�� FRPSLODWRUXO� DORF �DXWRPDW� XQ� QXP�U� GH� ORFD LL� GH� PHPRULH� �FRUHVSXQ]�WRU� WLSXOXL� GDWHL��� 'LPHQVLXQHD� ]RQHL� GH�PHPRULH� QHFHVDU� SHQWUX� S�VWUDUHD� YDORULORU� GDWHORU� HVWH� IL[DW� vQDLQWHD� ODQV�ULL� vQ� H[HFX LH� D�SURJUDPXOXL��ÌQ�FD]XO�GHFODU�ULL�XQXL�WDEORX�GH�vQWUHJL�FX�PD[LPXP�����GH�HOHPHQWH�YRU�IL�DORFD L���� VL]HRI�LQW� ORFD LL�GH�PHPRULH�VXFFHVLYH��ÌQ�VLWXD LD�vQ�FDUH�OD�XQ�PRPHQW�GDW�WDEORXO�DUH�GRDU����GH�HOHPHQWH��SHQWUX�D�DORFD�GRDU�DWkWD�PHPRULH�FkW�HVWH�QHFHVDU � vQ�PRPHQWXO�UHVSHFWLY��VH�YD�DORFD�PHPRULH�vQ�PRG�GLQDPLF��(VWH�GH�GRULW�FD�vQ�FD]XO�GDWHORU�D�F�URU�GLPHQVLXQH�QX�HVWH�FXQRVFXW� D�SULRUL�VDX�YDULD]� vQ�OLPLWH�ODUJL�� V� VH� XWLOL]H]H� R� DOW� DERUGDUH�� DORFDUHD� PHPRULHL� vQ� PRG� GLQDPLF�� ÌQ� PRG� GLQDPLF��PHPRULD� QX� PDL� HVWH� DORFDW� vQ� PRPHQWXO� FRPSLO�ULL�� FL� vQ� PRPHQWXO� H[HFX LHL�� $ORFDUHD�GLQDPLF� HOLPLQ� QHFHVLWDWHD� GHILQLULL� FRPSOHWH� D� WXWXURU� FHULQ HORU� GH� PHPRULH� vQ� PRPHQWXO�FRPSLO�ULL�� ÌQ� OLPEDMXO� &�� DORFDUHD� PHPRULHL� vQ� PRG� GLQDPLF� VH� IDFH� FX� DMXWRUXO� IXQF LLORU�PDOORF�� FDOORF�� UHDOORF�� HOLEHUDUHD� ]RQHL� GH� PHPRULH� VH� IDFH� FX� DMXWRUXO� IXQF LHL�IUHH��)XQF LLOH�GH�DORFDUH�GH]DORFDUH�D�PHPRULHL�DX�SURWRWLSXULOH�vQ�KHDGHU �HOH��VWGOLE�K! úL�DOORF�K!�YRLG� PDOORF�VL]HBW�QUBRFWHLBGHBDORFDW��)XQF LD�PDOORF QHFHVLW� XQ�VLQJXU�DUJXPHQW��QXP�UXO�GH�RFWH L�FDUH�YRU�IL�DORFD L��úL�UHWXUQHD]�XQ�SRLQWHU�JHQHULF�F�WUH�]RQD�GH�PHPRULH�DORFDW� �SRLQWHUXO�FRQ LQH�DGUHVD�SULPXOXL�RFWHW�DO�]RQHL�GH�PHPRULH�UH]HUYDWH��YRLG� FDOORF�VL]HBW� QUBHOHPHQWH�� VL]HBW� P�ULPHDBvQBRFWH LB�DBXQXLBHOHP��)XQF LD� FDOORF OXFUHD]� vQ� PRG� VLPLODU� FX� PDOORF�� DORF� PHPRULH� SHQWUX� XQ� WDEORX� GH�QUBHOHPHQWH�� QXP�UXO� GH� RFWH L� SH� FDUH� HVWH� PHPRUDW� XQ� HOHPHQW� HVWH�P�ULPHDBvQBRFWH LBDBXQXLBHOHP�úL�UHWXUQHD]� XQ�SRLQWHU�F�WUH�]RQD�GH�PHPRULH�DORFDW��YRLG� UHDOORF�YRLG� SWU��VL]HBW�P�ULPH��)XQF LD�UHDOORF SHUPLWH�PRGLILFDUHD� ]RQHL�GH�PHPRULH� DORFDW� GLQDPLF�FX� DMXWRUXO� IXQF LLORU�PDOORF�VDX�FDOORF�2EVHUYD LH��ÌQ� FD]XO� vQ� FDUH� QX VH� UHXúHúWH� DORFDUHD� GLQDPLF� D�PHPRULHL� �PHPRULH� LQVXILFLHQW���� IXQF LLOH�PDOORF�� FDOORF� úL� UHDOORF� UHWXUQHD]� XQ� SRLQWHU� QXOO�� 'HRDUHFH� IXQF LLOH� PDOORF�� FDOORF�� UHDOORF�UHWXUQHD]� XQ�SRLQWHU�JHQHULF��UH]XOWDWXO�SRDWH�IL�DWULEXLW�RULF�UXL�WLS�GH�SRLQWHU��/D�DWULEXLUH��HVWH�LQGLFDW�V� VH�XWLOL]H]H�RSHUDWRUXO�GH�FRQYHUVLH�H[SOLFLW� �YH]L�H[HPSOX��

Page 105: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

(OLEHUDUHD� PHPRULHL� �DORFDWH� GLQDPLF� FX� XQD� GLQWUH� IXQF LLOH� PDOORF�� FDOORF� VDX� UHDOORF�� VH�UHDOL]HD]� FX�DMXWRUXO�IXQF LHL�IUHH�YRLG�IUHH�YRLG� SWU��([HPSOX� 6� VH�DORFH�GLQDPLF�PHPRULH�SHQWUX����GH�YDORUL�vQWUHJL�

LQW� S�S �LQW �PDOORF��� VL]HRI�LQW�����S �LQW �FDOORF�����VL]HRI�LQW���

([HUFL LX� 6� VH� VFULH� XQ� SURJUDP� FDUH� LPSOHPHQWHD]� IXQF LD� QXPLW� LQWURGBYDO�� )XQF LD�WUHEXLH�V� SHUPLW� LQWURGXFHUHD�XQXL�QXP�U�GH�YDORUL�UHDOH��SHQWUX�FDUH�VH�DORF� PHPRULH�GLQDPLF��9DORULOH� FLWLWH� FX� DMXWRUXO� IXQF LHL�LQWURGBYDO VXQW�SUHOXFUDWH� vQ� IXQF LD�PDLQ�� DSRL�PHPRULD�HVWH�HOLEHUDW��

�LQFOXGH��VWGLR�K!�LQFOXGH��VWGOLE�K!�LQFOXGH��DOORF�K!IORDW� LQWURGBYDO��� �SHQWUX�D�SXWHD�UHDOL]D�HOLEHUDUHD�PHPRULHL�vQ�IXQF LD�PDLQ��IXQF LD�LQWURGBYDO�WUHEXLH�V�UHWXUQH]H�DGUHVD�GH�vQFHSXW�D�]RQHL�GH�PHPRULH�DORFDWH�GLQDPLF� �^GRXEOH� S��LQW�QU�SULQWI��1XP�U�YDORUL�����VFDQI���G���QU��LI����S �IORDW �PDOORF�QU VL]HRI�IORDW�����^

SULQWI��0HPRULH�LQVXILFLHQW��?Q���UHWXUQ�18//�`IRU��LQW�L ���L�QU��L���^

SULQWI��9DO��G ���L�����VFDQI���OI���S�L���UHWXUQ�S�``YRLG�PDLQ��^IORDW� SW��SW LQWURGBYDO������SUHOXFUDUH�WDEORXIUHH�SW��`

([HUFL LX� 6� VH� VFULH� XQ� SURJUDP� FDUH� FLWHúWH� QXPHOH� DQJDMD LORU� XQHL� vQWUHSULQGHUL�� 1XP�UXO�DQJDMD LORU� HVWH� WUDQVPLV� FD� DUJXPHQW� F�WUH� IXQF LD�PDLQ��$ORFDUHD�PHPRULHL�SHQWUX� FHL�QUBDQJ�DQJDMD L��FkW�úL�SHQWUX�QXPHOH�ILHF�UXLD�GLQWUH�DFHúWLD�VH�YD�IDFH�vQ�PRG�GLQDPLF�

�LQFOXGH��VWGOLE�K!�LQFOXGH��VWGLR�K!�LQFOXGH��VWGDUJ�K!YRLG�PDLQ�LQW�DUJF��FKDU� DUJY>@�^FKDU� DQJBSWU�FKDU� QXPH�LQW�QUBDQJ��L�LI��DUJF ��^

QUBDQJ DWRL�DUJY>�@��� � QXP�UXO� DQJDMD LORU� HVWH� WUDQVPLV� FD� DUJXPHQW�F�WUH�IXQF LD�PDLQ��(O�HVWH�FRQYHUWLW�GLQ�úLU�GH�FDUDFWHUH�vQ QXP�U� �

DQJBSWU �FKDU �FDOORF�QUBDQJ��VL]HRI�FKDU ���LI���DQJBSWU ��^

SULQWI��0HPRULH�LQVXILFLHQW��?Q���H[LW����`QXPH �FKDU �FDOORF�����VL]HRI�FKDU���IRU��L ���L�QUBDQJ����L�^SULQWI��1XPH�DQJDMDW����VFDQI���V��QXPH��DQJBSWU>L@ �FKDU �FDOORF�VWUOHQ�QXPH�����VL]HRI�FKDU���VWUFS\�DQJBSWU>L@��QXPH��

Page 106: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

`IUHH�QXPH��SULQWI��?Q���IRU��L ���L�QUBDQJ��L���

SULQWI��$QJDMDW�QU��G���V?Q���L����DQJBSWU>L@��`HOVH

SULQWI��/DQVDUH� vQ� H[HFX LH�� �V� QXP�UBGHBDQJDMD L?Q���DUJY>�@��`

ÌQ�OLPEDMXO�&�� DORFDUHD�GLQDPLF� D�PHPRULHL�úL�HOLEHUDUHD�HL�VH�SRW�UHDOL]D�FX�RSHUDWRULL�QHZ úL�GHOHWH�� )RORVLUHD� DFHVWRU� RSHUDWRUL� UHSUH]LQW� R� PHWRG� VXSHULRDU��� DGDSWDW�� SURJUDP�ULL�RULHQWDWH�RELHFW�2SHUDWRUXO� QHZ HVWH� XQ� RSHUDWRU� XQDU� FDUH� UHWXUQHD]� XQ� SRLQWHU� OD� ]RQD� GH�PHPRULH� DORFDW�GLQDPLF��ÌQ�VLWXD LD�vQ�FDUH�QX�H[LVW� VXILFLHQW� PHPRULH�úL�DORFDUHD�QX�UHXúHúWH��RSHUDWRUXO�QHZ�UHWXUQHD]� SRLQWHUXO�18//��2SHUDWRUXO�GHOHWH HOLEHUHD]� ]RQD�GH�PHPRULH�VSUH�FDUH�SRLQWHD]�DUJXPHQWXO�V�X�6LQWD[D�

WLSGDWDBSRLQWHU� �QHZ�WLSGDWD�WLSGDWDBSRLQWHU� �QHZ�WLSGDWD�YDOBLQL LDOL]DUH����SHQWUX�LQL LDOL]DUHD�GDWHL�SHQWUX�FDUH�VH�DORF� PHPRULH�GLQDPLFWLSGDWDBSRLQWHU� � QHZ� WLSGDWD>QUBHOHP@�� ��DORFDUHD� PHPRULHL� SHQWUX�XQ�WDEORXGHOHWH�WLSGDWDBSRLQWHU�GHOHWH�>QUBHOHP@ WLSGDWDBSRLQWHU� ��HOLEHUDUHD� PHPRULHL� SHQWUX�WDEORXUL

7LSGDWD UHSUH]LQW� WLSXO�GDWHL��SUHGHILQLW�VDX�RELHFW��SHQWUX�FDUH�VH�DORF� GLQDPLF�PHPRULH��LDU�WLSGDWDBSRLQWHU HVWH�R�YDULDELO� SRLQWHU�F�WUH�WLSXO�WLSGDWD��3HQWUX� D� SXWHD� DIOD� PHPRULD� 5$0� GLVSRQLELO� OD� XQ� PRPHQW� GDW�� VH� SRDWH� XWLOL]D� IXQF LD�FRUHOHIW�

XQVLJQHG�FRUHOHIW�YRLG��([HUFL LX� 6� VH�DORFH�GLQDPLF�PHPRULH�SHQWUX�R�GDW� GH�WLS�vQWUHJ�

LQW� SLQW�SLQW QHZ�LQW���6DX�LQW�L QHZ�LQW�L ���� ��L� SHUPLWH� UHIHULUHD� OD� vQWUHJXO� S�VWUDW� vQ� ]RQD� GH� PHPRULH� DORFDW�GLQDPLF

([HUFL LX� 6� VH� DORFH� GLQDPLF� PHPRULH� SHQWUX� R� GDW� UHDO��� GXEO� SUHFL]LH�� LQL LDOL]kQG�R� FX�YDORDUHD������

GRXEOH� S�S QHZ�GRXEOH���������6DX�GRXEOH�S �QHZ�GRXEOH�������

Page 107: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

([HUFL LX� 6� VH�DORFH�GLQDPLF�PHPRULH�SHQWUX�XQ�YHFWRU�GH�P�HOHPHQWH�UHDOH�GRXEOH� YHFWRU��YHFWRU QHZ�GRXEOH>P@�

([HPSOX� 6� VH� XUP�UHDVF� UH]XOWDWHOH� H[HFX LHL� XUP�WRUXOXL� SURJUDP�� FDUH� XWLOL]HD]� IXQF LD�FRUHOHIW�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��DOORF�K!�LQFOXGH��FRQLR�K!YRLG�PDLQ��^�LQW� D� E� FOUVFU���FRXW���0HP��OLEHUD�LQDLQWH�GH�DORFDUH����FRUHOHIW���� ?Q�FRXW���$GU��SRLQWHULORU�D�VL�E����D���������E�� ?Q�FRXW���9DORULOH� SRLQWHUL� D� VL� E� LQDLQWH� GH� DORFDUH����D������E��?Q�D QHZ�LQW� E QHZ�LQW>��@�FRXW���0HP��OLEHUD�GXSD�DORFDUH����FRUHOHIW����?Q�FRXW���9DORULOH� SRLQWHULORU� D� VL� E� GXSD� DORFDUH����D���������E��?Q�FRXW���&RQWLQXWXO� PHPRULHLDORFDWH�?Q���� D ��� D���?Q E ��� E��?Q�IRU��LQW�N ��N����N����FRXW���?QE>���N���@ ���E>N@��FRXW��?Q�JHWFK��� D �����IRU��LQW�X ��X����X����E>X@ � X���FRXW���&RQW�� ]RQHORU� DORFDWH� GXSDDWULEXLUH�����?Q D ��� D���?QE ��IRU��X ��X����X����FRXW���?QE>���X���@ ���E>X@�GHOHWH�D��GHOHWH�E�FRXW���0HP��OLEHUD�GXSD�HOLEHUDUH����FRUHOHIW���� ?Q�FRXW���9DORULOH� SRLQWHULORU� D� VL� E� GXSD� HOLEHUDUH����D���������E��?Q�FRXW���&RQWLQXWXO� PHPRULHLHOLEHUDWH�?Q���� D ��� D���?Q E ��� E��?Q�IRU� �N ��N����N���� FRXW���?QE>���N���@ ���E>N@�� FRXW��?Q��FRXW��E>�@�JHWFK���`

�������)81&�,,�5(&856,9(2�IXQF LH�HVWH�QXPLW� IXQF LH�UHFXUVLY� GDF� HD�VH�DXWRDSHOHD]���ILH�GLUHFW��vQ�GHILQL LD�HL�VH�IDFH�DSHO�OD�HD�vQV�úL���ILH�LQGLUHFW �SULQ�DSHOXO�DOWRU�IXQF LL���/LPEDMHOH�&�&���GLVSXQ�GH�PHFDQLVPH�VSHFLDOH FDUH�SHUPLW�VXVSHQGDUHD�H[HFX LHL�XQHL�IXQF LL��VDOYDUHD�GDWHORU�úL�UHDFWLYDUHD�H[HFX LHL�OD�PRPHQWXO� SRWULYLW�� 3HQWUX� ILHFDUH� DSHO� DO� IXQF LHL�� SDUDPHWULL� úL� YDULDELOHOH� DXWRPDWLFH� VH�PHPRUHD]� SH�VWLY���DYkQG�YDORUL�GLVWLQFWH��9DULDELOHOH�VWDWLFH�RFXS� WRW� WLPSXO�DFHHDúL�]RQ� GH�PHPRULH��ILJXUHD]� vQWU�XQ�VLQJXU�H[HPSODU��úL�vúL�S�VWUHD]� YDORDUHD�GH�OD�XQ�DSHO�OD�DOWXO��2ULFH�DSHO�DO�XQHL�IXQF LL�FRQGXFH�OD�R�UHYHQLUH�vQ�IXQF LD�UHVSHFWLY���vQ�SXQFWXO�XUP�WRU�LQVWUXF LXQLL�GH�DSHO��/D�UHYHQLUHD�GLQWU�R�IXQF LH��VWLYD�HVWH�FXU� DW� �VWLYD�UHYLQH�OD�VWDUHD�GLQDLQWHD�DSHOXOXL���8Q�H[HPSOX�GH�IXQF LH�UHFXUVLY� HVWH�IXQF LD�GH�FDOFXO�D�IDFWRULDOXOXL��GHILQLW� DVWIHO�IDFW�Q� ���GDF� Q ��IDFW�Q� Q IDFW�Q���� GDF� Q!��

Page 108: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

([HPSOX� 6� VH� LPSOHPHQWH]H� UHFXUVLY� IXQF LD� FDUH� FDOFXOHD]� Q��� XQGH�Q HVWH� LQWURGXV� GH� OD�WDVWDWXU���

�LQFOXGH��LRVWUHDP�K!LQW�IDFW�LQW�Q�^LI��Q���^

FRXW���$UJXPHQW�QHJDWLY�?Q��H[LW����

`HOVH�LI��Q �� UHWXUQ���HOVH� UHWXUQ�Q IDFW�Q����`YRLG�PDLQ��^LQW�QU��I��FRXW���QU ���FLQ!!QU�I IDFW�QU���FRXW��QU���� ���I��?Q�`

6H� REVHUY� F� vQ� FRUSXO� IXQF LHL�IDFW VH� DSHOHD]� vQV�úL� IXQF LD�IDFW�� 3UHVXSXQHP� F� QU ��LQL LDO��IXQF LD� IDFW�HVWH�DSHODW� SHQWUX�D�FDOFXOD������6� XUP�ULP�GLDJUDPHOH�GLQ�ILJXULOH������úL������/D� DSHOXO� IXQF LHL�IDFW�� YDORDUHD� SDUDPHWUXOXL�GH� DSHO�QU �QU ��� LQL LDOL]HD]� SDUDPHWUXO�IRUPDO�Q��3H� VWLY� VH�PHPRUHD]� DGUHVD�GH� UHYHQLUH� vQ� IXQF LD�DSHODQW� �DGU���úL�YDORDUHD� OXL�Q��Q ��� �ILJXUD�����D����'HRDUHFH�Q!��� VH�H[HFXW� LQWUXF LXQHD�GH�SH� UDPXUD�HOVH��UHWXUQ�Q IDFW�Q������)XQF LD�IDFW�VH�DXWRDSHOHD]� GLUHFW��6H�PHPRUHD]� SH�VWLY� QRXD�DGUHV� GH�UHYHQLUH�úL�QRXD�YDORDUH�D�SDUDPHWUXOXL�Q��Q ����ILJXUD�����E���/D�QRXO�UHDSHO�DO�IXQF LHL�IDFW��VH�H[HFXW� GLQ�QRX�LQWUXF LXQHD�GH�SH�UDPXUD�HOVH��UHWXUQ�Q IDFW�Q������ 6H�PHPRUHD]� SH� VWLY� DGUHVD� GH� UHYHQLUH� úL� QRXD� YDORDUH� D� SDUDPHWUXOXL� Q� �Q ��� �ILJXUD�����F��� /D�QRXO�UHDSHO�DO�IXQF LHL�IDFW��VH�H[HFXW� GLQ�QRX�LQWUXF LXQHD�GH�SH�UDPXUD�HOVH��UHWXUQ�Q IDFW�Q������6H�PHPRUHD]� SH�VWLY� DGUHVD�GH� UHYHQLUH� úL� QRXD�YDORDUH� D�SDUDPHWUXOXL�Q� �Q ����ILJXUD�����G����/D�QRXO�UHDSHO�DO�IXQF LHL�IDFW��VH�H[HFXW� GLQ�QRX�LQWUXF LXQHD�GH�SH�UDPXUD�HOVH��UHWXUQ�Q IDFW�Q������6H�PHPRUHD]� SH�VWLY� DGUHVD�GH�UHYHQLUH�úL�QRXD�YDORDUH�D�SDUDPHWUXOXL�Q��Q ����ILJXUD�����H����ÌQ�DFHVW�PRPHQW�Q ��úL�VH�UHYLQH�GLQ�IXQF LH�FX�YDORDUHD����� IDFW��� � ����OD�FRQILJXUD LD�VWLYHL�GLQ�ILJXUD�����G����VH�FXU� ��VWLYD�úL�VH�DMXQJH�OD�FRQILJXUD LD�GLQ�ILJXUD�����G����ÌQ�DFHVW�PRPHQW�Q ��úL�VH�UHYLQH�FX�YDORDUHD�� IDFW��� � � ���VH�FXUD ��VWLYD�úL�VH�DMXQJH�OD�FRQILJXUD LD�VWLYHL�GLQ�ILJXUD�����F��ÌQ�DFHVW�PRPHQW�Q ��úL�VH�UHYLQH�FX�YDORDUHD�� IDFW��� � � ���VH�FXUD ��VWLYD�úL�VH�DMXQJH�OD�FRQILJXUD LD�VWLYHL�GLQ�ILJXUD�����E��6H�FXU� ��VWLYD�úL�VH�DMXQJH�OD�FRQILJXUD LD�VWLYHL�GLQ�ILJXUD�����D���ÌQ�DFHVW�PRPHQW�Q ��úL�VH�UHYLQH�FX�YDORDUHD�� IDFW��� � � ���2�IXQF LH�UHFXUVLY� SRDWH�IL�UHDOL]DW� úL�LWHUDWLY��0RGXO�GH�LPSOHPHQWDUH�WUHEXLH�DOHV�vQ�IXQF LH�GH�SUREOHP���'HúL� LPSOHPHQWDUHD�UHFXUVLY� D�XQXL�DOJRULWP�SHUPLWH�R�GHVFULHUH�FODU� úL�FRPSDFW���UHFXUVLYLWDWHD�QX�FRQGXFH�OD�HFRQRPLH�GH�PHPRULH�úL�QLFL�OD�H[HFX LD�PDL�UDSLG� D�SURJUDPHORU��ÌQ�JHQHUDO��VH�UHFRPDQG� XWLOL]DUHD�IXQF LLORU�UHFXUVLYH�vQ�DQXPLWH�WHKQLFL�GH�SURJUDPDUH��FXP�DU�IL�XQHOH�PHWRGH�GH�F�XWDUH��EDFNWUDFNLQJ���

)LJXUD�������&RQILJXUD LD�VWLYHL

DGU�Q �

�D�

DGU�Q �DGU�Q �

�E�

DGU�Q �DGU�Q �DGU�Q �

�F�

DGU�Q �DGU�Q �DGU�Q �DGU�Q �

�G�

�� �DGU�Q �DGU�Q �DGU�Q �DGU�Q �DGU�Q ��H�

��

���IDFW

IDFW

IDFW

IDFW

IDFW

)LJXUD������3DUDPHWUL�IXQF LHL�IDFW

Page 109: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

([HUFL LX� )LH�úLUXO�OXL )LERQDFFL��GHILQLW�DVWIHO��I��� ���I��� ���I�Q� I�Q����I�Q�����GDF�Q!��� 6� VH� VFULH� XQ� SURJUDP� FDUH� LPSOHPHQWHD]� DOJRULWPXO� GH� FDOFXO� DO� úLUXOXL� )LERQDFFL� DWkW�UHFXUVLY��FkW�úL�LWHUDWLY��6� VH�FRPSDUH�WLPSXO�GH�H[HFX LH�vQ�FHOH�GRX� VLWXD LL�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��VWGOLE�K!�LQFOXGH��FRQLR�K!�LQFOXGH��WLPH�K!�LQFOXGH��VWGLR�K!ORQJ�LQW�LWHUDWLYBILE�ORQJ�LQW�Q� ��YDULDQWD�GH�LPSOHPHQWDUH�LWHUDWLY�^LI��Q ���UHWXUQ���LI��Q ���UHWXUQ���LQW�L��ORQJ�LQW�D��E��F��D ���E ��IRU��L ���L� Q��L���^

F E��E� D��D F�`UHWXUQ�E�`ORQJ�LQW�UHFXUVLYBILE�ORQJ�LQW�Q� ��YDULDQWD�GH�LPSOHPHQWDUH�UHFXUVLY�^LI��Q ���UHWXUQ���LI��Q ���UHWXUQ���ORQJ�LQW�L� UILE�Q����ORQJ�LQW�L� UILE�Q����UHWXUQ�L��L��`YRLG�PDLQ��^LQW�Q��FOUVFU���FRXW��0$;/21*��?Q�IRU��Q ����Q� ����Q�����^

FORFNBW�W���W���W��FRXW��&/.B7&.��?Q�W� FORFN����ORQJ�LQW�I� LWHUDWLYBILE�Q��W� FORFN����ORQJ�I� UHFXUVLYBILE�Q���W� FORFN���GRXEOH�WLPS� �GRXEOH��W��W���&/.B7&.�GRXEOH�WLPS� �GRXEOH��W��W���&/.B7&.�SULQWI��,7(5$7,9�����OG�W ������OI?Q��I��WLPS���SULQWI��5(&856,9�����OG�W ������OI?Q��I��WLPS���FRXW���$SDVD�R�WDVWD����?Q���JHWFK���`�`

ÌQ�H[HPSOXO�DQWHULRU��SHQWUX�P�VXUDUHD� WLPSXOXL�GH�H[HFX LH�V�D�XWLOL]DW� IXQF LD�FORFN�� DO�F�UHL�SURWRWLS�VH�DIO� vQ�KHDGHU�XO�WLPH�K��9DULDELOHOH�W���W� úL�W� VXQW�GH�WLSXO�FORFNBW��WLS�GHILQLW�vQ� DFHODúL� KHDGHU�� &RQVWDQWD� VLPEROLF� &/.B7&. GHILQHúWH� QXP�UXO GH� E�W�L� DOH� FHDVXOXL�� SH�VHFXQG��ÌQ� JHQHUDO�� RULFH� DOJRULWP� FDUH� SRDWH� IL� LPSOHPHQWDW� LWHUDWLY�� SRDWH� IL� LPSOHPHQWDW� úL� UHFXUVLY��7LPSXO�GH�H[HFX LH�D�XQHL�UHFXUVLL�HVWH�VHPQLILFDWLY�PDL�PDUH�GHFkW�FHO�QHFHVDU�H[HFX LHL�LWHUD LHL�HFKLYDOHQWH��

Page 110: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

([HUFL LX� 6� VH�LPSOHPHQWH]H�úL�V� VH�WHVWH]H�XQ�SURJUDP�FDUH�D� *HQHUHD]� DOHDWRU�úL�DILúHD]� HOHPHQWHOH�XQXL�YHFWRU��E� 6RUWHD]� DFHVWH� HOHPHQWH�� FUHVF�WRU�� DSOLFkQG� PHWRGHOH� GH� VRUWDUH� %XEEOH6RUW��

,QVHUW6RUW��úL�4XLFN6RUW�F� 6� VH�FRPSDUH�YLWH]D�GH�VRUWDUH�SHQWUX�YHFWRUL�GH�GLYHUVH�GLPHQVLXQL���������������HOHPHWH��� 0HWRGD�%XEEOH6RUW D�IRVW�SUH]HQWDW� vQ�FDSLWROXO����� 0HWRGD 4XLFN6RUW UHSUH]LQW� R� DOW� PHWRG� GH� VRUWDUH� D� HOHPHQWHORU� XQXL� YHFWRU �

$OJRULWPXO� HVWH� UHFXUVLY�� VH� vPSDUWH� YHFWRUXO� vQ� GRX� SDUWL LL�� ID � GH� XQ� HOHPHQW� SLYRW� �GH�RELFHL��HOHPHQWXO�GLQ��PLMORFXO�YHFWRUXOXL����3DUWL LD�VWkQJ� vQFHSH�GH�OD�LQGH[XO�L��OD�SULPXO�DSHO�L ����LDU�SDUWL LD�GUHDSW� VH�WHUPLQ� FX�LQGH[XO�M��OD�SULPXO�DSHO�M Q������ILJXUD�������

3DUWL LD�VWkQJ� HVWH�H[WLQV� OD GUHDSWD��L�LQFUHPHQWDW��SkQ� FkQG�VH�J�VHúWH�XQ�HOHPHQW�PDL�PDUH�GHFkW� SLYRWXO�� SDUWL LD� GUHDSW� HVWH� H[WLQV� OD� VWkQJD� �M� GHFUHPHQWDW�� SkQ� FkQG� VH� J�VHúWH� XQ�HOHPHQW� PDL� PLF� GHFkW� SLYRWXO�� &HOH� GRX� HOHPHQWH� J�VLWH�� YHFW>L@ úL� YHFW>M@�� � VXQW�LQWHUVFKLPEDWH��6H�UHLD�FLFOLF�H[WLQGHUHD�SDUWL LLORU�SkQ� FkQG�L úL�M VH��vQFUXFLúHD]����L GHYLQH�PDL�PDUH�FD�M���ÌQ�ILQDO��SDUWL LD�VWkQJ� YD�FRQ LQH�HOHPHQWHOH�PDL�PLFL�GHFkW�SLYRWXO��LDU�SDUWL LD�GUHDSW� � HOHPHQWHOH�PDL�PDUL�GHFkW�SLYRWXO��GDU�QHVRUWDWH�$OJRULWPXO�HVWH� UHOXDW�SULQ� UHFXUVLH�SHQWUX�SDUWL LD� VWkQJ� �FX� OLPLWHOH� vQWUH���úL� M� ��� DSRL�SHQWUX�SDUWL LD�GUHDSW� �FX�OLPLWHOH�vQWUH�L�úL�Q������5HFXUVLD�SHQWUX�SDUWHD�VWkQJ� VH�RSUHúWH�DWXQFL�FkQG��M�DWLQJH�OLPLWD�VWkQJ� �GHYLQH�����LDU�UHFXUVLD�SHQWUX�SDUWL LD�GUHDSW� VH�RSUHúWH�FkQG�L�DWLQJH�OLPLWD�GUHDSW� �GHYLQH�Q����

M L

������ �������� Q�� �� SLYRWL M Q�� �

)LJXUD������6RUWDUH�SULQ�PHWRGD�4XLFN6RUW

Page 111: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

68%$/*25,70 4XLFN6RUW��YHFW>�@��VWJ��GUW� ��OD�SULPXO�DSHO�VWJ� ���VL�GUW� �Q�� �Ì1&(387�68%$/*25,70

LmVWJMmGUW'$&� L���M�$781&,Ì1&(387�

SLYRW YHFW>�VWJ�GUW���@&Æ7�7,03�L�� �M�5(3(7���H[WLQGHUHD�SDUWL LLORU�VWkQJD�úL�GUHDSWD�SkQ� FkQG�L VH�vQFUXFLúHD]� FX�MÌ1&(387

&Æ7�7,03�L�GUW�VL�YHFW>L@�SLYRW�5(3(7�L� �L����

&Æ7�7,03�M�VWJ�VL�YHFW>M@ !SLYRW�5(3(7�M� �M�� �

'$&� L� M�$781&,Ì1&(387 ��LQWHUVFKLPE� HOHPHQWHOH�YHFW>L@�úL�YHFW>M@��

DX[mYHFW>L@�YHFW>L@mYHFW>M@YHFW>M@mDX[LmL��MmM��

6)Æ5ù,76)Æ5ù,7'$&� M��!�VWJ $781&, ���SDUWL LD�VWkQJ� V�D�H[WLQV�OD�PD[LP��DSHO�TLXFN6RUW�

SHQWUX�HD&+($0� 4XLFN6RUW�YHFW��VWJ��M�

'$&� L����GUW��$781&, ���SDUWL LD�GUHDSW� V�D�H[WLQV�OD�PD[LP��DSHO�TLXFN6RUW�SHQWUX�HD

&+($0� 4XLFN6RUW�YHFW��L��GUW�6)Æ5ù,7

6)Æ5ù,7�68%$/*25,70� 0HWRGD�,QVHUW6RUW �PHWRGD�LQVHU LHL�0HWRGD� LGHQWLILF� FHO�PDL�PLF� HOHPHQW� DO� YHFWRUXOXL� úL� vO� VFKLPE� FX� SULPXO� HOHPHQW�� 6H� UHLD�SURFHGXUD�SHQWUX�YHFWRUXO�LQL LDO��I�U� SULPXO�HOHPHQW�úL VH�FDXW� PLQLPXO�vQ�DFHVW�QRX�YHFWRU��HWF�68%$/*25,70 ,QVHUW6RUW��YHFW>�@��QUBHOHP�Ì1&(387�68%$/*25,70

&Æ7�7,03�L��QUBHOHP�5(3(7�Ì1&(387

SR]0LQmFDXW0LQLP�YHFW��L� ���VH�DSHOHD]� DOJRULWPXO�FDXW0LQLPDX[mYHFW>L@YHFW>L@mYHFW>SR]0LQ@YHFW>SR]0LQ@mDX[LmL��

6)Æ5ù,76)Æ5ù,7�68%$/*25,70)XQF LD�FDXW0LQ�YHFW>�@� LQGH[,QL��QUBHOHP� FDXW� HOHPHQWXO�PLQLP�DO�XQXL�YHFWRU��vQFHSkQG�GH�OD�SR]L LD LQGH[,QL úL�UHWXUQHD]� SR]L LD�PLQLPXOXL�J�VLW�

Page 112: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

0RG�GH�LPSOHPHQWDUH��6H�YD�FRPSOHWD�SURJUDPXO�FX�LQVWUXF LXQLOH�FDUH�RE LQ�úL�DILúHD]� WLPSXOXL�QHFHVDU�RUGRQ�ULL�SULQ�ILHFDUH�PHWRG���6H�YRU�FRPSDUD�UH]XOWDWHOH�SHQWUX�XQ�YHFWRU�GH�����������������HOHPHQWH���LQFOXGH��VWGOLE�K!�LQFOXGH��VWGLR�K!�LQFOXGH��WLPH�K!�GHILQH�758( ��GHILQH�)$/6( �YRLG�JHQHU�GRXEOH�Y>@��LQW�Q���IXQFWLD�GH�JHQHUDUH�DOHDWRDUH�D�HOHPHQWHORU�YHFWRUXOXL�Y��FX�Q�HOHPHQWH^IRU��LQW�L ���L�Q��L���

Y>L@ ��� UDQG����������`YRLG�DILV�GRXEOH�Y>@��LQW�Q���IXQFWLD�GH�DILVDUH�D�YHFWRUXOXL�^IRU��LQW�L ���L�Q��L���

SULQWI�������I��Y>L@��SULQWI��?Q���`YRLG�FRSLHBYHFW�GRXEOH�Y�>@��GRXEOH�Y>@��LQW�Q���IXQFWLH�GH��GXSOLFDUH��D�XQXL�YHFWRU��FRSLH�YHFWRUXO�Y�LQ�YHFWRUXO�Y�^IRU��LQW�L ���L�Q��L���

Y�>L@ Y>L@��`YRLG�EXEEOH6RUW�GRXEOH�Y>@��LQW�Q�^LQW�JDWD� JDWD )$/6(�ZKLOH���JDWD�^

JDWD 758(�IRU��LQW�L ���L�Q����L���

LI��Y>L@! Y>L��@�^GRXEOH�DX[ Y>L@�Y>L@ Y>L��@�Y>L��@ DX[�

�� SULQWI��,QWHUVFKLPEDUH�HOHPHQW��G�FX��G��L�L������ DILV�Y�Q��

JDWD )$/6(�```�LQW�FDXW0LQ�GRXEOH�Y>@��LQW�LQGH[,QL��LQW�Q����FDXWD�HOHPHQWXO�PLQLP��LQFHSkQG�GH�OD�SR]LWLD�LQGH[,QL��LQFOXVLY^�GRXEOH�PLQ Y>LQGH[,QL@�LQW�SR]0LQ LQGH[,QL�IRU��LQW�L LQGH[,QL��L�Q��L���

LI��Y>L@� PLQ�^PLQ Y>L@��SR]0LQ L�

`UHWXUQ�SR]0LQ�`YRLG�LQVHUW6RUW�GRXEOH�Y>@��LQW�Q�^�LQW�L�IRU��L ���L�Q��L���^

LQW�SR] FDXW0LQ�Y��L��Q��GRXEOH�DX[ Y>L@�Y>L@ Y>SR]@�Y>SR]@ DX[�

`

Page 113: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

`YRLG�TXLFN6RUW�GRXEOH�Y>@��LQW�VWJ��LQW�GUW�^LQW�L�M��L VWJ��M GUW��GRXEOH�SLYRW��DX[�LI��L�M�^

SLYRW Y>�VWJ�GUW���@�ZKLOH��L� M�^ ��H[WLQGHUH�SDUWLWLH�VW�VL�GU�SDQD�L�VH�LQFUXFLV�FX�M

ZKLOH��L�GUW��Y>L@�SLYRW� L���ZKLOH��M!VWJ��Y>M@!SLYRW� M���LI��L� M�^

DX[ Y>L@�Y>L@ Y>M@�Y>M@ DX[�� ��LQWHUVFKLPEDUH�HOHPHQWHL����M���

``LI��M!VWJ� TXLFN6RUW�Y��VWJ��M��LI��L�GUW� TXLFN6RUW�Y��L��GUW��

``YRLG�PDLQ��^FORFNBW�WL�WI��LQW�Q� ��Q� �QU�HOHPHQWH�YHFWRUSULQWI��1U�FRPSRQHQWH�YHFWRU�����VFDQI���G���Q��GRXEOH�Y>���@��Y�>���@��Y�>���@��Y�>���@�JHQHU�Y��Q��FRSLHBYHFW�Y��Y�Q��SULQWI��?Q,QDLQWH�GH�RUGRQDUH��Y� ����DILV�Y���Q���WL FORFN���EXEEOH6RUW�Y��Q���WI FORFN����SULQWI��?Q'XSD�RUGRQDUH����Y� ���DILV�Y���Q��SULQWI�������I���GLIBE��SULQWI��?Q?Q �,16(57�6257� ?Q���FRSLHBYHFW�Y��Y�Q��SULQWI��?Q,QDLQWH�GH�RUGRQDUH�,16(57��Y� ����DILV�Y���Q���LQVHUW6RUW�Y��Q���SULQWI��?Q'XSD�RUGRQDUH�������,16(57��Y� ���DILV�Y���Q��LQW�VW ���LQW�GU Q����FRSLHBYHFW�Y���Y��Q��SULQWI��?Q?Q �48,&.�6257� ?Q���SULQWI��?Q,QDLQWH�RUGRQDUH�48,&.��Y� ����DILV�Y���Q��TXLFN6RUW�Y���VW��GU���SULQWI��?Q'XSD�RUGRQDUH����48,&.��Y� ����DILV�Y���Q��`�

�������32,17(5,�&�75(�)81&�,,$úD�FXP�V�D�HYLGHQ LDW�vQ�FDSLWROXO����H[LVWD�WUHL�FDWHJRULL�GH�YDULDELOHOH�SRLQWHU�

� 3RLQWHUL�FX�WLS�� 3RLQWHUL�JHQHULFL��YRLG��� 3RLQWHUL�F�WUH�IXQF LL�

3RLQWHULL�F�WUH�IXQF LL VXQW�YDULDELOH�SRLQWHU�FDUH�FRQ LQ�DGUHVD�GH�vQFHSXW�D�FRGXOXL�H[HFXWDELO�DO�XQHL�IXQF LL��3RLQWHULL�F�WUH�IXQF LL�SHUPLW�

� 7UDQVIHUXO�FD�SDUDPHWUX�DO�DGUHVHL�XQHL�IXQF LL�� $SHOXO�IXQF LHL�FX�DMXWRUXO�SRLQWHUXOXL�

'HFODUD LD�XQXL�SRLQWHU�F�WUH�IXQF LH�DUH�XUP�WRDUHD�IRUP��

Page 114: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

WLSBYDOBLQWRDUVH�� QXPHBSRLQW��OLVWDBGHFODUBSDUDPBIRUPDOL����XQGH�

QXPHBSRLQW HVWH�XQ�SRLQWHU�GH�WLSXO�³IXQF LH�FX�UH]XOWDWXO�WLSXOBYDORULLBvQWRDUVH´��ÌQ�GHFODUD LD�DQWHULRDU� WUHEXLH�UHPDUFDW�UROXO�SDUDQWH]HORU��SHQWUX�D�SXWHD�IDFH�GLVWLQF LH�vQWUH�GHFODUD LD�XQHL�IXQF LL�FDUH�vQWRDUFH�XQ�SRLQWHU�úL�GHFODUD LD�XQXL�SRLQWHU�GH�IXQF LH�

WLSBYDOBLQWRDUVH� �QXPHBSRLQW��OLVWDBGHFODUBSDUDPBIRUPDOL��WLSBYDOBLQWRDUVH�� �QXPHBSRLQW��OLVWDBGHFODUBSDUDPBIRUPDOL��

([HPSOX�LQW�I�GRXEOH�X��LQW�Y�� ��SURWRWLSXO�IXQF LHL�ILQW�� SI��GRXEOH��LQW�� ��SRLQWHU�F�WUH�IXQF LD�ILQW�L��M��GRXEOH�G�SI I� ��DWULEXLH� DGUHVD� FRGXOXL� H[HFXWDELO� DO� IXQF LHL� I�SRLQWHUXOXL�SIM SI�G��L�� ��DSHOXO�IXQF LHL�I��IRORVLQG�SI

([HUFL LX� 6� VH�LPSOHPHQWH]H�XQ�SURJUDP�FDUH�FDOFXOHD]� R�IXQF LH�D�F�UHL�YDORDUH�HVWH�LQWHJUDOD�DOWHL�IXQF LL��3HQWUX�FDOFXOXO�LQWHJUDOHL�VH�YD�IRORVL�PHWRGD�WUDSH]HORU�5HOD LD�SHQWUX�FDOFXOXO�LQWHJUDOHL�SULQ�PHWRGDWUDSH]HORU�SHQWUX� ³E

DG[[I �� HVWH�

,� ��I�D��I�E�������¦�

��

�� �Q

NKNDI

6� VH�FDOFXOH]H� ³ ����E

D

[

[H

��OQ��������

��__

G[��FX�R�HURDUH�PDL�PLF� GHFkW�HSV��YDORDUHD�HURULL�LQWURGXV� GH�OD�WDVWDWXU���

�LQFOXGH��FRQLR�K!�LQFOXGH��PDWK�K!�LQFOXGH��LRVWUHDP�K!GRXEOH�IXQFWLH�GRXEOH�[�^UHWXUQ�VTUW�����H[S���� IDEV�[�������VTUW�����ORJ���SRZ�[�������`GRXEOH� LQWUDS�GRXEOH� D�� GRXEOH� E�� ORQJ� LQW� Q�� GRXEOH�� I��GRXEOH��^GRXEOH�K�V ���ORQJ�N�LI��D! E� UHWXUQ���LI��Q� �� Q ��K �E�D��Q�IRU��N ���N�Q��N��� V� I�D�N K��UHWXUQ���I�D��I�E�����V� K�`YRLG�PDLQ��^ORQJ�LQW�M��GRXEOH�S�T��GRXEOH�HSV��G��GRXEOH�GLI�FRXW���0DUJ��LQI���FLQ!!S��FRXW���0DUJ��VXS���FLQ!!T�FRXW���(URDUH���FLQ!!HSV��M ��GRXEOH�G� LQWUDS�S��T��M��IXQFWLH��

KD���[� [ � [ � ������� �[ ��Q [ ��Q E

I�[�

)LJXUD�������&DOFXOXO�LQWHJUDOHL�SULQ�PHWRGD�WUDSH]HORU

Page 115: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

GR^M ��

LI��M!0$;/21*�__�M��� EUHDN�G� LQWUDS�S��T��M��IXQFWLH��GLI IDEV�G��G����G� G��FRXW���1U�LQWHUYDOH����M����9DO�LQWHJUDOHL����G���?Q�

`ZKLOH�����IDEV�G��G���!HSV����FRXW���?Q?Q����������������������������������������������� ?Q��FRXW���9DO��LQWHJUDOHL�����G�����FX�HURDUH�GH����HSV��?Q�`

Ì175(%�5,�ù,�(;(5&,�,,&KHVWLXQL�WHRUHWLFH�� $VHP�Q�UL�vQWUH�WUDQVIHUXO�SDUDPHWULORU�XQHL�IXQF LL�SULQ�SRLQWHUL�úL�SULQ�UHIHULQ ����� &DUDFWHULVWLFLOH�PRGXOXL�GH�WUDQVIHU�D�SDUDPHWULORU�XQHL�IXQF LL�SULQ�SRLQWHUL��� &DUDFWHULVWLFLOH�YDULDELOHORU�JOREDOH��� &DUDFWHULVWLFLOH�YDULDELOHORU�ORFDOH��� &DUH�HVWH�GLIHUHQ D�vQWUH�DQWHWXO�XQHL�IXQF LL�úL�SURWRWLSXO�DFHVWHLD"�� &DUH�VXQW�PRGXULOH�GH�DORFDUH�D�PHPRULHL"�� &DUH�VXQW�PRGXULOH�GH�WUDQVIHU�D�SDUDPHWULORU�XQHL�IXQF LL"�� &DUH�VXQW�RSHUDWRULL�GLQ�&���FDUH�SHUPLW�DORFDUHD�GH]DORFDUHD�GLQDPLF� D�PHPRULHL"�� &H�FODVH�GH�PHPRUDUH�FXQRDVWH L"��� &H�HVWH�GRPHQLXO�GH�YL]LELOLWDWH�D�XQHL�YDULDELOH"��� &H�HVWH�SURWRWLSXO�XQHL�IXQF LL"��� &H�HVWH�WLPSXO�GH�YLD ��D�XQHL�YDULDELOH"��� &H�ORF�RFXS� GHFODUD LLOH�YDULDELOHORU�ORFDOH�vQ�FRUSXO�XQHL�IXQF LL"��� &H�UHSUH]LQW� DQWHWXO�XQHL�IXQF LL"��� &H�URO�DUH�GHFODUDUHD�IXQF LLORU"��� &H�VH�LQGLF� vQ�VSHFLILFDWRUXO�GH�IRUPDW�DO�IXQF LHL�SULQWI�"��� &H�VXQW�IXQF LLOH�FX�QXP�U�YDULDELO�GH�SDUDPHWUL"�([HPSOH���� &H�VXQW�IXQF LLOH�FX�SDUDPHWUL�LPSOLFL L"��� &H�VXQW�SRLQWHULL�F�WUH�IXQF LL"���� &H�VXQW�YDULDELOHOH�UHIHULQ �"���� &LQH�GHWHUPLQ� WLPSXO�GH�YLD ��úL�GRPHQLXO�GH�YL]LELOLWDWH�DOH�XQHL�YDULDELOH"��� &RPSDUD LH�vQWUH�GHFODUDUHD�úL�GHILQLUHD�IXQF LLORU���� 'LIHUHQ H�vQWUH�PRGXULOH�GH�WUDQVIHU�D�SDUDPHWULORU�SULQ�YDORDUH�úL�SULQ� UHIHULQ ����� 'LIHUHQ H�vQWUH�PRGXULOH�GH�WUDQVIHU�D�SDUDPHWULORU�XQHL�IXQF LL�SULQ�SRLQWHUL�úL�SULQ�UHIHULQ ����� 'LQ�DSHOXO�IXQF LHL�SULQWI�VH�SRDWH�RPLWH�VSHFLILFDWRUXO�GH�IRUPDW"��� 'LQ�FH�HVWH�IRUPDW� R�IXQF LH"��� ÌQ�FH�]RQ� GH�PHPRULH�VH�UH]HUY� VSD LX�SHQWUX�YDULDELOHOH�JOREDOH"��� 2�IXQF LH�SRDWH�IL�GHFODUDW� vQ�FRUSXO�DOWHL�IXQF LL"��� 2�IXQF LH�SRDWH�IL�GHILQLW� vQ�FRUSXO�XQHL�DOWH�IXQF LL"��� 3DUDPHWULL�IRUPDOL�DL�XQHL�IXQF LL�VXQW�YDULDELOH�ORFDOH�VDX�JOREDOH"��� 7UDQVIHUXO�SDUDPHWULORU�SULQ�YDORDUH���� &H�URO�DX�SDUDPHWULL�IRUPDOL�DL�XQHL�IXQF LL"

Page 116: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

&KHVLXQL�SUDFWLFH�� 6� VH�LPSOHPHQWH]H�SURJUDPHOH�FX�H[HPSOHOH�SUH]HQWDWH��� 6� VH�VFULH�SURJUDPHOH�SHQWUX�H[HUFL LLOH�UH]ROYDWH�FDUH�DX�IRVW�SUH]HQWDWH��� 6� VH� PRGXODUL]H]H� SURJUDPHOH� GLQ� FDSLWROXO� � ���D����J��� ��D����L�� ��D����K���� SULQ�

LPSOHPHQWDUHD� XQRU� � IXQF LL� �IXQF LL� SHQWUX�� FLWLUHD� HOHPHQWHORU� XQXL� YHFWRU�� DILúDUHD�YHFWRUXOXL�� FDOFXOXO� VXPHL� D� GRL� YHFWRUL�� FDOFXOXO� SURGXVXOXL� VFDODU� D� GRL� YHFWRUL�� DIODUHD�HOHPHQWXOXL�PLQLP�GLQ�YHFWRU��FLWLUH�D�XQHL�PDWULFL��DILúDUH�D�PDWULFLL��FDOFXOXO�WUDQVSXVHL�XQHL�PDWULFL��FDOFXOXO�VXPHL�D�GRX� PDWULFL��FDOFXOXO�SURGXVXOXL�D�GRX� PDWULFL��FDOFXOXO�SURGXVXOXL�HOHPHQWHORU�GLQ�WULXQJKLXO�KDúXUDW��HWF����

�� 6� VH� UHVFULH� SURJUDPHOH� FDUH� UH]ROY� H[HUFL LLOH� GLQ� FDSLWROXO� ��� IRORVLQG� IXQF LL� �SHQWUX�FDOFXOXO� IDFWRULDOXOXL�� DIODUHD� FHOXL� PDL� PDUH� GLYL]RU� FRPXQ�� RUGRQDUHD� OH[LFRJUDILF � D�FDUDFWHUHORU��HWF���8WLOL]D L�IXQF LLOH�GH�LQWUDUH�LHúLUH�SULQWI úL�VFDQI�

�� 6� VH�VFULH�XQ�SURJUDP�FDUH�FLWHúWH�FkWH�GRX� QXPHUH��SkQ� OD�vQWkOQLUHD�SHUHFKLL�GH�QXPHUH������úL�DILúHD]���GH�ILHFDUH�GDW���FHO�PDL�PDUH�GLYL]RU�FRPXQ�DO�DFHVWRUD��IRORVLQG�R�IXQF LH�FDUH�vO�FDOFXOHD]��

�� 6H�LQWURGXFH�GH�OD�WDVWDWXUD�XQ�QXP�U�vQWUHJ��6� VH�DILúH]H�WR L�GLYL]RULL�QXP�UXOXL�LQWURGXV��6H�YD�IRORVL�R�IXQF LH�GH�FDOFXO�D�FHOXL�PDL�PDUH�GLYL]RU�FRPXQ�D���QXPHUH�

�� 6HFYHQ HOH�XUP�WRDUH�VXQW�FRUHFWH�GLQ�SXQFW�GH�YHGHUH�VLQWDFWLF"�'DF� QX��LGHQWLILFD L�VXUVHOH�HURULORU�

� YRLG�D�LQW�[��\� ^FRXW���[ ���[����\ ���\��?Q��`YRLG�PDLQ��� ^ LQW�E ���D������� `

� YRLG�PDLQ��� ^�LQW�[ ���GRXEOH�\ I�[���FRXW���\ ���\��?Q�`LQW�I�LQW�]� ^UHWXUQ�]�] ]�`

�� 6FULH L�R�IXQF LH�J�VHúWHBFLIUD FDUH�UHWXUQHD]� YDORDUHD�FLIUHL�DIODWH�SH�SR]L LD�N�vQ�FDGUXO�QXP�UXOXL�Q��vQFHSkQG�GH�OD�GUHDSWD��Q�úL�N�YRU�IL�DUJXPHQWHOH�IXQF LHL��

�� ,PSOHPHQWD L� SURSULLOH� YHUVLXQL� DOH� IXQF LLOH� GH� OXFUX� FX� úLUXUL� GH� FDUDFWHUH� �GLQ� SDUDJUDIXO������

��� 6� VH�FDOFXOH]H�YDORDUHD�IXQF LHL�J���FX�R�HURDUH�(36��D��E��(36�FLWLWH�GH�OD�WDVWDWXU���J�[� ³ ��

E

D[[ ��� � OQ D[ � G[���� ³ �

E

D[EEDUFWJ[ ���� G[

��� ,PSOHPHQWD L� IXQF LL� LWHUDWLYH� úL� UHFXUVLYH� SHQWUX� FDOFXOXO� YDORULORU� SROLQRDPHORU� +HUPLWH�+ Q �\���úWLLQG�F��� + ��\� ��� + ��\� �\�� + Q �[� �\+ ��Q �\���+ ��Q �\� GDF� Q!���&RPSDUD L�WLPSXO�GH�H[HFX LH�DO�FHORU�GRX� IXQF LL�

��� 6� VH�VFULH�XQ�SURJUDP�FDUH�JHQHUHD]� WRDWH�QXPHUHOH�SDOLQGURP��PDL�PLFL�GHFkW�R�YDORDUH�GDW��� /,0�� 8Q� QXP�U� SDOLQGURP� DUH� FLIUHOH� VLPHWULFH� HJDOH� �SULPD� FX� XOWLPD�� D� GRXD� FX�SHQXOWLPD��HWF���6H�YD�IRORVL�R�IXQF LH�FDUH�WHVWHD]� GDF� XQ�QXP�U�HVWH�SDOLQGURP�

��� )LH�PDWULFHD�&��1;1���1� ����DOH�F�UHL�HOHPHQWH�VXQW�GDWH�GH�UHOD LD�

Page 117: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

M���¦

M

NN[

��VLQ� ��GDF� L�M

& ML � � [ L ��GDF� L M

L���� ¦ �

�FRV�N

N[L ��GDF� L!MD� 6� VH� LPSOHPHQWH]H� XUP�WRDUHOH� IXQF LL�� GH� FDOFXO� D� HOHPHQWHORU�PDWULFLL�� GH� DILúDUH� D�

PDWULFLL�� GH� FDOFXO� úL� GH� DILúDUH� D� SURFHQWXOXL� HOHPHQWHORU� QHJDWLYH� GH� SH� FRORDQHOH�LPSDUH��GH�LQGLFH�������HWF��

E� 6� VH�FDOFXOH]H�úL�V� VH�DILúH]H�PDWULFHD�%��XQGH� % &�� & � ��& � � & � ��& � ������� 6� VH�FUHH]H�R�ELEOLRWHF� GH�IXQF LL�SHQWUX�OXFUXO�FX�PDWULFL��FDUH�V� FRQ LQ� IXQF LLOH�XWLOL]DWH�

IUHFYHQW��FLWLUHD�HOHPHQWHORU��DILVDUHD�PDWULFLL��DGXQDUH�D�GRX� PDWULFL��HWF���6� VH�IRORVHDVF�DFHDVW� ELEOLRWHF��

��� 6� VH�FUHH]H�R�ELEOLRWHF� GH�IXQF LL�SHQWUX�OXFUXO�FX�YHFWRUL��FDUH�V� FRQ LQ� IXQF LLOH�XWLOL]DWH�IUHFYHQW��6� VH�IRORVHDVF� DFHDVW� ELEOLRWHF��

7,385,�'(�'$7(�'(),1,7(�'(�87,/,=$725�����7LSXUL�GHILQLWH�GH�XWLOL]DWRU �����'HFODUD LL�W\SHGHI�����6WUXFWXUL �����8QLXQL�����&kPSXUL�GH�EL L �����(QXPHU�UL

������7,385,�'(),1,7(�'(�87,/,=$725/LPEDMHOH� GH� SURJUDPDUH� GH� QLYHO� vQDOW� RIHU� XWLOL]DWRUXOXL� IDFLOLW� L� GH� D� SUHOXFUD� DWkW� GDWHOHVLQJXODUH� �L]RODWH���FkW� úL�SH�FHOH�JUXSDWH��8Q�H[HPSOX�GH�JUXSDUH�D�GDWHORU� � GH�DFHODúL� WLS� � vOFRQVWLWXLH�WDEORXULOH��'DWHOH�SUHGHILQLWH�úL�WDEORXULOH��SUH]HQWDWH�vQ�FDSLWROHOH�DQWHULRDUH��Q X�VXQWvQV� VXILFLHQWH�� ,QIRUPD LD� SUHOXFUDW� vQ� SURJUDPH� HVWH� RUJDQL]DW��� vQ� JHQHUDO� vQ� DQVDPEOXUL� GHGDWH��GH�GLIHULWH�WLSXUL��3HQWUX�D�SXWHD�GHVFULH�DFHVWH�DQVDPEOXUL��VWUXFWXUL��GH�GDWH��OLPEDMHOH�GH�SURJUDPDUH�GH�QLYHO�vQDOW�SHUPLW�SURJUDPDWRUXOXL�V��úL�GHILQHDVF� SURSULLOH�WLSXUL�GH�GDWH�/LPEDMXO�&�RIHU� SRVLELOLW� L�GH�GHILQLUH�D�XQRU�WLSXULORU�GH�GDWH��FX�DMXWRUXO�� VWUXFWXULORU � SHUPLW�JUXSDUHD�XQRU�RELHFWH� �GDWH��GH� WLSXUL�GLIHULWH�� UHIHULWH�SULQWU �XQ�QXPH

FRPXQ�� FkPSXULORU�GH�EL L � PHPEUL�DL�XQHL�VWUXFWXUL�SHQWUX�FDUH�VH�DORF� XQ�JUXS�GH�EL L��vQ�LQWHULRUXO

XQXL�FXYkQW�GH�PHPRULH�� XQLXQLORU � SHUPLW�XWLOL]DUHD�vQ�FRPXQ�D�XQHL�]RQH�GH�PHPRULH�GH�F�WUH�PDL�PXOWH�RELHFWH�GH

GLIHULWH�WLSXUL�� GHFODUD LLORU�W\SHGHI � DVRFLD]� QXPH�WLSXULORU�QRL�GH�GDWH�� HQXPHU�ULORU � VXQW�OLVWH�GH�LGHQWLILFDWRUL�FX�YDORUL�FRQVWDQWH��vQWUHJL�

������6758&785,

��XQGH�[�>���@��[�LQWURGXV�GH�OD�WDVWDWXU�

����

���

Page 118: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

6WUXFWXULOH� JUXSHD]� GDWH� GH� WLSXUL� GLIHULWH�� FRQVWLWXLQG� GHILQL LL� DOH� XQRU� QRL� WLSXUL� GH� GDWH��&RPSRQHQWHOH� XQHL� VWUXFWXUL� VH� QXPHVF PHPEULL� �FkPSXULOH� VWUXFWXULL�� /D� GHFODUDUHD� XQHL�VWUXFWXUL�VH�SRW�SUHFL]D�WLSXULOH��LGHQWLILFDWRULL�HOHPHQWHORU�FRPSRQHQWH�úL��QXPHOH�VWUXFWXULL�)RUPD�JHQHUDO� GH�GHFODUDUH�D�XQHL�VWUXFWXUL�

VWUXFW LGHQWLILFDWRUBWLSBVWUXFWXUD�^OLVWDBGHBGHFODUDWLLBPHPEULL�

`�OLVWDBLGHQWLILFDWRULBYDULDELOH� vQ�FDUH�VWUXFW HVWH�XQ�FXYkQW�FKHLH��REOLJDWRULX�LGHQWLILFDWRUBWLSBVWUXFWXUD UHSUH]LQW� QXPHOH�QRXOXL�WLS��SRDWH�OLSVL�OLVWDBGHBGHFODUDWLLBPHPEUL HVWH� R� OLVW� vQ� FDUH� DSDU� WLSXULOH� úL� LGHQWLILFDWRULL�PHPEULORU�VWUXFWXULLOLVWDBLGHQWLILFDWRULBYDULDELOH HVWH� R� OLVW� FX� LGHQWLILFDWRULL� YDULDELOHORU� GH� WLSXO�GHFODUDW�0HPEULL�XQHL�VWUXFWXUL�SRW�IL�GH�RULFH�WLS��FX�H[FHS LD�WLSXOXL�VWUXFWXU� FDUH�VH�GHFODU���6H�DGPLW�vQV���SRLQWHUL�F�WUH�WLSXO�VWUXFWXU���,GHQWLILFDWRUBWLSBVWUXFWXUD SRDWH�OLSVL�GLQ�GHFODUD LH��vQV� vQ�DFHVW�FD]��vQ�OLVWDBLGHQWLILFDWRULBYDULDELOH WUHEXLH�V� ILH�SUH]HQW�FHO�SX LQ�XQ�LGHQWLILFDWRUBYDUDELOD ��/LVWDBLGHQWLILFDWRULBYDULDELOH SRDWH�OLSVL��vQV���vQ�DFHVW�FD]��HVWH�RELJDWRULH�SUH]HQ D�XQXL�LGHQWLILFDWRUBWLSBVWUXFWXUD �([HPSOX� 6H� GHILQHúWH� QRXO� WLS� GH� GDWH� QXPLW� GDWD�� FX�PHPEULL�]L��OXQD��DQ�� ,GHQWLILFDWRULL�YDULDELOHORU�GH�WLSXO�GDWD VXQW�GDWDBQDúWHULL��GDWDBDQJDM�ULL�

VWUXFW�GDWD�^LQW�]L�FKDU�OXQD>��@�LQW�DQ�

`�GDWDBQDúWHULL��GDWDBDQJDM�ULL�'HFODUD LD�GH�PDL�VXV�SRDWH�DSDUH�VXE�IRUPD�

VWUXFW�GDWD�^LQW�]L�FKDU�OXQD>��@�LQW�DQ�

`�VWUXFW�GDWD�GDWDBQDVWHULL��GDWDBDQJDMDULL�� 9DULDELOHOH�GDWDBQDVWHULL�úL�GDWDBDQJDMDULL�VXQW�GDWH�GH�WLSXO�GDWD �

6H�SRDWH�RPLWH�QXPHOH�QRXOXL�WLS�GH�GDWH�VWUXFW�^

LQW�]L�FKDU�OXQD>��@�LQW�DQ�

`�GDWDBQDúWHULL��GDWDBDQJDM�ULL�,QL LDOL]DUHD� YDULDELOHORU� GH� WLS� QRX�� GHILQLW� SULQ� VWUXFWXU��� VH� SRDWH� UHDOL]D� SULQ� HQXPHUDUHD�YDORULORU�PHPEULORU��vQ�RUGLQHD�vQ�FDUH�DFHúWLD�DSDU�vQ�GHFODUD LD�VWUXFWXULL� 5HIHULUHD�XQXL�PHPEUX�DO�VWUXFWXULL�VH�UHDOL]HD]� FX�DMXWRUXO�XQXL�RSHUDWRU�GH�ED]���QXPLW�RSHUDWRU�GH�VHOHF LH��VLPEROL]DW�SULQ� � �2SHUDWRUXO� DUH�SULRULWDWH�PD[LP���0HPEUXO� VWkQJ�DO� RSHUDWRUXOXL�GH�VHOHF LH�SUHFL]HD]�QXPHOH�YDULDELOHL�GH�WLSXO�LQWURGXV�SULQ�VWUXFWXU���LDU�PHPEUXO�GUHSW�QXPHOH�PHPEUXOXL�VWUXFWXULL��FD�vQ�H[HPSOXO�XUP�WRU�([HPSOX�

Page 119: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

VWUXFW�DQJDMDW^FKDU�QXPH>��@��SUHQXPH>��@�LQW�QUBFRSLL�GRXEOH�VDODULX�FKDU�ORFBQDVWHUH>��@�

`�VWUXFW�DQJDMDW�D� �^�3RSHVFX����9ODG����������������*DODWL�`�D��QUBFRSLL� ���VWUFS\�D��QXPH���3RSHVFR���

9DULDELOHOH�GH�DFHODúL�WLS�SRW�DSDUH�FD�RSHUDQ]L�DL�RSHUDWRUXOXL�GH�DWULEXLUH��ÌQ�DFHVW�FD]�DWULEXLULOH�VH� IDF�PHPEUX� FX�PHPEUX�� ÌQ� H[HPSOXO� DQWHULRU� DP� GHFODUDW� úL� LQL LDOL]DW� YDULDELOD� D��� GH� WLS�DQJDMDW��'HFODU�P�úL�YDULDELOD D���GH�DFHODúL�WLS��'DF� GRULP�FD�PHPEULL�YDULDELOHL�D��V� FRQ LQ�DFHOHDúL� YDORUL� FD� PHPEULL� YDULDELOHL� D�� �D�� VL� D�� GH� WLS� DQJDMDW��� SXWHP� IRORVL� RSHUDWRUXO� GH�DWULEXLUH��FD�vQ�H[HPSOXO�XUP�WRU�

VWUXFW�DQJDMDW�D��D� D��

$úD� FXP� V�D� REVHUYDW� GLQ� H[HPSOXO� DQWHULRU�� VWUXFWXULOH� SRW� DYHD� FD�PHPEUL� WDEORXUL� �VWUXFWXUD�DQJDMDW DUH�FD�PHPEULL�WDEORXULOH�GH�FDUDFWHUH�ORFBQDúWHUH>��@��QXPH>��@��SUHQXPH>��@���'HDVHPHQHD��YDULDELOHOH�GH�WLS�GHILQLW�SULQ�VWUXFWXU� SRW�IL�JUXSDWH�vQ�WDEORXUL�([HPSOX�

VWUXFW�SHUVRDQD^FKDU�QXPH>��@��SUHQXPH>��@�LQW�QUBFRSLL�GRXEOH�VDODULX�FKDU�ORFBQDVWHUH>��@�

`DQJDMDWL>���@�� �6�DX�GHFODUDW�QRXO�WLS�QXPLW�SHUVRDQD úL�YDULDELOD�QXPLW� DQJDMDWL��FDUH�HVWH�XQ�YHFWRU��FX�PD[LP�����GH��HOHPHQWH���DOH�F�UXL�HOHPHQWH�VXQW�GH�WLSXO SHUVRDQD ���,QL LDOL]DUHD�HOHPHQWHORU�YHFWRUXOXL�DQJDMD L>���@

IRU��LQW�L ���L������L���^FRXW���,QWUXGXFHWL�GDWHOH�SHQWUX�DQJDMDWXO����L���� ?Q�FRXW���1XPHOH�����FLQ!!DQJDMDWL>L@�QXPH�FRXW���3UHQXPHOH�����FLQ!!DQJDMD L>L@�SUHQXPH�FRXW���1U��FRSLL����FLQ!!�DQJDMD L>L@�QUBFRSLL�FRXW���/RFXO�QDúWHULL����FLQ!!�DQJDMD L>L@�ORFBQDúWHUH�

`/LPEDMXO�&�SHUPLWH�GHILQLUHD�GH�VWUXFWXUL�DOH�F�URU�PHPEUL�VXQW�WRW�VWUXFWXUL�([HPSOX�

VWUXFW�GDWD^LQW�]L�FKDU�OXQD>��@�LQW�DQ�

`�VWUXFW�SHUVRDQD^

FKDU�QXPH>��@��SUHQXPH>��@�LQW�QUBFRSLL�GRXEOH�VDODULX�FKDU�ORFBQDúWHUH>��@�VWUXFW�GDWD�GDWDBQDúWHULL�

`�VWUXFW� SHUVRDQDS� ^�3RSHVFX���9DVLOH�������������*DODWL��^����0DL������``�

Page 120: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

��0RGLILFDUHD�PHPEUXOXL�GDWDBQDúWHULL�SHQWUX�YDULDELOD�S��GH�WLS�SHUVRDQD�S��GDWDBQDúWHUL�]L ���VWUFS\�S��GDWDBQDúWHUL�OXQD���)HEUXDULH���S��GDWDBQDVWHUL�DQ �����

'DF� VH�GRUHúWH�WUDQVPLWHUHD�FD�SDUDPHWUL�DL�XQRU�IXQF LL�D�GDWHORU�GH�WLS�GHILQLW�GH�XWLOL]DWRU�SULQ�VWUXFWXUL��DFHVW�OXFUX�VH�UHDOL]HD]� QXPDL FX�DMXWRUXO�SRLQWHULORU�VSUH�QRXO�WLSL��'H�H[HPSOX��HVWH�QHFHVDU�FD�YDULDELOD�S���GH�WLS�SHUVRDQD��V� ILH�SUHOXFUDW� vQ IXQF LD�I��ÌQ�DFHVW�FD]��IXQF LD�YD�SULPL�FD�SDUDPHWUX�XQ�SRLQWHU�VSUH�WLSXO�SHUVRDQD��)XQF LD�YD�DYHD�SURWRWLSXO�

YRLG�I�VWUXFW�SHUVRDQD� T��$SHOXO�IXQF LHL�VH�UHDOL]HD]� DVWIHO� I�S���ÌQ�FRUSXO�IXQF LHL�I��DFFHVXO�OD�PHPEULL�YDULELOHL�T��GH�WLS�SHUVRDQD��VH�UHDOL]HD]� DVWIHO�

� T��QXPH�� T��SUHQXPH�� T��GDWDBQDúWHULL�DQ� ��HWF�

3HQWUX�D�VLPSOLILFD�FRQVWUXF LLOH�DQWHULRDUH��VH�IRORVHVWH�RSHUDWRUXO��GH�VHOHF LH�LQGLUHFW� ��!��T�!QXPH�T�!SUHQXPH�T�!GDWDBQDúWHULL�DQ ��HWF�

6WUXFWXULOH� VXQW� XWLOL]DWH� vQ� PRG� IUHFYHQW� OD� GHILQLUHD� XQRU� WLSXUL� GH� GDWH� UHFXUVLYH� �vQ�LPSOHPHQWDUHD� OLVWHORU��DUERULORU��HWF����8Q�WLS�GH�GDWH�HVWH�GLUHFW� UHFXUVLY�GDF� DUH�FHO�SX LQ�XQ�PHPEUX�FDUH�HVWH�GH�WLS�SRLQWHU�VSUH�HO�vQVXúL�([HPSOX��

VWUXFW�QRG^FKDU�QXPH>���@�LQW�DQ�VWUXFW�QRG� XUPDWRU�

`�

([HUFL LX� 6� VH� FLWHDVF� LQIRUPD LLOH� GHVSUH� DQJDMD LL� XQHL� vQWUHSULQGHUL�� IRORVLQG� R� IXQF LH� GH�FLWLUH��6� VH�DILúH]H�DSRL�LQIRUPD LLOH�GHVSUH�DQJDMD L�

�LQFOXGH��VWGLR�K!�LQFOXGH��FRQLR�K!VWUXFW�SHUVRDQD^

FKDU�QXPH>��@�LQW�YDUVWD�LQW�VDODULX�`�YRLG�FLWBSHUV�VWUXFW�SHUVRDQD� SWUBSHUV�^SULQWI��1XPH�DQJDMDW�����VFDQI���V��SWUBSHUV�!QXPH��SULQWI��9DUVWD�DQJDMDW�����VFDQI���G���SWUBSHUV�!YDUVWD��SULQWI��6DODULX�DQJDMDW�����VFDQI���G���SWUBSHUV�!VDODULX��`YRLG�PDLQ��^VWUXFW�SHUVRDQD� S� ��SRLQWHU�FDWUH�GDWH�GH�WLS�SHUVRDQDLQW�QUBDQJ���FOUVFU���SULQWI��1U��DQJDMDWL����VFDQI���G���QUBDQJ��S QHZ�SHUVRDQD>QUBDQJ@� ��DORFDUH�GLQDPLFD�D�PHPRULHL�SHQWUX�FHL�QUBDQJDQJDMDWLIRU��LQW�L ���L�QUBDQJ��L���

FLWBSHUV�S>L@��SULQWI��?Q?Q�'DWHOH�GHVSUH�DQJDMDWL�?Q?Q���IRU��L ���L�QUBDQJ��L���^

SULQWI��$QJDMDWXO��G?Q�180(� �V?Q 9$567$����G?Q�?��FRQWLQXDUH�VLU�

Page 121: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

6$/$5,8/� ��G?Q���L���S>L@�QXPH�S>L@�YDUVWD��S>L@�VDODULX��

SULQWI��?Q?Q��$SDVD�R�WDVWD����?Q����JHWFK���`

`$úD�FXP�VH�REVHUY� GLQ�H[HPSOX��IXQF LD�FLWBSHUV SULPHúWH�FD�SDUDPHWUX�SRLQWHUXO�SWUBSHUV��F�WUH�WLSXO�SHUVRDQD��3HQWUX�D�DFHVD�PHPEUL�VWUXFWXULL��vQ�FRUSXO�IXQF LHL��VH�IRORVHúWH�RSHUDWRUXO�GH�VHOHF LH� LQGLUHFW� �o ��� ÌQ� IXQF LD�PDLQ�� VH�DORF� PHPRULH�GLQDPLF��FX�DMXWRUXO�RSHUDWRUXOXL�QHZ��� /D� DILúDUH�� vQ� IXQF LD� SULQWI�� úLUXO� VSHFLILFDWRU� GH� IRUPDW� VH� FRQWLQX� SH� UkQGXO� XUP�WRU�IRORVLUHD�FDUDFWHUXOXL�? SHQWUX�FRQWLQXDUH��

����������&Æ0385,�'(�%,�,/LPEDMXO�&�RIHU� SRVLELOLWDWHD�GH�SUHOXFUDUH�D�GDWHORU�OD�QLYHO�GH�ELW��'H�PXOWH�RUL�VH�XWLOL]HD] �GDWH� FDUH� SRW� DYHD� GRDU� �� YDORUL� ��� VDX� ���� FXP� DU� IL� GDWHOH� SHQWUX� FRQWUROXO� XQRU� GL VSR]LWLYH�SHULIHULFH��VDX�GDWHOH�GH�YDORUL�PLFL��'HFODUkQG�DFHVWH�GDWH�GH�WLS� LQW VDX�VKRUW�LQW��vQ�PHPRULH�VH�UH]HUY� ���EL L��$ORFDUHD�XQXL�QXP�U�DWkW�GH�PDUH�GH� ORFD LL�GH�PHPRULH�QX�HVWH� MXVWLILFDW���GH�DFHHD�� OLPEDMXO� &� RIHU� SRVLELOLWDWHD� GHFODU�ULL� XQRU� GDWH� SHQWUX� FDUH� V� VH� DORFH� XQ� QXP�U�VSHFLILFDW�GH�EL L��DORFDUH�SH�EL L��'HILQL LH�

8Q�úLU�GH�EL L�DGLDFHQ L�IRUPHD]D�XQ�FkPS�GH�EL L�&kPSXULOH�GH�EL L�VH�SRW�GHFODUD�FD�PHPEUL�DL�XQHL�VWUXFWXUL��DVWIHO�

VWUXFW�LGHQWLILFDWRUBWLSBVWUXFW�^WLSBHOHPB��LGHQWLILFDWRUBHOHPB��OXQJLPH��WLSBHOHPB��LGHQWLILFDWRUBHOHPB��OXQJLPH�������WLSBHOHPB��LGHQWLILFDWRUBHOHPB��OXQJLPH��

`�OLVWDBLGHQWLIBYDUBVWUXFW�/XQJLPH���OXQJLPH���HWF��UHSUH]LQW� OXQJLPHD�ILHF�UXL�FkPS�GH�EL L��UH]HUYDW�SHQWUX�PHPRUDUHD�PHPEULORU��&kPSXULOH�VH�DORF� GH�OD�EL LL�GH�RUGLQ�LQIHULRU�DL�XQXL�FXYkQW���� RFWH L���F�WUH�FHL�GH�RUGLQ�VXSHULRU��ILJXUD������([HPSOX�

VWUXFW�^LQW� D� ��XQVLJQHG�LQW E� ��LQW F� ��

`�[��\�&kPSXULOH�VH�UHIHU� FD�RULFH�PHPEUX�DO�XQHL�VWUXFWXUL��SULQ�QXPH�FDOLILFDWH�([HPSOX�

[�D� �����[�E� ����[�F� ���8WLOL]DUHD�FkPSXULORU�GH�EL L�LPSXQH�XUP�WRDUHOH�UHVWULF LL�� 7LSXO�PHPEULORU�SRDWH�IL�LQW VDX�XQVLJHQHG�LQW�� /XQJLPH�HVWH�R�FRQVWDQW� vQWUHDJ� GLQ�LQWHUYDOXO�>�����@�� 8Q�FkPS�GH�EL L�QX�SRDWH�IL�RSHUDQGXO�XQXL�RSHUDWRU�GH�UHIHUHQ LHUH�� 1X�VH�SRW�RUJDQL]D�WDEORXUL�GH�FkPSXUL�GH�EL L�

���������� F E D)LJXUD�������&kPSXULOH�GH�EL L�D��E��F

Page 122: C++ Tutorial(Romaneste)

� ��� �

'DWRULW� UHVWULF LLORU� SH� FDUH� OH� LPSXQH� IRORVLUHD� FkPSXULORU� GH� EL L�� FkW� úL� GDWRULW� IDSWXOXL� F�DSOLFD LLOH�FDUH�IRORVHVF�DVWIHO�GH�VWUXFWXUL�GH�GDWH�DX�R�SRUWDELOLW DWH�H[WUHP�GH�UHGXV� �RUJDQL]DUHD�PHPRULHL� GHSLQ]kQG� GH� VLVWHPXO� GH� FDOFXO��� VH� UHFRPDQG� IRORVLUHD� FkPSXULORU� GH� EL L� FX�SUHFDX LH��GRDU�vQ�VLWXD LLOH�vQ�FDUH�VH�IDFH�R�HFRQRPLH�VXEVWDQ LDO� GH�PHPRULH�

����������'(&/$5$�,,�'(�7,3/LPEDMXO�&�SHUPLWH�DWULEXLUHD�XQXL�QXPH�SHQWUX�XQ�WLS��SUHGHILQLW�VDX�XWLOL]DWRU��GH�GDWH��3HQWUX�DFHDVWD�VH�IRORVHVF�GHOFDUD LLOH�GH�WLS��)RUPD�JHQHUDO� D�DFHVWRUD�HVWH�

W\SHGHI�WLS�QXPHBWLS�1XPHBWLS SRDWH� IL� IRORVLW� OD� GHFODUDUHD� GDWHORU� vQ�PRG� VLPLODU� FXYLQWHORU� FKHLH� SHQWUX� W LSXULOH�SUHGHILQLWH�([HPSOX����

W\SHGHI�LQW�,175(*�,175(*�[��\�,175(*�] ��

���W\SHGHI�VWUXFW^

GRXEOH�SDUWHBUHDO���GRXEOH�SDUWHBLPDJLQDU���

`�&203/(;�&203/(;�[��\�

������������ ������81,81,$FHHDúL�]RQ� GH�PHPRULH�SRDWH�IL�XWLOL]DW� SHQWUX�S�VWUDUHD�XQRU�RELHFWH��GDWH��GH�GLIHULWH�WLSXUL��SULQ�GHFODUDUHD�XQLXQLORU��8QLXQLOH�VXQW�VLPLODUH�FX�VWUXFWXULOH��VLQJXUD�GLIHUHQ ��FRQVWkQG�vQ�

PRGXO�GH�PHPRUDUH��'HFODUDUHD�XQLXQLORU�XQLRQ LGHQWLILFDWRUBWLSBXQLXQH�^

OLVWD�GH�GHFODUDWLLBPHPEULL�`�OLVWDBLGHQWLILFDWRULBYDULDELOH�

6SD LXO�GH�PHPRULH� DORFDW� FRUHVSXQGH� WLSXOXL�PHPEUXOXL�GH�GLPHQVLXQH�PD[LP���7LSXO�XQLXQH�IRORVHúWH�DFHHDúL� ]RQ� GH�PHPRULH�� FDUH�YD� FRQ LQH� LQIRUPD LL� RUJDQL]DWH� vQ�PDL�PXOWH�PRGXUL��FRUHVSXQ]�WRU�WLSXULORU�PHPEULORU��([HPSOX�

3HQWUX�YDORFDWH�P

�� ����

)LJXUD�������0RGXO�GH�DORFDUH D�PHPRULHL�SHQWUX�YDULDELOD�QXP �XQLXQH��� ��RFWH L

QXP�LQXP�IQXP�G

XQLRQ�QXPHULF^LQW�L�IORDW�I�GRXEOH�G�

`�QXP�QXP�L� ����QXP�I� ������FRXW��VL]HRI�QXP���?Q������

3DJH���� RI����

DULDELOH�QXP�VH�UH]HUY� ��RFWH L�GH�PHPRULH��GLPHQVLXQHD�PD[LP� D�]RQHL�GH�PHPHPEULORU��SHQWUX�LQW V�DU�IL�UH]HUYDW���RFWH L��SHQWUX�IORDW ���LDU�SHQWUX�GRXEOH ��

QXP

RULH���ÌQ�

Page 123: C++ Tutorial(Romaneste)

� ��� �

H[HPSOXO�DQWHULRU��vQ�DFHHDúL�]RQ� GH�PHPRULH�VH�S�VWUHD]� ILH�R�YDORDUH�vQWUHDJ� �QXP�L �����ILH�R�YDORDUH�UHDO���GXEO� SUHFL]LH��QXP�I �������'DF� SHQWUX�GHILQLUHD�WLSXOXL�QXPHULF�V�DU�IL�IRORVLW�R�VWUXFWXU���PRGXO�GH�DORFDUH�D�PHPRULHL�DU�IL�IRVW�FHO�GLQ�ILJXUD�����

7LSX

'LQOLVvQ�PFRQVYDORDYHD([H���

���

([HSDUWDILúHRUGR6� V

QXP�G

QXP�L ��

)LJXUD�������0RGXO�GH�DORFDUH�D�PHPRULHL�SHQWUX�YDULDELOD�QXP �VWUXFWXU���� ���RFWH L

����QXP�IQXP

VWUXFW�QXPHULF^LQW�L�IORDW�I�GRXEOH�G�

`�QXP�QXP�L� ����QXP�I� ������FRXW��VL]HRI�QXP���?Q�������

3DJH���� RI����

���� (180(5�5,O�HQXPHUDUH�DVRFLD]� ILHF�UXL�LGHQWLILFDWRU�R�FRQVDWDQW� vQWUHDJ���6LQWD[D�GHFODUD LHL�

HQXP�LGHQWLILFDWRUBWLSBHQXPHUDUH�^LGHQWLIBHOHP�� �FRQVW��������

`�OLVWDBLGHQWLIBYDULDELOH�� GHFODUD LH� SRW� OLSVL� ILH� LGHQWLILFDWRUBWLSBHQXPHUDUH �� ILH�WDBLGHQWLIBYDULDELOH ��3HQWUX�ILHFDUH�HOHPHQW�DO�HQXPHU�ULL��FRQVWDQWD�SRDWH�IL�DVRFLDW�RG�H[SOLFLW��FD�vQ�GHFODUD LD�DQWHULRDU����ILH�LPSOLFLW��ÌQ�PRGXO�LPSOLFLW�QX�VH�VSHFLILF� QLFL�R�WDQW��� LDU� YDORDUHD� LPSOLFLW� HVWH� �� SHQWUX� SULPXO� HOHPHQW�� LDU� SHQWUX� UHVWXO� HOHPHQWHORU��DUHD�SUHFHGHQW� LQFUHPHQWDW� FX����(QXPHU�ULOH�VH�IRORVHVF�vQ�VLWXD LLOH�vQ�FDUH�YDULDELOHOH�SRW��XQ�QXP�U�PLF�GH�YDORUL�vQWUHJL��DVRFLLQG�XQ�QXPH�VXJHVWLY�SHQWUX�ILHFDUH�YDORDUH�PSOX�

HQXP�ERROHDQ�^)$/6(��758(`� ��GHILQLUHD�WLSXOXL�ERROHDQ�FX�HOHPHQWHOH�)$/6(�VL�758(��GHFODUDWLH�HFKLYDOHQWD�FX� HQXP�ERROHDQ�^)$/6( ���758( �`�FRXW���)$/6(�HVWH����)$/6(��?Q� ��)$/6(�HVWH��W\SHGHI�HQXP�WHPSHUDWXUD�^PLFD �����PHGLH ����PDUH ��`���WLSXO�HQXPHUDUH�WHPSHUDWXUD�� FX�HOHPHQWHOH�PLFD �GH�YDORDUH ������PHGLH �YDORDUH������PDUH �YDORDUH����WHPSHUDWXUD�W���W�� ��GHFODUDUHD� YDULDELOHORU� W��� W�� GH� WLS� HQXPHUDUH�WHPSHUDWXUDW� PHGLH�FRXW���W� ���W���?Q� ��W� ��

UFL LX� 6� VH�FLWHDVF� �FX�DMXWRUXO�XQHL�IXQF LL�GH�FLWLUH��XUP�WRDUHOH�LQIRUPD LL�GHVSUH�HOHYLL�LFLSDQ L�OD�XQ�FRQFXUV�GH�DGPLWHUH��QXPH��QXP�UXO�GH�vQVFULHUH�úL�FHOH�WUHL�QRWH�RE LQXWH��6� VH�]H��SULQWU�R�IXQF LH��LQIRUPD LLOH�FLWLWH��6� VH�DILúH]H�R�OLVW� FX�HOHYLL�SDUWLFLSDQ L�OD�FRQFXUV��QD L�DOIDEHWLF��QRWHOH�úL�PHGLD�RE LQXW� �IXQF LH�GH�RUGRQDUH��IXQF LH�GH�FDOFXODUH�D�PHGLHL���H�DILúH]H�OLVWD�HOHYLORU�vQVFULúL�OD�FRQFXUV��vQ�RUGLQHD�GHVFUHVF�WRDUH�D�PHGLLORU�

Page 124: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

6XQW� SUH]HQWDWH� FkWHYD� PRGDOLW� L� GH� LPSOHPHQWDUH�� ÌQ� DFHVWH� YDULDQWH� DSDU� GRDU� IXQF LD�FLWBHOHY �GH�FLWLUH��úL�PDLQ��6�D�GHILQLW�WLSXO�HOHY��6H�OXFUHD]� FX�YHFWRUL�GH�WLS�HOHY��ÌQ�IXQF LD�FLWBHOHY VH�YDOLGHD]� ILHFDUH�QRW���6H�YD�REVHUYD�PRGXO�GH�DFFHV�OD�PHPEUL�VWUXFWXULL�vQ�IXQF LD�FLWBHOHY�� 'H]DYDQWDMXO� SULQFLSDO� DO� DFHVWXL� PRG� GH� LPSOHPHQWDUH� vO� FRQVWLWXLH� ULVLSD� GH�PHPRULH�� GHRDUHFH� vQ� IXQF LD� PDLQ VH� UH]HUY� R� ]RQ� GH� PHPRULH� FRQWLQX��� SHQWUX� ���� GH�HOHPHQWH�GH�WLS�HOHY����� VL]HRI�HOHY���

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��FRQLR�K!W\SHGHI�VWUXFW�HOHY^

FKDU�QXPH>��@�LQW�QUBPDWU�LQW�QRWH>�@�`� ��GHILQLUHD�WLSXOXL�HOHYYRLG�FLWBHOHYL�HOHY�D>@��LQW�Q�^IRU��LQW�L ���L�Q��L���^

FRXW���1XPH�HOHY����FLQ!!D>L@�QXPH� ��FLWLUHD�QXPHOXL�XQXL�HOHYFRXW���1U��LQVULHUH��� FLQ!!D>L@�QUBPDWU�

IRU��LQW�M ���M����M���^ ���FLWLUHD�QRWHORU�REWLQXWHGR^

FRXW���1RWD�����M������ ���FLQ!!D>L@�QRWH>M@�LI� � � �D>L@�QRWH>M@��� __� D>L@�QRWH>M@!�����YDOLGDUHD�QRWHL

FRXW���1RWD�LQFRUHFWD�����5HSHWD�?Q��`ZKLOH��D>L@�QRWH>M@���__�D>L@�QRWH>M@!����

``

`YRLG�PDLQ��^�LQW�QUBHOHYL���FOUVFU���FRXW���1U��HOHYL���FLQ!!QUBHOHYL�HOHY�S>���@� ��GHFODUDUHD�WDEORXOXL�S��GH�WLS�HOHYFLWBHOHYL�S��QUBHOHYL�� ��DSHO�IXQFWLH`

ÌQ�YDULDQWD�XUP�WRDUH��VH�OXFUHD]� FX�SRLQWHUL�F�WUH�WLSXO�HOHY��LDU�PHPRULD�HVWH�DORFDW� GLQDPLF��W\SHGHI�VWUXFW�HOHY^

FKDU�QXPH>��@�LQW�QUBPDWU�LQW�QRWH>�@�`� ��GHILQLUHD�WLSXOXL�HOHYYRLG�FLWBHOHYL�HOHY� D��LQW�Q�^IRU��LQW�L ���L�Q��L���^

FRXW���1XPH� HOHY���� FLQ!!�D�L��!QXPH� ��VDXFLQ!!� �D�L���QXPH�FRXW���1U��LQVULHUH��� FLQ!!�D�L��!QUBPDWU�IRU��LQW�M ���M����M���^

GR^FRXW���1RWD�����M������ ��FLQ!!�D�L��!QRWH>M@�LI�����D�L��!QRWH>M@���__��D�L��!QRWH>M@!���

FRXW���1RWD�LQFRUHFWD�����5HSHWD�?Q��`ZKLOH���D�L��!QRWH>M@���__��D�L��!QRWH>M@!����

``

`YRLG�PDLQ��^�LQW�QUBHOHYL���FOUVFU���

Page 125: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

FRXW���1U��HOHYL���FLQ!!QUBHOHYL�HOHY� S� ��GHFODUDUHD�SRLQWHUXOXL�S��F�WUH�WLSXO�HOHYS QHZ�HOHY>QUBHOHYL@���DORFDUHD�GLQDPLF� D�PHPRULHL��SHQWUX�XQ�WDEORX�FX�QUBHOHYL HOHPHQWHFLWBHOHYL�S��QUBHOHYL�� ��DSHO�IXQFWLH`

,PSOHPHQWDUHD�WXWXURU�IXQF LLORU��LQFOXGH��VWGLR�K!�LQFOXGH��VWULQJ�K!�GHILQH�',0B3$* �� ��GLPHQVLXQHD�SDJLQLL�GH�DILVDUH�GHILQH�)$/6(���GHILQH�758(��YRLG�RUGBPHGLL�HOHY� D��LQW�Q�^LQW�JDWD� )$/6(�LQW�L�GRXEOH�PHG���PHG��HOHY�DX[�ZKLOH���JDWD�^

JDWD 758(�IRU��L ���L� Q����L���^

PHG� ��PHG� ��IRU��LQW�M ���M����M���^

PHG�� �D�L��!QRWH>M@��PHG�� �D�L����!QRWH>M@���FDOFXOXO�PHGLLORU�SHQWUX�HOHPHQWHOH�YHFLQH

`PHG�� ���PHG�� ��

LI��PHG��PHG��^DX[ �D�L�� �D�L� �D�L���� �D�L��� DX[�JDWD )$/6(� `

```YRLG�RUGBDOI�HOHY� D��LQW�Q�^LQW�JDWD� )$/6(�LQW�L�GRXEOH�PHG���PHG��HOHY�DX[�ZKLOH���JDWD�^

JDWD 758(�IRU��L ���L� Q����L���^

LI��VWUFPS���D�L��!QXPH��D�L����!QXPH��!��^DX[ �D�L�� �D�L� �D�L���� �D�L��� DX[�JDWD )$/6(�`

```YRLG�FLWBHOHYL�HOHY� D��LQW�Q�����IXQFWLH�LPSOHPHQWDWD�DQWHULRUYRLG�DQWHWBDILV�FRQVW�FKDU� V�^SULQWI���V?Q���V��`YRLG�DILVBHOHY�HOHY� D��LQW�Q��FKDU�F�^FOUVFU���LI��F $�

DQWHWBDILV�� /,67$�,16&5,6,/25 ?Q���LI��F 2�

DQWHWBDILV�� /,67$�$/)$%(7,&$ ?Q���LI��F 5�

DQWHWBDILV�� /,67$�0(',, ?Q���

Page 126: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

SULQWI��1U�FUW�_1U�� 0DWULFRO_� 180(������_1RWD�_1RWD�_1RWD�_�0(',$? _?Q���SULQWI������������������������������������������������������������������??Q���LQW�OLQ ��IRU��LQW�L ���L�Q��L���^

SULQWI����G_���G_����V_��L����D�L��!QUBPDWU��D�L��!QXPH��GRXEOH�PHG ��IRU��LQW�M ���M����M���^

SULQWI�����G_����D�L��!QRWH>M@��PHG� �D�L��!QRWH>M@�

`PHG� ��SULQWI�������I_?Q���PHG��OLQ���LI��OLQ �',0B3$*����^

SULQWI����$SDVD�R�WDVWD��������JHWFK���FOUVFU���LI��F $� DQWHWBDILV�� /,67$�,16&5,6,/25 ?Q���LI��F 2� DQWHWBDILV�� /,67$�$/)$%(7,&$ ?Q���LI��F 5� DQWHWBDILV�� /,67$�0(',, ?Q���SULQWI��1U�FUW�_� � � � � � � � � � 180(

_1RWD�_1RWD�_1RWD�_�0(',$? _?Q���SULQWI�����������������������������������������������

��������? ?Q���LQW�OLQ ��

``

SULQWI����$SDVD�R�WDVWD��������JHWFK���`YRLG�PDLQ��^�LQW�QUBHOHYL���FOUVFU���FRXW���1U��HOHYL���FLQ!!QUBHOHYL�HOHY� S��S QHZ�HOHY>QUBHOHYL@�FLWBHOHYL�S��QUBHOHYL��DILVBHOHY�S��QUBHOHYL��$����DILVDUHD�LQVFULVLORURUGBPHGLL�S��QUBHOHYL��DILVBHOHY�S�� QUBHOHYL�� 5����DILVDUHD� LQ� RUGLQHD� GHVFUHVFDWRDUHD�PHGLLORURUGBDOI�S��QUBHOHYL������RUGRQDUH�DOIDEHWLFDDILVBHOHY�S�� QUBHOHYL�� 2����DILVDUHD� LQ� RUGLQHD� GHVFUHVFDWRDUHD�PHGLLORU`

6�DX�LPSOHPHQWHW�XUP�WRDUHOH�IXQF LL�FLWBHOHYL � FLWHúWH�LQIRUPD LLOH�GHVSUH�HOHYLL�vQVFULúL��DILVBHOHYL � DILúHD]� LQIRUPD LLOH� GHVSUH� HOHYL��$FHDVW� IXQF LH� HVWH� IRORVLW� SHQWUX� FHOH� WUHL�DILú�UL� �OLVWD� vQVFULúLORU�� OLVWD� DOIDEHWLF� úL� FODVDPHQWXO� vQ� RUGLQHD� GHVFUHVF�WRDUH� D� PHGLLORU���$ILúDUHD� VH� UHDOL]HD]� FX� DMXWRUXO� IXQF LHL� SULQWI�� FDUH� SHUPLWH� IRUPDWDUHD� GDWHORU� DILúDWH��$ILúDUHD� VH� UHDOL]HD]� HFUDQ� FX� HFUDQ� �VH� IRORVHúWH� YDULDELOD� OLQ FDUH� FRQWRUL]HD]� QXP�UXO� GH�OLQLL� DILúDWH��� FX�SDX]� GXS� ILHFDUH� HFUDQ��/D� vQFHSXWXO� ILHF�UHL�SDJLQL� VH� DILúHD]� WLWOXO OLVWHL� �FRUHVSXQ]�WRU�FDUDFWHUXOXL�WUDQVPLV�FD�SDUDPHWUX�IXQF LHL�� úL�FDSXO�GH�WDEHO��'HDVHPHQHD��SHQWUX�ILHFDUH�HOHY�vQVFULV�VH�FDOFXOHD]� PHGLD�RE LQXW� �YDULDELOD�PHG���RUGBPHGLL � RUGRQHD]� YHFWRUXO� GH� HOHYL� �WUDQVPLV� FD� SDUDPHWUX�� SRLQWHU� OD� WLSXO HOHY���GHVFUHVF�WRU�� GXS� PHGLL�� 6H� DSOLF� PHWRGD� %XEEOH6RUW�� FRPSDUkQGX�VH� PHGLLOH� HOHPHQWHORU�

Page 127: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

YHFLQH� �PHG� UHSUH]LQW� PHGLD� HOHPHQWXOXL� GH� LQGLFH� L�� LDU�PHG� � D� FHOXL� GH� LQGLFH� L���� DOH�YHFWRUXOXL��RUGBDOI � RUGRQHD]� YHFWRUXO�GH�HOHYL��WUDQVPLV�FD�SDUDPHWUX��SRLQWHU�OD�WLSXO�HOHY���FUHVF�WRU��GXS� LQIRUPD LD� FRQ LQXW� GH� PHPEUXO� QXPH�� 3HQWUX� FRPSDUDUHD� QXPHORU� VH� IRORVHúWH� IXQF LD�VWUFPS�'HRDUHFH�HVWH�IRDUWH�SUREDELO�FD�YHFWRUXO�vQVFULúLORU�V� DLE� PXOWH�HOHPHQWH��SHQWUX�RUGRQ�UL��DU�IL�IRVW�PDL� HILFLHQW� PHWRGD� 4XLFN6RUW�� V�D� IRORVLW� %XEEOH6RUW� SHQWUX� D� QX� FRPSOLFD� SUHD�PXOW�SUREOHPD�

Ì175(%�5,�ù,�(;(5&,�,,&KHVWLXQL�WHRUHWLFH�� 9DULDELOHOH�WDEORX�úL�YDULDELOHOH�GH�WLS�GHILQLW�GH�XWLOL]DWRU�VXQW�H[HPSOH�GH�YDULDELOH�FRPSXVH�

�UHSUH]LQW� GDWH�VWUXFWXUDWH���&DUH�HVWH��WRWXúL��GHRVHELUHD�GLQWUH�HOH"�� &H�SRVLELOLW� L�GH�GHILQLUH�D�XQRU�QRL�WLSXUL�GH�GDWH�Y� RIHU� OLPEDMXO�&�&��"�� ÌQ�FH�FRQVW� GLIHUHQ D�GLQWUH�VWUXFWXUL�úL�XQLXQL"�� &XP�VH�QXPHVF�FRPSRQHQWHOH�XQHL�VWUXFWXUL"�� &H�UHVWULF LL�LPSXQH�IRORVLUHD�FkPSXULORU�GH�EL L"�� ([LVW� YUHR�UHVWULF LH�UHIHULWRDUH�OD�WLSXO�PHPEULORU�XQHL�VWUXFWXUL"�'DF� GD��FDUH�HVWH�DFHDVWD"

Page 128: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

&KHVWLXQL�SUDFWLFH��� 6� VH�LPSOHPHQWH]H�SURJUDPHOH�FX�H[HPSOHOH�SUH]HQWDWH���� 6� VH�VFULH�SURJUDPHOH�SHQWUX�H[HUFL LLOH�UH]ROYDWH�FDUH�DX�IRVW�SUH]HQWDWH��� 5HDOL]D L�XUP�WRDUHOH�PRGLILF�UL�OD�H[HUFL LXO�SUH]HQWDW�OD�VIkUúLWXO�FDSLWROXOXL�D� &RPSOHWD L�FX�R�IXQF LH�GH�FDOFXO�úL�DILúDUH�D�PHGLHL�QRWHORU�WXWXURU�FDQGLGD LORU�SHQWUX�ILHFDUH�

SURE� �PHGLD�WXWXURU�HOHYLORU�OD�SURED���PHGLD�OD�SURED���HWF��E� 0RGLILFD L�OLVWD�DOIDEHWLF���DVWIHO�vQFkW�OD�HOHYLL�FX�PHGLH�SHVWH����V� DSDU� �DO�WXUL�GH�PHGLH��

PHVDMXO��3URPRYDW���LDU�OD�FHLODO L��PHVDMXO��1HSURPRYDW��F� &RQVLGHUkQG�F� UH]XOWDWHORU�RE LQXWH�VXQW�XWLOL]DWH�OD�XQ�FRQFXUV�GH�DGPLWHUH��OD�FDUH�H[LVW� 1

ORFXUL��1�LQWURGXV�GH�OD� WDVWDWXU����úL�GH�IDSWXO�F� SHQWUX�D�IL�DGPLV�PHGLD� WUHEXLH�V� ILH�FHO�SX LQ����V� VH�DILúH]H�OLVWD�DGPLúLORU�úL�OLVWD�UHVSLQúLORU��vQ�RUGLQHD�GHVFUHVF�WRDUH�D�PHGLLORU��vQ�OLPLWD�ORFXULORU�GLVSRQLELOH�

�� 6� VH�VFULH�XQ�SURJUDP�FDUH�V� SHUPLW� PHPRUDUHD�GDWHORU�SULYLWRDUH�OD�DQJDMD LL�XQHL�ILUPH�PLFL��QXPH�DQJDMDW��DGUHV���QXP�U�FRSLL��VH[��GDWD�QDúWHULL��GDWD�DQJDM�ULL��FDOLILFDUH��VDODULXO�EUXW��6H�YRU�LPSOHPHQWD�XUP�WRDUHOH�IXQF LL�

D� &LWLUHD�LQIRUPD LLORU�GHVSUH�FHL�1�DQJDMD L��1�LQWURGXV�GH�OD�WDVWDWXU���E� &�XWDUHD�� GXS� QXPH�� D�XQXL�DQJDMDW�úL�DILúDUHD�LQIRUPD LLORU�GHVSUH�DFHVWD��F� 0RGLILFDUHD�LQIRUPD LLORU�GHVSUH�XQ�DQXPLW�DQJDMDW��G� /LVWD� DOIDEHWLF� D� DQJDMD LORU�� vQ� FDUH� YRU� DSDUH�� QXPH�� DGUHV��� GDWD� DQJDM�ULL�� FDOLILFDUH��

VDODULX��H� /LVWD�DQJDMD LORU�vQ�RUGRQH�GHVFUHVF�WRDUH�D�YHFKLPLL�I� /LVWD�DQJDMDWLORU�FX�XQ�DQXPLW�QXPDU�GH�FRSLL��&��LQWURGXV�GH�OD�WDVWDWXU��J� /LVWD�DQJDMD LORU�FX�YkUVWD�PDL�PDUH�GHFkW�9��9�LQWURGXV�GH�OD�WDVWDWXU���K� 6DODULXO�PLQLP��VDODULXO�PHGLX�úL�FHO�PD[LP GLQ�ILUP��L� /LVWD�GH�VDODULL��vQ�FDUH�YRU�DSDUH��QXPHOH��FDOLILFDUHD��VDODULXO�EUXW�úL�VDODULXO�QHW��/D�VIkUúLWXO�

OLVWHL� YRU� DSDUH� WRWDOXULOH� SHQWUX� VDODULLOH� EUXWH�� LPSR]LWH�� VDODULL� QHWH�� 3HQWUX� FDOFXOXO�VDODULXOXL�QHW�VH�DSOLF� XUP�WRDUHOH�UHJXOL�GH�LPSR]LWDUH�L��� , ��� SHQWUX�VDODULXO�EUXW��6%��������L��� , ��������� SHQWUX�������� 6%�������� �����GLQ�FHHD�FH�GHS�úHúWH��������L��� , ���������� SHQWUX��������� 6%��������L��� , ���������� SHQWUX��������� 6%���������L��� , ��� SHQWUX�6%! �������

),ù,(5(�����&DUDFWHULVWLFLOH�JHQHUDOH�DOH�ILúLHUHORU �������3UHOXFUDUHD�OD�QLYHO�GH�úLU�GH������'HVFKLGHUHD�XQXL�ILúLHU �������,QWU�UL�LHúLUL�IRUPDWDWH�����ÌQFKLGHUHD�XQXL�ILúLHU �����,QWU�UL�LHúLUL ELQDUH�����3UHOXFUDUHD�ILúLHUHORU�WH[W �����3R]L LRQDUHD�vQWU�XQ ILúLHU�������3UHOXFUDUHD�OD�QLYHO�GH�FDUDFWHU �����)XQF LL�XWLOLWDUH�SHQWUX�OXFUXO�FX�ILú�������3UHOXFUDUHD�OD�QLYHO�GH�FXYkQW �����$OWH�RSHUD LL�FX�ILúLHUH

FDUDFWHUH

LHUH

Page 129: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

�����&$5$&7(5,67,&,/(�*(1(5$/(�$/(�),ù,(5(/251R LXQHD� GH� ILúLHU�GHVHPQHD]� R� FROHF LH� GH� LQIRUPD LL�PHPRUDW� SH� XQ� VXSRUW� SHUPDQHQW� �GH�RELFHL�GLVFXUL�PDJQHWLFH���SHUFHSXW� FD�XQ�DQVDPEOX�� F�UHLD� L� VH� DVRFLD]� XQ�QXPH� �vQ�YHGHUHD�FRQVHUY�ULL�úL�UHJ�VLULL�XOWHULRDUH��&DUDFWHULVWLFLOH�XQXL�ILúLHU �VXE�VLVWHP�GH�RSHUDUH�06�'26��VXQW��� 'LVSR]LWLYXO�ORJLF�GH�PHPRUDUH��GLVFXO��� &DOHD��vQ�VWUXFWXUD�GH�GLUHFWRDUH��XQGH�HVWH�PHPRUDW�ILúLHUXO�� 1XPHOH�úL�H[WHQVLD�� $WULEXWHOH� FDUH� GHWHUPLQ� RSHUD LLOH� FDUH� SRW� IL� HIHFWXDWH� DVXSUD� ILúLHUXOXL� �GH� H[HPSOX�� 5�

UHDG�RQO\�� FLWLUH��:�ZULWH�RQO\�VFULHUH��5:�UHDG�ZULWH�FLWLUH�VFULHUH��+�KLGGHQ�� QX�VH�SHUPLWH�QLFL�P�FDU� YL]XDOL]DUHD�� 6�V\VWHP� � ILúLHUH� VLVWHP� DVXSUD� F�URUD� QXPDL� VLVWHPXO� GH� RSHUDUH�SRDWH�UHDOL]D�RSHUD LL�RSHUD LL��HWF���

/XFUXO�FX�ILúLHUH�vQ�SURJUDPDUH RIHU� XUP�WRDUHOH�DYDQWDMH�� 3UHOXFUDUHD�GH�XQHL�FDQWLW� L�PDUL�GH�LQIRUPD LH�RE LQXW� GLQ�GLYHUVH�VXUVH�FXP�DU�IL�H[HFX LD�

SUHDODELO� D�XQXL�DOW�SURJUDP�� 6WRFDUHD� WHPSRUDU� SH� VXSRUW� SHUPDQHQW� D� LQIRUPD LHL� vQ� WLPSXO� H[HFX LHL� XQXL� SURJUDP�

SHQWUX�D�HYLWD�VXSUDvQF�UFDUHD�PHPRULHL�GH�OXFUX�� 3UHOXFUDUHD�DFHOHHDúL�FROHF LL�GH�LQIRUPD LL�SULQ�PDL�PXOWH�SURJUDPH�ÌQ� OLPEDMXO� &�� RSHUD LLOH� DVXSUD� ILúLHUHORU VH� UHDOL]HD]� FX� DMXWRUXO� XQRU� IXQF LL� GLQ� ELEOLRWHFD�VWDQGDUG��VWGLR�K���7UDQVIHUXULOH�FX�GLSR]LWLYHOH�SHULIHULFH��WDVWDWXU���PRQLWRU��GLVF��LPSULPDQW���HWF���VH�IDF�SULQ�LQWHUPHGLXO�XQRU�GLVSR]LWLYH�ORJLFH�LGHQWLFH�QXPLWH� VWUHDP�XUL �IOX[XUL��úL�SULQ�LQWHUPHGLXO� VLVWHPXOXL� GH� RSHUDUH�� 8Q� IOX[ GH� GDWH� HVWH� XQ� ILúLHU� VDX� XQ� GLVSR]LWLY� IL]LF� WUDWDW�SULQWU�XQ� SRLQWHU� OD� R� VWUXFWXU� GH� WLS�),/( �GLQ� KHDGHU�XO�VWGLR�K��� &kQG� XQ� SURJUDP� HVWH�H[HFXWDW�� vQ�PRG�DXWRPDW��VH�GHVFKLG�XUP�WRDUHOH�IOX[XUL�GH�GDWH�SUHGHILQLWH��GLVSR]LWLYH� ORJLFH��vQ�VWGLR�K��� VWGLQ� �VWDQGDUG�LQSXW�GHYLFH��� GLVSR]LWLYXO�VWDQGDUG�GH�LQWUDUH��WDVWDWXUD��� $16,,�&�� VWGRXW �VWDQGDUG�RXWSXW�GHYLFH��� GLVSR]LWLYXO�VWDQGDUG�GH�LHúLUH��PRQLWRUXO��� $16,,�&�� VWGHUU �VWDQGDUG�HUURU�RXWSXW�GHYLFH��� GLVSR]LWLYXO�VWDQGDUG�GH�HURDUH��GH�RELFHL�XQ�ILúLHU�

FDUH�FRQ LQH�PHVDMHOH�GH�HURDUH�UH]XOWDWH�GLQ�H[HFX LD�XQRU�IXQF LL��� $16,,�&�� VWGDX[ �VWDQGDUG� DX[LOLDU\� GHYLFH�� � GLVSR]LWLYXO� VWDQGDUG� DX[LOLDU� �GH� RELFHL� LQWHUID D�

VHULDO� DX[LOLDU���� VSHFLILFH�06�'26�� VWGSUQ �VWDQGDUG�SULQWHU��� GLVSR]LWLYXO�GH�LPSULPDUH�� VSHFLILFH�06�'26�ÌQ�DERUGDUHD�OLPEDMXOXL�&� �LPSXV� GH�VWGLR�K���WRDWH�HOHPHQWHOH�FDUH�SRW�FRPXQLFD�LQIRUPD LL�FX�XQ�SURJUDP�VXQW�SHUFHSXWH� � vQ�PRG�XQLWDU� � FD�IOX[XUL�GH�GDWH��'DWHOH� LQWURGXVH�GH� OD� WDVWDWXU�IRUPHD]� XQ�ILúLHU�GH�LQWUDUH��ILúLHUXO�VWDQGDUG�GH�LQWUDUH���'DWHOH�DILúDWH�SH�PRQLWRU�IRUPHD]�XQ� ILúLHU� GH� LHúLUH �ILúLHUXO� VWDQGDUG� GH� LHúLUH��� 6IkUúLWXO� RULF�UXL� ILúLHU� HVWH� LQGLFDW� SULQWU�XQ�PDUFDM�GH�VIkUúLW��GH�ILúLHU �HQG�RI�ILOH���ÌQ�FD]XO�ILúLHUXOXL�VWDQGDUG�GH�LQWUDUH��VIkUúLWXO�GH�ILúLHU�VH�JHQHUHD]� SULQ�&WUO�= �A=�� �VXE�06�'26�� �VDX�&WUO�' VXE� /LQX[���$FHVW� FDUDFWHU� SRDWH� IL�GHWHFWDW�SULQ�IRORVLUHD�FRQVWDQWHL�VLPEROLFH�(2) �GHILQLW� vQ�ILúLHUXO�VWGLR�K���FDUH�DUH�YDORDUHD�����$FHDVW� YDORDUH�QX�U�PDQH�YDODELO� SHQWUX�ILúLHUHOH�ELQDUH��FDUH�SRW�FRQ LQH�SH�R�SR]L LH�RDUHFDUH�FDUDFWHUXO�¶?[�$¶�'H� RELFHL�� VFKLPEXO� GH� LQIRUPD LL� GLQWUH� SURJUDPH� úL� SHULIHULFH� VH� UHDOL]HD]� IRORVLQG� ]RQH�WDPSRQ�� 2� ]RQ� WDPSRQ� S�VWUHD]� XQD� VDX� PDL� PXOWH� vQUHJLVWU�UL�� 3ULQ� RSHUD LD� GH� FLWLUH��vQUHJLVWUDUHD� FXUHQW� HVWH� WUDQVIHUDW� GH� SH� VXSRUWXO� H[WHUQ� vQ� ]RQD� WDPSRQ� FDUH� vL� FRUHVSXQGH��

Page 130: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

SURJUDPXO� DYkQG� DSRL� DFFHV� OD� HOHPHQWHOH� vQUHJLVWU�ULL� GLQ� ]RQD� WDPSRQ�� ÌQ� FD]XO� RSHUD LHL� GH�VFULHUH�� vQUHJLVWUDUHD� VH� FRQVWUXLHúWH� vQ� ]RQD� WDPSRQ�� SULQ� SURJUDP�� ILLQG� DSRL� WUDQVIHUDW � SH�VXSRUWXO�H[WHUQ�DO�ILúLHUXOXL��ÌQ�FD]XO�PRQLWRDUHORU��vQUHJLVWUDUHD�VH�FRPSXQH�GLQ�FDUDFWHUHOH�XQXL�UkQG��'H�RELFHL��R�]RQ� WDPSRQ�DUH�OXQJLPHD�PXOWLSOX�GH�����RFWH L��2ULFH�ILúLHU�WUHEXLH�GHVFKLVLQDLQWH�GH�D�IL�SUHOXFUDW��LDU�OD�WHUPLQDUHD�SUHOXFU�ULL�OXL��WUHEXLH�vQFKLV�)OX[XULOH�SRW�IL�GH�WLS�WH[W VDX�GH�WLS�ELQDU��)OX[XULOH�GH�WLS�WH[W�vPSDUW�ILúLHUHOH�vQ�OLQLL�VHSDUDWH�SULQ�FDUDFWHUXO�¶?Q¶��QHZOLQH OLQLH�QRX����SXWkQG�IL�FLWLWH�FD�RULFH�ILúLHU�WH[W��)OX[XULOH�GH�WLS�ELQDU�WUDQVIHU� EORFXUL�GH�RFWH L��I�U� QLFL�R�VWUXFWXU����QHSXWkQG�IL�FLWLWH�GLUHFW��FD�ILúLHUHOH�WH[W�3UHOXFUDUHD�ILúLHUHORU�VH�SRDWH�IDFH�OD�GRX��QLYHOXUL�� 1LYHOXO� VXSHULRU GH� SUHOXFUDUH� D� ILúLHUHORU� vQ� FDUH� VH� XWLOL]HD]� IXQF LLOH� VSHFLDOL]DWH� vQ�

SUHOXFUDUHD�ILúLHUHORU�� 1LYHOXO� LQIHULRU GH� SUHOXFUDUH� D� ILúLHUHORU� vQ� FDUH� VH� XWLOL]HD]� GLUHFW� IDFLOLW� LOH� RIHULWH� GH�

VLVWHPXO� GH� RSHUDUH�� GHRDUHFH�� vQ� ILQDO�� VDUFLQD� PDQLSXO�ULL� ILúLHUHORU� UHYLQH� VLVWHPXOXL� GH�RSHUDUH�� 3HQWUX� D� DYHD� DFFHV� OD� LQIRUPD LLOH� GHVSUH� ILúLHUHOH� FX� FDUH� OXFUHD]��� VLVWHPXO� GH�RSHUDUH�IRORVHúWH�FkWH�XQ�GHVFULSWRU��EORF�GH FRQWURO��SHQWUX�ILHFDUH�ILúLHU�

&D�XUPDUH��H[LVW� GRX� DERUG�UL�vQ�SULYLQ D�OXFUXOXL�FX�ILúLHUH�� DERUGDUHD�LPSOHPHQWDW� vQ�VWGLR�K��DVRFLD]� UHIHULQ HL�OD�XQ�ILúLHU�XQ� VWUHDP �IOX[�GH�GDWH���

XQ�SRLQWHU�F�WUH�R�VWUXFWXU� ),/(�� DERUGDUHD�GHILQLW� vQ�KHDGHU�XO� LR�K �LQSXW�RXWSXW�KHDGHU�� DVRFLD]� UHIHULQ HL� OD�XQ� ILúLHU�XQ�

DúD�QXPLW�KDQGOH �vQ� FHOH� FH� XUPHD]� DFHVWD� YD� IL� WUDGXV� SULQ� LQGLFDWRU� GH� ILúLHU�� FDUH� GLQ�SXQFW�GH�YHGHUH�DO�WLSXOXL�GH�GDWH�HVWH�LQ�

6FRSXO�OXFUXOXL�FX�ILúLHUH�HVWH�DFHOD�GH�D�SUHOXFUD� LQIRUPD LD�FRQ LQXW���3HQWUX�D�SXWHD�DFFHVD�XQ�ILúLHU�YD�WUHEXL�V��O�DVRFLHP�FX�XQXO�GLQ�FHOH�GRX� PRGDOLW� L�GH�PDQLSXODUH��$FHVW�WLS�GH�RSHUD LH�VH�PDL�QXPHúWH�GHVFKLGHUH�GH�ILúLHU��ÌQDLQWH�GH�D�FLWL�VDX�VFULH�vQWU �XQ�ILúLHU��QHFRQHFWDW�DXWRPDW�SURJUDPXOXL���ILúLHUXO�WUHEXLH��GHVFKLV�FX�DMXWRUXO�IXQF LHL�IRSHQ GLQ�ELEOLRWHFD�VWDQGDUG��)XQF LD�SULPHúWH�FD�DUJXPHQW�QXPHOH�H[WHUQ�DO�ILúLHUXOXL��QHJRFLD]� FX�VLVWHPXO�GH�RSHUDUH�úL�UHWXQHD]�XQ� QXPH� �LGHQWLILFDWRU�� LQWHUQ� FDUH� YD� IL� XWLOL]DW� XOWHULRU� OD� SUHOXFUDUHD� ILúLUHXOXL�� $FHVW�LGHQWLILFDWRU� LQWHUQ� HVWH� XQ� SRLQWHU� OD� R� VWUXFWXU� FDUH� FRQ LQH� � LQIRUPD LL� GHVSUH� ILúLHU� �SR]L LD�FXUHQW� vQ� �EXIIHU��GDF� VH�FLWHúWH�VDX�VH�VFULH�vQ�ILúLHU��HWF����8WLOL]DWRULL�QX� WUHEXLH�V� FXQRDVF�GHWDOLLOH��VLQJXUD�GHFODUD LH QHFHVDU� ILLQG�FHD�SHQWUX�SRLQWHUXO�GH�ILúLHU�([HPSOX�� ),/(� IS�2SHUD LLOH FDUH�SRW�IL�UHDOL]DWH�DVXSUD�ILúLHUHORU�VXQW�� GHVFKLGHUHD�XQXL�ILúLHU�� VFULHUHD�vQWU�XQ�ILúLHU�� FLWLUHD�GLQWU�XQ�ILúLHU�� SR]L LRQDUHD�vQWU�XQ�ILúLHU�� vQFKLGHUHD�XQXL�ILúLHU�

������'(6&+,'(5($�818,�),ù,(5� )XQF LD�IRSHQ

&UHD]� XQ� IOX[� GH� GDWH� vQWUH� ILúLHUXO� VSHFLILFDW� SULQ� QXPHOH� H[WHUQ� �QXPHBILúLHU�� úL�SURJUDPXO� &�� 3DUDPHWUXO� PRG VSHFLILF� VHQVXO� IOX[XOXL� GH� GDWH� úL� PRGXO� GH� LQWHUSUHWDUH� D�

Page 131: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

DFHVWRUD��)XQF LD�UHWXUQHD]� XQ�SRLQWHU�VSUH�WLSXO�),/(��LDU�vQ�FD]�GH�HURDUH� � SRLQWHUXO�18//��SURWRWLS�vQ�VWGLR�K��

),/(� IRSHQ�FRQVW�FKDU� QXPHBILúLHU��FRQVW�FKDU� PRG��3DUDPHWUXO� PRG HVWH� R� FRQVWDQW� úLU� GH� FDUDFWHUH�� FDUH� SRDWH� FRQ LQH� FDUDFWHUHOH� FX�VHPQLILFD LLOH��� U ��IOX[�GH�GDWH�GH�LQWUDUH��GHVFKLGHUH�SHQWUX�FLWLUH�� Z ��IOX[�GH�GDWH�GH�LHúLUH��GHVFKLGHUH�SHQWUX�VFULHUH��FUHD]� XQ�ILúLHU�QRX�VDX�VXSUDVFULH�

FRQ LQXWXO�DQWHULRU�DO�ILúLHUXOXL�H[LVWHQW��� D ��IOX[�GH�GDWH�GH�LHúLUH�FX�VFULHUH�OD�VIkUúLWXO�ILúLHUXOXL��DG�XJDUH��VDX�FUHDUHD�ILúLHUXOXL�

vQ�FD]XO�vQ�FDUH�DFHVWD�QX�H[LVW��� � �� � H[WLQGH�XQ�IOX[�GH� LQWUDUH� VDX� LHúLUH� OD�XQXO�GH� LQWUDUH�LHúLUH��RSHUD LL�GH�VFULHUH� úL�

FLWLUH�DVXSUD�XQXL�ILúLHU�GHVFKLV�vQ�FRQGL LLOH�U��Z�VDX�D�� E ��GDWH�ELQDUH�� W ��GDWH�WH[W��PRGXO�LPSOLFLW��

([HPSOH��U�� ± GHVFKLGHUH�SHQWUX�PRGLILFDUH��FLWLUH�úL�VFULHUH���Z�� ± GHVFKLGHUH�SHQWUX�PRGLILFDUH��FLWLUH�úL�VFULHUH���UE� ± FLWLUH�ELQDU���ZE� ± VFULHUH�ELQDU���U�E� ± FLWLUH�VFULHUH�ELQDU��

� )XQF LD IUHRSHQ��VWGLR�K�$VRFLD]� XQ�QRX�ILúLHU�XQXL�IOX[�GH�GDWH�GHMD�H[LVWHQW��vQFKL]kQG�OHJ�WXUD�FX�YHFKLXO�ILúLHU�úL�vQFHUFkQG� V� GHVFKLG� XQD� QRX��� FX� ILúLHUXO� VSHFLILFDW�� )XQF LD� UHWXUQHD]� SRLQWHUXO� F�WUH�IOX[XO�GH�GDWH�VSHFLILFDW��VDX�18// vQ�FD]�GH�HúHF��SURWRWLS�vQ�VWGLR�K��

),/( IUHRSHQ�FRQVW�FKDU QXPHBILú�FRQVW�FKDU PRG�),/(� IOX[BGDWH��� )XQF LD RSHQ

'HVFKLGH�ILúLHUXO�VSHFLILFDW�FRQIRUP�FX�UHVWULF LLOH�GH�DFFHV��SUHFL]DWH�vQ�DSHO��5HWXUQHD]� XQ�vQWUHJ�FDUH�HVWH�XQ�LQGLFDWRU�GH�ILúLHU�VDX�����vQ�FD]�GH�HúHF���SURWRWLS�vQ�LR�K��

LQW�RSHQ�FRQVW�FKDU� QXPHBILúLHU��LQW�DFFHV�>�LQW�PRG@��5HVWULF LLOH�GH�DFFHV�VH�SUHFL]HD]� SULQ�DSOLFDUHD�RSHUDWRUXOXL�_ �GLVMXQF LH�ORJLF� OD�QLYHO�GH�ELW��vQWUH�DQXPLWH�FRQVWDQWH�VLPEROLFH��GHILQLWH�vQ�IFQWO�K��FXP�VXQW��

2B5'21/< � FLWLUH���2B:521/< � VFULHUH2B5':5 � FLWLUH�úL�VFULHUH2B&5($7 � FUHDUH2B$33(1' � DG�XJDUH�OD�VIkUúLWXO�ILúLHUXOXL2B7(;7 � LQWHUSUHWDUH�&5�/)2B%,1$5< � QLFL�R�LQWHUSUHWDUH��

5HVWULF LLOH�GH�PRG�GH�FUHDUH�VH�UHDOL]HD]� FX�DMXWRUXO�FRQVWDQWHORU�6B,5($' � SHUPLVLXQH�GH FLWLUH�GLQ�ILúLHU6B,:5,7( � SHUPLVLXQH� GH� VFULHUH� GLQ� ILúLHU�� HYHQWXDO� OHJDWH� SULQ�RSHUDWRUXO�³_´�

� )XQF LD FUHDW&UHD]� XQ�ILúLHU�QRX�VDX�vO�VXSUDVFULH�vQ�FD]XO�vQ�FDUH�GHMD�H[LVW���5HWXUQHD]� LQGLFDWRUXO�GH�ILúLHU� VDX� ��� �vQ� FD]� GH� HúHF��� 3DUDPHWUXO� XQBPRG HVWH� RE LQXW� vQ�PRG� DQDORJ� FHOXL� GH� OD�IXQF LD�GH�GHVFKLGHUH��SURWRWLS�vQ�LR�K��

Page 132: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

LQW�FUHDW�FRQVW�FKDU� QXPHBILúLHU��LQW�XQBPRG��� )XQF LD�FUHDWQHZ

&UHD]� XQ�ILúLHU�QRX��FRQIRUP�PRGXOXL�VSHFLILFDW��5HWXUQHD]� LQGLFDWRUXO�ILúLHUXOXL�QRX�FUHDW�VDX�UH]XOWDW�GH�HURDUH�������GDF� ILúLHUXO�GHMD�H[LVW� �SURWRWLS�vQ�LR�K��

LQW�FUHDWQHZ�FRQVW�FKDU� QXPHBILúLHU��LQW�PRG��'XS� FXP�VH�REVHUY���LQIRUPD LD�IXUQL]DW� SHQWUX�GHVFKLGHUHD�XQXL�ILúLHU�HVWH�DFHHDúL�vQ�DPEHOH�DERUG�UL�� GLIHUHQ D� FRQVWkQG� vQ� WLSXO� GH� GDWH DO� HQWLWD LL� DVRFLDWH� ILúLHUXOXL�� ,PSOHPHQWDUHD� GLQ�LR�K RIHU� XQ�DOW� WLS�GH�FRQWURO� OD�QLYHOXO�FRPXQLF�ULL� FX�HFKLSDPHQWHOH�SHULIHULFH� �IXUQL]DW�GH�IXQF LD�LRFWUO���DVXSUD�F�UXLD�QX�YRP�LQVLVWD��GHRDUHFH�GHVI�úXUDUHD�DFHVWXL�WLS�GH�FRQWURO�HVWH�PDL�JUHRDLH��GDU�PDL�SURIXQG���������Ì1&+,'(5($�818,�),ù,(5� )XQF LD�IFORVH

LQW�IFORVH�),/(� SI��)XQF LD� vQFKLGH�XQ� ILúLHU�GHVFKLV�FX�IRSHQ úL�HOLEHUHD]� PHPRULD� DORFDW� �]RQD� WDPSRQ� úL�VWUXFWXUD�),/(���5HWXUQHD]� YDORDUHD��� OD� vQFKLGHUHD�FX� VXFFHV� D� ILúLHUXOXL� ú L� ��� vQ� FD]�GH�HURDUH��SURWRWLS�vQ�VWGLR�K��

� )XQF LD�IFORVHDOOLQW�IFORVHDOO�YRLG��

ÌQFKLGH�WRDWH�IOX[XUXULOH�GH�GDWH�úL�UHWXUQHD]� QXP�UXO�IOX[XULORU�GH�GDWH�vQFKLVH��SURWRWLS�vQ�VWGLR�K��

� )XQF LD FORVHLQW�FORVH�LQW�LQGLFDWRU��

ÌQFKLGH� XQ� LQGLFDWRU� GH� ILúLHU� úL� UHWXUQHD]� �� �vQ� FD]� GH� VXFFHV�� VDX� ��� vQ� FD]� GH� HURDUH��SURWRWLS�vQ�LR�K��

������35(/8&5$5($�),ù,(5(/25�7(;7'XS� GHVFKLGHUHD�XQXL� ILúLHU�� WRDWH�RSHUD LLOH�DVXSUD�ILúLHUXOXL�YRU� IL�HIHFWXDWH�FX�SRLQWHUXO�V�X��2SHUD LLOH�GH�FLWLUH�úL�VFULHUH�vQWU�XQ�ILúLHU�WH[W�SRW�IL�� LQWU�UL�LHúLUL�OD�QLYHO�GH�FDUDFWHU��GH�RFWHW��� LQWU�UL�LHúLUL�OD�QLYHO�GH�FXYkQW����RFWH L��� LQWU�UL�LHúLUL�GH�úLUXUL�GH�FDUDFWHUH�� LQWU�UL�LHúLUL�FX�IRUPDWDUH�&RPXQLFDUHD�GH� LQIRUPD LH�GH� OD�XQ�ILúLHU�F�WUH�XQ�SURJUDP�HVWH�DVLJXUDW� SULQ� IXQF LL�GH�FLWLUHFDUH�WUDQVIHU� R�FDQWLWDWH�GH�RFWH L��XQLWDWHD�GH�P�VXU� vQ�FD]XO�QRVWUX��GLQ�ILúLHU�vQWU�R�YDULDELO��SURJUDP�SH�FDUH�R�YRP�QXPL�EXIIHU��HD�vQV�úL�DYkQG�VHQVXO�XQHL�vQúLUXLUL�GH�RFWH L�SULQ�GHFODUD LD�YRLG� EXI�� &RPXQLFDUHD� GH� LQIRUPD LH� GH� OD� XQ� SURJUDP� F�WUH� XQ� ILúLHU� HVWH� DVLJXUDW� SULQ�IXQF LL� GH� VFULHUH FDUH� WUDQVIHU� R� FDQWLWDWH� GH� RFWH L� GLQWU�R� YDULDELO��SURJUDP� GH� WLS� EXIIHU� vQ�ILúLHU�)LúLHUHOH� VXQW� SHUFHSXWH� vQ� OLPEDMXO� &� FD� ILLQG�� LPSOLFLW�� VHFYHQ LDOH� �LQIRUPD LD� HVWH� SDUFXUV�VXFFHVLY��HOHPHQW�FX�HOHPHQW���3HQWUX�DFHDVWD��DWkW�IOX[XULOH�GH�GDWH�FkW�úL�LQGLFDWRULL�GH�ILúLHU�DX�DVRFLDW�XQ�LQGLFDWRU�GH�SR]L LH�FXUHQW� vQ�FDGUXO�ILúLHUXOXL��$FHVWD�HVWH�LQL LDOL]DW�OD���vQ�PRPHQWXO�

Page 133: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

GHVFKLGHULL��LDU�RSHUD LLOH�GH�FLWLUH��UHVSHFWLY�VFULHUH��VH�UHIHU� OD�VXFFHVLXQHD�GH�RFWH L�FDUH�vQFHSH�FX� SR]L LD� FXUHQW��� 2SHUDUHD� DVXSUD� ILHF�UXL� RFWHW� GLQ� VXFFHVLXQH� GHWHUPLQ� LQFUHPHQWDUHD�LQGLFDWRUXOXL�GH�SR]L LH�FXUHQW��

��������35(/8&5$5($�818,�),ù,(5��/$�1,9(/�'(�&$5$&7(5)LúLHUHOH�SRW�IL�VFULVH�úL�FLWLWH�FDUDFWHU�FX�FDUDFWHU�IRORVLQG�IXQF LLOH�SXWF �SHQWUX�VFULHUH��úL�JHWF�FLWLUH��� )XQF LD�SXWF

LQW�SXWF��LQW�F��),/(� SI��F�± HVWH�FRGXO�$6&,,�DO�FDUDFWHUXOXL�FDUH�VH�VFULH�vQ�ILúLHU�SI ± HVWH�SRLQWHUXO�VSUH�WLSXO�),/( D�F�UXL�YDORDUH�D�IRVW�UHWXUQDW� GH�IXQF LD��IRSHQ��)XQF LD�SXWF UHWXUQHD]� YDORDUHD�OXL�F �YDORDUHD�VFULV� vQ�FD]�GH�VXFFHV���VDX�±���(2)��vQ�FD]�GH�HURDUH�VDX�VIkUúLW�GH�ILúLHU�

� )XQF LD�JHWFLQW�JHWF��),/(� SI��

)XQF LD�FLWHúWH�XQ�FDUDFWHU�GLQWU�XQ�ILúLHU��SRLQWHUXO�VSUH�WLSXO�),/( WUDQVPLV�FD�DUJXPHQW��úL�UHWXUQHD]� FDUDFWHUXO�FLWLW�VDX�(2) OD�VIkUúLW�GH�ILúLHU�VDX�HURDUH�

([HUFL LX� 6� VH� VFULH� XQ� SURJUDP�FDUH� FUHD]� XQ� ILúLHU� WH[W vQ� FDUH� VH� YRU� VFULH� FDUDFWHUHOHLQWURGXVH�GH�OD�WDVWDWXU� �FLWLWH�GLQ ILúLHUXO�VWDQGDUG�GH�LQWUDUH���SkQ� OD�vQWkOQLUHD�FDUDFWHUXOXL�A=� �&WUO�=�

�LQFOXGH��VWGLR�K!�LQFOXGH��SURFHVV�K!YRLG�PDLQ��^LQW�F��L �� ),/(� SIFDU�FKDU�PHVDM>@ �?Q,QWURGX�FDUDFWHUH�XUPDWH�GH�&WUO�=��&WUO�'�VXE�/LQX[��?Q��FKDU�HURDUH>@ �?Q�(URDUH�GHVFKLGHUH�ILúLHU�?Q��ZKLOH�PHVDM>L@��SXWFKDU�PHVDM>L��@��SIFDU IRSHQ��IBFDU��W[W���Z��� ���FUHDUHD�ILúLHUXOXL�FX�QXPHOH�H[WHUQ�IBFDU��W[WLI�SIFDU 18//�^L ��ZKLOH�HURDUH>L@�SXWF�HURDUH>L��@�VWGRXW��H[LW����`ZKLOH��F JHWFKDU���� (2)� ���VDX���ZKLOH���F JHWF�VWGLQ���� �(2)�

SXWF�F�SIFDU�� ���VFULHUHD�FDUDFWHUXOXL�vQ�ILúLHUIFORVH�SIFDU�� ���vQFKLGHUHD�ILúLHUXOXL`

([HUFL LX� 6� VH� VFULH� XQ� SURJUDP� FDUH� FLWHúWH� XQ� ILúLHU� WH[W�� FDUDFWHU� FX� FDUDFWHU�� úL� DILúHD]�FRQ LQXWXO�DFHVWXLD�

�LQFOXGH �VWGLR�K!�LQFOXGH��SURFHVV�K!YRLG�PDLQ��^LQW�F��L ��

Page 134: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

),/(� SIFDU�FKDU�HURDUH>@ �?Q�(URDUH�GHVFKLGHUH�ILúLHU�?Q��SIFDU IRSHQ��IBFDU��W[W���U��� ��GHVFKLGHUHD�ILúLHUXOXL�QXPLW�IBFDU��W[W vQ�FLWLUHLI�SIFDU 18//�^L ��ZKLOH�HURDUH>L@�SXWF�HURDUH>L��@�VWGRXW��H[LW����`�ZKLOH��F JHWF�SIFDU��� (2)� ��FLWLUH�GLQ�ILúLHU��OD�QLYHO�GH�FDUDFWHU

SXWF�F�VWGRXW����VFULHUHD�FDUDFWHUXOXL�FLWLW�vQ�ILúLHUXO�VWDQGDUG�GH�LHúLUH��DILúDUH�SH�PRQLWRU�

IFORVH�SIFDU��`

�������35(/8&5$5($�818,�),ù,(5��/$�1,9( /�'(�&89Æ17�)XQF LLOH�SXWZ� úL�JHWZ �SXWZRUG� úL� JHWZRUG�� VXQW�HFKLYDOHQWH� FX� IXQF LLOH�SXWF úL�JHWF�� FX�GLIHUHQ D�F� XQLWDWHD�WUDQVIHUDW� QX�HVWH�XQ�VLQJXU�RFWHW��FDUDFWHU���FL�XQ�FXYkQW��XQ�LQW��

LQW�JHWZ�),/(� SI��LQW�SXWF��LQW�Z��),/(� SI��

6H�UHFRPDQG� XWLOL]DUHD�IXQF LHL�IHRI SHQWUX�D�WHVWD�vQWkOQLUHD�VIkUúLWXOXL�GH�ILúLHU�([HPSOX�

LQW�WDE>���@�),/(� SI������� ����GHVFKLGHUH�ILúLHUZKLOH���IHRI�SI��^

IRU��LQW�L ���L������L���^LI��IHRI�SI��

EUHDN�WDE>L@ JHWZ�SI����FLWLUH�GLQ�ILúLHU�OD�QLYHO�GH�FXYkQW�úL�PHPRUDUH�vQ�YHFWRUXO�WDE���������

``SULQWI��6IDUúLW�GH�ILúLHU?Q���

�������35(/8&5$5($�818,�),ù,(5��/$�1,9(/�'(�ù,5�'(�&$5$&7(5(ÌQWU�XQ�ILúLHU�WH[W��OLQLLOH�VXQW�FRQVLGHUDWH�FD�OLQLL�GH�WH[W�VHSDUDWH�GH�VIkUúLWXO�GH�OLQLH��?Q���LDU�vQ�PHPRULH��HOH�GHYLQ�úLUXUL�GH�FDUDFWHUH�WHUPLQDWH�GH�FDUDFWHUXO�QXO��?����&LWLUHD�XQHL�OLQLL�GH�WH[W�GLQWU�XQ�ILúLHU�VH�UHDOL]HD]� FX�DMXWRUXO�IXQF LHL�IJHWV��LDU�VFULHUHD�vQWU�XQ�ILúLHU�� FX�DMXWRUXO�IXQF LHL�ISXWV�)XQF LD�IJHWV HVWH� LQGHQWLF� FX�IXQF LD�JHWV��FX�GHRVHELUHD�F� IXQF LD�JHWV�FLWHúWH�GLQ� ILúLHUXO�VWDQGDUG�GH�LQWUDUH��VWGLQ���)XQF LD�ISXWV HVWH�LQGHQWLF� FX�IXQF LD�SXWV��FX�GHRVHELUHD�IXQF LD�SXWV�VFULH�vQ�ILúLHUXO�VWDQGDUG�GH�LHúLUH��VWGRXW���� )XQF LD��ISXWV

Page 135: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

LQW�ISXWV�FRQVW�FKDU� V��),/(� SI��)XQF LD� VFULH� XQ� úLU� GH� FDUDFWHUH� vQWU�XQ� ILúLHU� úL� SULPHúWH� FD� DUJXPHQWH� SRLQWHUXO� VSUH� ]RQD� GH�PHPRULH��EXIIHU�XO��FDUH�FRQ LQH�úLUXO�GH�FDUDFWHUH��V��úL�SRLQWHUXO�VSUH�VWUXFWXUD�),/(��)XQF LD�UHWXUQHD]� XOWLPXO�FDUDFWHU�VFULV��vQ�FD]�GH VXFFHV��VDX����vQ�FD]�GH�HURDUH�� )XQF LD��IJHWV

FKDU� IJHWV�FKDU� V��LQW�GLP��),/(� SI��)XQF LD�FLWHúWH�PD[LPXP�GLP�� RFWH L��FDUDFWHUH��GLQ�ILúLHU��VDX�SkQ� OD�vQWkOQLUHD�VIDUúLWXOXL�GH�OLQLH��3RLQWHUXO�VSUH�]RQD�vQ�FDUH�VH�IDFH�FLWLUHD�FDUDFWHUHORU�HV WH�V��7HUPLQDWRUXO�QXOO��?���HVWH�SODVDW� DXWRPDW� OD� VIkUúLWXO� úLUXOXL� �EXIIHU�OXL� GH�PHPRULH��� )XQF LD� UHWXUQHD]� XQ� SRLQWHU� F�WUH�EXIIHU�XO� vQ�FDUH�HVWH�PHPRUDW�úLUXO�GH�FDUDFWHUH�� vQ�FD]�GH�VXFFHV��VDX�SRLQWHUXO� 18// vQ�FD]XO�HúHFXOXL��([HUFL LX� 6� VH�VFULH�XQ�SURJUDP�FDUH�FUHD]� XQ�ILúLHU�WH[W�vQ�FDUH�VH�YRU�VFULH�úLUXULOH�GH�FDUDFWHUH�LQWURGXVH�GH�OD�WDVWDWXU���

�LQFOXGH��VWGLR�K!YRLG�PDLQ��^LQW�Q ���� ),/(� SIVLU�FKDU�PHVDM>@ �?Q,QWURGX�VLUXUL�FDU�XUPDWH�GH�&WUO�=�&WUO�'�VXE�/LQX[��?Q��FKDU�VLU>���@� SVLU� ISXWV�PHVDM�VWGRXW��SIVLU IRSHQ��IBVLU�W[W���Z��� ��GHVFKLGHUHD�ILúLHUXOXL�IBúLU�W[W SHQWUX�VFULHUHSVLU IJHWV�VLU�Q�VWGLQ�� ���FLWLUHD�úLUXULORU�GLQ�ILúLHUXO�VWDQGDUG�GH�LQWUDUHZKLOH�SVLU� 18//�^ISXWV�VLU�SIVLU�� ���VFULHUHD�vQ�ILúLHUXO�WH[WSVLU IJHWV�VLU�Q�VWGLQ��`IFORVH�SIVLU��`

([HUFL X� 6� VH�VFULH�XQ�SURJUDP�FDUH�FLWHúWH�XQ�ILúLHU�WH[W��OLQLH�FX�OLQLH��úL�DILúHD]� FRQ LQXWXO�DFHVWXLD�

�LQFOXGH��VWGLR�K!YRLG�PDLQ��^LQW�Q �����),/(� SIVLU��FKDU�VLU>���@� SVLU�SIVLU IRSHQ��IBVLU�W[W���U����SVLU IJHWV�VLU�Q�SIVLU��ZKLOH�SVLU� 18//�^ISXWV�VLU�VWGRXW�� ��VDX� SXWV�VLU��

��DILúDUHD��VFULHUHD�vQ�ILúLHUXO�VWDQGDUG�GH�LHúLUH��úLUXOXL��OLQLHL��FLWLW�GLQ�ILúLHUXO�WH[WSVLU IJHWV�VLU�Q�SIVLU�� ��FLWLUHD�XQHL�OLQLL�GH�WH[W GLQ�ILúLHU`IFORVH�SIVLU��`

Page 136: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

�������,175�5,�,(ù,5,�)250$7$7(2SHUD LLOH�GH�LQWUDUH�LHúLUH�IRUPDWDWH�SHUPLW�FLWLUHD��UHVSHFWLY�VFULHUHD�vQWU�XQ�ILúLHU�WH[W��LPSXQkQG�XQ� DQXPLW� IRUPDW�� 6H� XWLOL]HD]� IXQF LLOH� IVFDQI úL� ISULQWI�� VLPLODUH� IXQF LLORU� VFDQI úL�SULQWI �FDUH�SHUPLW�FLWLUHD�VFULHUHD�IRUPDWDW� GH�OD�WDVWDWXU��PRQLWRU��� )XQF LD�IVFDQI

LQW�IVFDQI�),/(� SI��FRQVW�FKDU� IRUPDW���������� )XQF LD�ISULQWI

LQW�ISULQWI�),/(� SI��FRQVW�FKDU� IRUPDW���������)XQF LLOH�SULPHVF�FD�SDUDPHWUL�ILFúL�SRLQWHUXO��SI ��VSUH�WLSXO�),/( �FX�YDORDUHD�DWULEXLW� OD�DSHOXO�IXQF LHL�IRSHQ���úL�VSHFLILFDWRUXO�GH�IRUPDW��FX�VWUXFWXU� LGHQWLF� FHOXL�SUH]HQWDW�SHQWUX�IXQF LLOH�SULQWI úL�VFDQI���)XQF LLOH�UHWXUQHD]� QXP�UXO�FkPSXULORU�FLWLWH�VFULVH�vQ�ILúLHU��VDX�����(2)��vQ�FD]XO��GHWHFW�ULL�VIkUúLWXOXL�ILúLHUXOXL�VDX�DO�XQHL�HURUL�

�����,175�5,�,(ù,5,�%,1$5(�5HDPLQWLP�F� IOX[XULOH�GH�WLS�ELQDU�WUDQVIHU� EORFXUL�GH�RFWH L��I�U� QLFL�R�VWUXFWXU����QHSXWkQG�IL�FLWLWH�GLUHFW��FD�ILúLHUHOH�WH[W��YH]L�SDUDJUDIXO��������&RPXQLFDUHD�GH�LQIRUPD LH�GLQWUH�XQ�SURJUDP�úL� XQ� ILúLHU� HVWH� DVLJXUDW� SULQ� IXQF LL� GH� FLWLUH�VFULHUH� FDUH� WUDQVIHU� XQ� QXP�U� GH� RFWH L�� SULQ�LQWHUPHGLXO�XQXL�EXIIHU�)XQF LLOH�GH�FLWLUH� )XQF LD IUHDG

&LWHúWH�GDWH�GLQWU�XQ� IOX[��VXE� IRUPD�D�Q EORFXUL� �HQWLW� L��� ILHFDUH�EORF�DYkQG�GLPHQVLXQHD�GLP�� vQWU�XQ� EXIIHU� �EXI��� 5HWXUQHD]� QXP�UXO� GH� EORFXUL� FLWLWH� HIHFWLY�� VDX� ��� vQ� FD]� GH�HURDUH��SURWRWLS�vQ�VWGLR�K��

VL]HBW�IUHDG�YRLG� EXI��VL]HBW�GLP��VL]HBW�Q��),/(� IOX[BGDWH��� )XQF LD�UHDG

&LWHúWH�GLQWU�XQ�ILúLHU��SUHFL]DW�SULQ�LQGLFDWRUXO�V�X��LQGLFDWRU��XQ�QXP�U�GH�Q RFWH L�úL�vL�PHPRUHD]� vQ� EXIIHUXO� EXI�� )XQF LD� UHWXUQHD]� QXP�UXO� GH� RFWH L� FLWL L� HIHFWLY� �SHQWUX�ILúLHUHOH�GHVFKLVH�vQ�PRG�WH[W�QX�VH�QXP�U� VLPEROXULOH�GH�VILUúLW�GH�OLQLH���VDX� ���vQ�FD]�GH�HURDUH��SURWRWLS�vQ�LR�K��

LQW�UHDG�LQW�LQGLFDWRU��YRLG� EXI��XQVLJQHG�Q��)XQF LLOH�GH�VFULHUH)LúLHUHOH�RUJDQL]DWH�FD�GDWH�ELQDUH�SRW�IL�SUHOXFUDWH�FX�DMXWRUXO�IXQF LLORU�IUHDG úL�IZULWH��ÌQ�DFHVW�FD]��VH�FRQVLGHU� F� vQUHJLVWUDUHD�HVWH�R�FROHF LH�GH�GDWH�VWUXFWXUDWH QXPLWH DUWLFROH��/D�R�FLWLUH�VH�WUDQVIHU� vQWU�R�]RQ� VSHFLDO���QXPLW� ]RQD�WDPSRQ��XQ�QXP�U�GH�DUWLFROH�FDUH�VH�SUHVXSXQH�F� DX�R�OXQJLPH�IL[��� )XQF LD IZULWH

6FULH� LQIRUPD LD� �SUHOXDW� GLQ� EXIIHU�� EXI HVWH� SRLQWHUXO� VSUH� ]RQD� WDPSRQ� FDUH� FRQ LQH�DUWLFROHOH�FLWLWH�� vQWU�XQ�IOX[�GH�GDWH��VXE�IRUPD�D�Q HQWLW� L�GH�GLPHQVLXQH�GLP��5HWXUQHD]�QXP�UXO�GH�HQWLW� L�VFULVH�HIHFWLY��VDX�����vQ�FD]�GH�HURDUH��SURWRWLS�vQ�VWGLR�K��

VL]HBW�IZULWH�FRQVW�YRLG� EXI��VL]HBW�GLP��VL]HBW�Q��),/(� IO[BGDWH��

Page 137: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

� )XQF LD�ZULWH6FULH�vQWU�XQ�ILúLHU��GHVHPQDW�SULQ�LQGLFDWRUXO�V�X��LQGLFDWRU��XQ�QXP�U�GH�Q RFWH L�SUHOXD L�GLQWU�XQ�EXIIHU��EXI HVWH�SRLQWHUXO�VSUH�DFHVWD���5HWXUQHD]� QXP�UXO�GH�RFWH L�VFULúL�HIHFWLY�VDX����vQ�FD]�GH�HURDUH��SURWRWLS�vQ�LR�K���

LQW ZULWH�LQW�LQGLFDWRU��YRLG� EXI��XQVLJQHG�Q��([HUFL X� 6� VH�VFULH�XQ�SURJUDP�FDUH�FUHD]� XQ�ILúLHU�ELQDU�vQ�FDUH�VH�YRU�LQWURGXFH�QXPHUH�UHDOH��QHQXOH�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��VWGLR�K!LQW�PDLQ��^�),/(� I� GRXEOH�QU� LQW�[�LI���I �IRSHQ��WHVWBQUE�GDW����ZE���� �18//� ��GHVFKLGHUH�IOX[�ELQDU��

VFULHUH^������FRXW���?Q1X�VH�SRDWH�GHVFKLGH�ILúLHUXO�

WHVWBQUE�GDW���?Q�UHWXUQ���

`FRXW���?Q,QWURGXFH L�QXPHUH�GLIHULWH�GH����WHUPLQDWH�FX�XQ�

�����?Q�FLQ!!QU�ZKLOH�QU� ��^[ IZULWH�QU��VL]HRI�QU������I�� ��VFULHUH�vQ�ILúLHUFLQ!!QU�`IFORVH�I��UHWXUQ���

`([HPSOX� 6� VH�VFULH�XQ�SURJUDP�FH�FLWHúWH�GLQWU�XQ�ILúLHU�ELQDU�QXPHUH�UHDOH��QHQXOH�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��VWGLR�K!LQW�PDLQ��^�),/(� I� GRXEOH�EXI�LI���I �IRSHQ��WHVWBQUE�GDW����UE���� �18//�^

FRXW���?Q1X�VH�SRDWH�GHVFKLGH�ILúLHUXO�WHVWBQUE�GDW���?Q�UHWXUQ���

`FRXW���?Q1XPHUHOH�QHQXOH�FLWLWH�GLQ�ILúLHU�VXQW����?Q�ZKLOH��IUHDG�EXI��VL]HRI�EXI������I�� ��

���IXQF LD�VL]HRI�EXI��FDUH�UHWXUQHD]D�QXPDUXO�GH�RFWH L�QHFHVDUL�YDULDELOHL�EXI�FRXW��EXI�������

IFORVH�I��FRXW��?Q�UHWXUQ���

`

������32=,�,21$5($�Ì175�81�),ù,(53H� OkQJ� PHFDQLVPXO�GH�SR]L LRQDUH� LPSOLFLW� �DVLJXUDW�SULQ�RSHUD LLOH�GH�FLWLUH� úL� VFULHUH�� VH�SRW�

Page 138: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

IRORVL�úL�RSHUD LLOH�GH�SR]L LRQDUH�H[SOLFLW���� )XQF LD�IVHHN

LQW�IVHHN�),/(� SI��ORQJ�GHSODVDPHQW��LQW�UHIHULQ D��)XQF LD� GHSODVHD]� FDSXO� GH� FLWLUH�VFULHUH� DO� GLVFXOXL�� � vQ� YHGHUHD�SUHOXFU�ULL� vQUHJLVWU�ULORU�ILúLHUXOXL��vQWU�R�RUGLQH�RDUHFDUH��)XQF LD�VHWHD]� SR]L LD�FXUHQW� vQ�IOX[XO�GH�GDWH�OD�Q RFWH L�ID ��GH�UHIHULQ ���

GHSODVDPHQW ± GHILQHúWH�QXP�UXO�GH�RFWH L�SHVWH�FDUH�VH�YD�GHSODVD�FDSXO�GLVFXOXL�UHIHULQ D ± SRDWH�DYHD�XQD�GLQ�YDORULOH�

��� vQFHSXWXO�ILúLHUXOXL��6((.B6(7����� SR]L LD�FXUHQW� D�FDSXOXL��6((.B&85����� VIkUúLWXO�ILúLHUXOXL��6((.B(1'��

)XQF LD�UHWXUQHD]� YDORDUHD�]HUR�OD�SR]L LRQDUHD�FRUHFW� úL�R�YDORDUH�GLIHULW� GH�]HUR�vQ�FD]�GH�HURDUH��SURWRWLS�vQ�VWGLR�K��

� )XQF LD�OVHHNLQW�OVHHN�LQW�LQGLFDWRU��ORQJ�Q��LQW�UHIHULQWD��

6HWHD]D�SR]L LD�FXUHQW� GH�FLWLUH�VFULHUH�vQ�ILúLHU�OD�Q RFWH L�ID D�GH�UHIHULQ ���5HWXUQHD]�YDORDUHD���vQ�FD]�GH�VXFFHV�úL�GLIHULW� GH�]HUR�vQ�FD]�GH�HURDUH��SURWRWLS�vQ�LR�K��

� )XQF LD IJHWSRVLQW�IJHWSRV�),/(� IOX[BGDWH��ISRVBW� SR]L LH��

'HWHUPLQ� SR]L LD�FXUHQW� �SRLQWHU�F�WUH�R�VWUXFWXU���ISRVBW��FDUH�GHVFULH�DFHDVW� SR]L LH�vQ�IOX[XO�GH�GDWH���ÌQVFULH�YDORDUHD�LQGLFDWRUXOXL�vQ�YDULDELOD�LQGLFDW� GH�SR]L LH��5HWXUQHD]� ��OD� GHWHUPLQDUHD� FX� VXFFHV� D� DFHVWHL� SR]L LL� VDX� YDORDUH� GLIHULW� GH� ]HUR� vQ� FD]� GH� HúHF��6WUXFWXUD�FDUH�GHVFULH�SR]L LD�SRDWH�IL�WUDQVPLV� FD�DUJXPHQW�IXQF LHL�IVHWSRV �SURWRWLS�vQ�VWGLR�K��

� )XQF LD IVHWSRVLQW�IVHWSRV�),/(� IOX[BGDWH��FRQVW�ISRVBW� SR]L LH��

6HWHD]� SR]L LD�FXUHQW� vQ�IOX[XO�GH GDWH� �DWULEXLH� LQGLFDWRUXOXL�YDORDUHD�YDULDELOHL� LQGLFDWH�SR]L LH��� � OD�R�YDORDUH�RE LQXW� SULQWU�DSHOXO� IXQF LHL�IJHWSRV��5HWXUQHD]� YDORDUHD��� vQ�FD]�GH�VXFFHV��VDX�GLIHULW� GH���vQ�FD]�GH�HúHF��SURWRWLS�vQ�VWGLR�K��

([LVW� IXQF LL� SHQWUX� PRGLILFDUHD� YDORULL� LQGLFDWRUXOXL� GH� SR]L LH� úL� GH� GHWHUPLQDUH� D� SR]L LHL�FXUHQWH�D�DFHVWXLD�� )XQF LD�IWHOO

ORQJ�IWHOO�),/(� SI��,QGLF� SR]L LD�FXUHQW� D�FDSXOXL�GH�FLWLUH�vQ�ILúLHU��)XQF LD�UHWXUQHD]� R�YDORDUH�GH�WLS�ORQJ�LQW�FDUH� UHSUH]LQW� SR]L LD�FXUHQW� vQ� IOX[XO�GH�GDWH� �GHSODVDPHQWXO� vQ�RFWH L� D�SR]L LHL�FDSXOXL�ID ��GH�vQFHSXWXO�ILúLHUXOXL��VDX���/�vQ�FD]�GH�HURDUH��SURWRWLS�vQ�VWGLR�K��

� )XQF LD WHOOORQJ�WHOO�LQW�LQGLFDWRU��

5HWXUQHD]� SR]L LD�FXUHQW� D�FDSXOXL�GH�FLWLUH�VFULHUH�vQ�ILúLHU��H[SULPDW� vQ�QXP�U�GH�RFWH L�ID ��GH�vQFHSXWXO�ILúLHUXOXL���VDX���/�vQ�FD]�GH�HURDUH��SURWRWLS�vQ�LR�K��

� )XQF LD UHZLQGYRLG�UHZLQG�),/(� IOX[BGDWH��

3R]L LRQHD]� LQGLFDWRUXO� OD� vQFHSXWXO� IOX[XOXL� GH� GDWH� VSHFLILFDW� FD� DUJXPHQW� �SURWRWLS� vQ�VWGLR�K��

Page 139: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

������)81&�,,�87,/,7$5(�3(1758�/8&58/�&8�),ù,(5()XQF LL�GH�WHVWDUH�D�VIkUúLWXOXL�GH�ILúLHU� )XQF LD IHRI

LQW�IHRI�),/(� IOX[BGDWH��5HWXUQHD]� R�YDORDUH�GLIHULW� GH�]HUR�vQ�FD]XO�vQWkOQLULL�VIkUúLWXOXL�GH�ILúLHU�VDX���vQ�FHOHODOWH�FD]XUL��SURWRWLS�vQ�VWGLR�K��

� )XQF LD HRILQW�HRI�LQW�LQGLFDWRU��

5HWXUQHD]� YDORDUHD���GDF� SR]L LD� FXUHQW� HVWH� VIkUúLWXO�GH� ILúLHU�� ��GDF� LQGLFDWRUXO�HVWH�SR]L LRQDW�vQ�DOW� SDUWH��VDX����vQ�FD]�GH�HURDUH��SURWRWLS�vQ�LR�K��

)XQF LL�GH�JROLUH�D�IOX[XULORU�GH�GDWH� )XQF LD IIOXVK

LQW�IIOXVK�),/(� IOX[BGDWH��*ROHúWH�XQ�IOX[XO�GH�GDWH�VSHFLILFDW�FD�DUJXPHQW��5HWXUQHD]� ��vQ�FD]�GH�VXFFHV�úL�����(2)��vQ�FD]�GH�HURDUH��SURWRWLS�vQ�VWGLR�K��

� )XQF LD IOXVKDOOLQW�IOXVKDOO�YRLG��

*ROHúWH�WRDWH�IOX[XULOH�GH�GDWH�H[LVWHQWH��SHQWUX�FHOH�GH�VFULHUH�H IHFWXkQG�úL�VFULHUHD�vQ�ILúLHUH��5HWXUQHD]� QXP�UXO�GH�IOX[XUL�DVXSUD�F�URUD�V�D�HIHFWXDW�RSHUD LD��SURWRWLS�vQ�VWGLR�K��

������$/7(�23(5$�,,�&8�),ù,(5()XQF LL�FDUH�SHUPLW�RSHUD LL�DOH�VLVWHPXOXL�GH�RSHUDUH�DVXSUD�ILúLHUHORU� )XQF LD UHPRYH

LQW�UHPRYH�FRQVW�FKDU� QXPHBILúLHU��ùWHUJH�XQ� ILúLHU��5HWXUQHD]� YDORDUHD ��SHQWUX�RSHUD LH� UHXúLW� úL� ���SHQWUX�RSHUD LH� HúXDW��SURWRWLS�vQ�VWGLR�K��

� )XQF LD UHQDPHLQW�UHQDPH�FRQVW�FKDU� QXPHBYHFKL��FRQVW�FKDU� QXPHBQRX��

5HGHQXPHúWH�XQ�ILúLHU��5HWXUQHD]� ��SHQWUX�RSHUD LH�UHXúLWD�úL����vQ�FD]XO�HúHFXOXL��SURWRWLS�vQ�VWGLR�K��

� )XQF LD XQOLQNLQW�XQOLQN�FRQVW�FKDU� QXPHBILúLHU��

ùWHUJH�XQ�ILúLHU��5HWXUQHD]� ��OD�RSHUD LH� UHXúLW� úL� ��� OD�HúHF��GDF� ILúLHUXO�DUH�SHUPLVLXQH�UHDG�RQO\��IXQF LD�QX�YD�UHXúL�RSHUD LD��SURWRWLS�vQ�LR�K��VWGLR�K��

)XQF LL�FDUH�SHUPLW�PDQLSXODUHD�DFHOXLDúL�ILúLHU�SULQ�GRX� LQGLFDWRDUH�GH�ILúLHU�LQGHSHQGHQWH� )XQF LD GXS

LQW�GXS�LQW�LQGLFDWRU��'XSOLF� XQ�LQGLFDWRU�GH�ILúLHU��5HWXUQHD]� QRXO�LQGLFDWRU�GH�ILúLHU�SHQWUX�RSHUD LH�UHXúLW� VDX����vQ�FD]XO�HúHFXOXL��SURWRWLS�vQ�LR�K��

Page 140: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

� )XQF LD GXS�LQW�GXS��LQW�LQGLFDWRUBYHFKL��LQW�LQGLFDWRUBQRX��

'XSOLF� XQ�LQGLFDWRU�GH�ILúLHU�OD�YDORDUHD�XQXL�LQGLFDWRU�GH�ILúLHU�GHMD�H[LVWHQW��5HWXUQHD] � ��vQ�FD]�GH�VXFFHV�úL����vQ�FD]�GH�HúHF��SURWRWLS�vQ�LR�K��

)XQF LL�SHQWUX�DIODUHD�VDX�PRGLILFDUHD�GLPHQVLXQLL�vQ�RFWH L�D�ILúLHUHORU� )XQF LD FKVL]H

LQW�FKVL]H�LQW�LQGLFDWRU��ORQJ�OXQJLPH��0RGLILF� GLPHQVLXQHD� XQXL� ILúLHU�� FRQIRUP� DUJXPHQWXOXL� OXQJLPH�� 5HWXUQHD]� �� SHQWUX�RSHUD LH�UHXúLW� VDX����vQ�FD]�GH�HúHF��SURWRWLS�vQ�VWGLR�K��

� )XQF LD ILOHOHQJWKORQJ�ILOHOHQJWK�LQW�LQGLFDWRU��

5HWXUQHD]� OXQJLPHD�XQXL�ILúLHU��vQ�RFWH L��VDX�����vQ�FD]�GH�HURDUH��SURWRWLS�vQ�LR�K��)XQF LL�GH� OXFUX�FX�ILúLHUH� WHPSRUDUH FDUH�RIHU� IDFLOLW� L�GH� OXFUX�FX�ILúLHUH� WHPSRUDUH�SULQ�JHQHUDUHD�GH�QXPH�XQLFH�GH�ILúLHU�vQ�]RQD�GH�OXFUX�� )XQF LD�WPSILOH

),/(� WPSILOH�YRLG��'HVFKLGH�XQ�ILúLHU�WHPSRUDU��FD�IOX[�GH�GDWH�� vQ�PRG�ELQDU��Z�E���5HWXUQHD]� SRLQWHUXO�F�WUH�ILúLHUXO�GHVFKLV�vQ�FD]XO�RSHUD LHL�UHXúLWH��VDX�18// vQ�FD]�GH�HúHF��SURWRWLS�vQ�VWGLR�K��

� )XQF LD WPSQDPFKDU� WPSQDP�FKDU� VSWU��

&UHD]� XQ�QXPH�XQLF�SHQWUX�ILúLHUXO�WHPSRUDU��SURWRWLS�vQ�VWGLR�K��� )XQF LD FUHDWWHPS

LQW�FUHDWWHPS�FKDU� FDOH��LQW�DWWULE��&UHD]� XQ� ILúLHU� XQLF� FD� QXPH�� FX� DWULEXWHOH� VSHFLILFDWH� vQ DUJXPHQWXO� DWWULE �SULQ�BIPRGH�2B7(;7 VDX� 2B%,1$5<��� vQ� GLUHFWRUXO� GDW� vQ� DUJXPHQWXO� FDOH�� 5HWXUQHD]�LQGLFDWRUXO� �KDQGOHU�XO�� F�WUH� ILúLHUXO� FUHDW� VDX� ��� �úL� VHWDUHD� HUUQR�� vQ� FD]XO� HúHFXOXL��SURWRWLS�vQ�LR�K��

([HPSOX� 6� VH� FUHH]H� XQ� ILúLHU� ELQDU�� FDUH� YD� FRQ LQH� LQIRUPD LLOH� GHVSUH� DQJDMD LL� XQHL�vQWUHSULQGHUL��QXPH��PDUFD��VDODULX��6� VH�DILúH]H�DSRL�FRQ LQXWXO�ILúLHUXOXL��LQFOXGH�LRVWUHDP�K!�LQFOXGH��VWGLR�K!�LQFOXGH��FW\SH�K!W\SHGHI�VWUXFW

^�FKDU�QXPH>��@�LQW�PDUFD�GRXEOH�VDODULX�`DQJDMDW�

XQLRQ^DQJDMDW�D�FKDU�VELQDU>VL]HRI�DQJDMDW�@�`EXIIHU�LQW�PDLQ��^DQJDMDW�D��),/(� SI��FKDU�FRQW�FKDU� QXPHBILV�FRXW���1XPH�ILVLHU�FDUH�YD�IL�FUHDW����FLQ!!QXPHBILV�

LI���SI �IRSHQ�QXPHBILV���ZE���� �18//�^��FRXW���?Q(URDUH�FUHDUH�ILúLHU����QXPHBILV����?Q��

UHWXUQ������`

Page 141: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

GR^FRXW���0DUFD�����FLQ!!D�PDUFD�FRXW���1XPH�����FLQ!!D�QXPH�FRXW���6DODULX����FLQ!!D�VDODULX�EXIIHU�D D�IZULWH�EXIIHU�VELQDU���VL]HRI�DQJDMDW��SI��FRXW���&RQWLQXDWL�LQWURGXFHUHD�GH�GDWH��G�Q��"��FLQ!!FRQW�

`�ZKLOH�WRXSSHU�FRQW�� 1��IFORVH�SI����FLWLUHD�LQIRUPDWLLORU

LI���SI �IRSHQ�QXPHBILV���UE���� �18//�^��FRXW���?Q(URDUH�FLWLUH�ILúLHU����QXPHBILV����?Q��

UHWXUQ������`IRU����^IUHDG�EXIIHU�VELQDU���VL]HRI�D��SI��D EXIIHU�D��LI�IHRI�SI����H[LW����FRXW����0DUFD������D�PDUFD�FRXW����1XPHOH������D�QXPH��?Q�FRXW����6DODULXO������D�VDODULX��?Q�`

IFORVH�SI��`([HPSOX� $SOLFD LH�SHQWUX�JHVWLXQHD�PDWHULDOHORU�GLQWU�XQ�GHSR]LW��$SOLFD LD�YD� DYHD�XQ�PHQLX�SULQFLSDO�úL�YD�SHUPLWH�JHVWLXQHD�XUP�WRDUHORU�LQIRUPD LL��FRGXO�PDWHULDOXOXL��YD�IL�FKLDU��QXP�UXO�GH�RUGLQH����GHQXPLUHD�DFHVWXLD�� �XQLWDWHD�GH�P�VXU���SUH XO�XQLWDU��FDQWLWDWHD�FRQWUDFWDW� úL�FHD�UHFHS LRQDW� �YHFWRUL�FX���HOHPHQWH���0HPRUDUHD�GDWHORU�VH�YD�IDFH�vQWU�XQ�ILúLHU�GH�GDWH��XQ�ILúLHU�ELQDU�FX�VWUXFWXUL���QXPLW��PDWHULDO�GDW���$SOLFD LD�FRQ LQH�XUP�WRDUHOH�IXQF LL��� KHOS�� � LQIRUPDUH�SULYLQG�RS LXQLOH�SURJUDPXOXL�� )XQF LL�SHQWUX�ILúLHUHOH�ELQDUH��FDUH�V� VXSOLQHDVF� OLSVD�IXQF LLORU�VWDQGDUG�SHQWUX�RUJDQL]DUHD�

GLUHFW� D�ILúLHUHORU�ELQDUH�FLWLUHE�� � FLWLUH�vQ�DFFHV�GLUHFW�GLQ�ILúLHU�VFULHE�� � VFULHUH�vQ�DFFHV�GLUHFW�vQ�ILúLHU�FLWPDW�� � FLWLUHD�GH�OD�WHUPLQDO�D�LQIRUPD LLORU�GHVSUH�XQ�PDWHULDO�DILVPDW�� � DILúDUHD�LQIRUPD LLORU�GHVSUH�XQ�PDWHULDO��DSHODW� GH�OLVW��OXQJILVLV�� � GHWHUPLQDUHD�OXQJLPLL�ILúLHUXOXL�H[LVWHQW�FUHILV�� � FUHDUH�ILúLHU�

�� )XQF LL�SHQWUX�DGDXJDUHD��PRGLILFDUHD��úWHUJHUHD�úL�OLVWDUHD�GH�PDWHULDOH��LQFOXGH��SURFHVV�K!�LQFOXGH��LRVWUHDP�K!�LQFOXGH��VWGLR�K!�LQFOXGH��FW\SH�K!W\SHGHI�VWUXFW�PDWHULDO

^�LQW�FRGP�VWRF�FDQWBF>�@�FDQWBU>�@�FKDU�GHQBPDW>��@�XQLWBPDV>�@�IORDW�SUH �

`�PDWHULDO�PDW�),/(� SI�

Page 142: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

YRLG�FUHILV���DGDXJ���PRGLI���VWHUJ���OLVW���KHOS���YRLG�PDLQ��^FKDU�RS LXQH�GR ��DILúDUHD�XQXL�PHQLX�GH�RS LXQL�úL�VHOHF LD�RS LXQLL^FRXW��?Q���2S LXQHD�'YV��GH�OXFUX�HVWH���?Q

����F_D_P_V_O_H_K�SHQWUX�KHOS������FLQ!!RS LXQH�VZLWFK�RS LXQH�

^FDVH�F�FDVH�&�FUHILV���EUHDN�FDVH�D�FDVH�$�DGDXJ���EUHDN�FDVH�P�FDVH�0�PRGLI���EUHDN�FDVH�V�FDVH�6�úWHUJ���EUHDN�FDVH�O�FDVH�/�OLVW���EUHDN�FDVH�K�FDVH�+�KHOS���EUHDN�FDVH�H�FDVH�(��������EUHDN�GHIDXOW�KHOS�������������EUHDN�`

`ZKLOH�WRXSSHU�RS LXQH�� (��`YRLG�KHOS�� ���DILúDUH�LQIRUPD LL�GHVSUH�XWLOL]DUHD�PHQLXOXL�úL�RS LXQLOH�DFHVWXLD^FRXW���2S LXQLOH�GH�OXFUX�VXQW�����?Q�FRXW�������&�F�FUHDUH�ILVLHU���?Q�FRXW�������$�D�DGDXJDUH���?Q�FRXW�������0�P�PRGLILFDUH���?Q�FRXW����� /�O�OLVWDUH���?Q�FRXW�������6�V�úWHUJHUH���?Q�FRXW�������+�K�KHOS���?Q�FRXW�������(�H�H[LW���?Q�`ORQJ�LQW�OXQJILV�),/(� I� ���UHWXUQHD]� OXQJLPHD�ILúLHUXOXL^ORQJ�LQW�SRVL�SRVI�SRVL IWHOO�I���IVHHN�I���6((.B(1'��SRVI IWHOO�I���IVHHN�I�SRVL�6((.B6(7��UHWXUQ�SRVI�`YRLG�VFULHE�LQW�QU�YRLG� D�),/(� I� ��VFULHUH�vQ�ILúLHUXO�ELQDU��^ORQJ�GHSO �QU��� VL]HRI�PDWHULDO��IVHHN�I�GHSO�6((.B6(7��LI�IZULWH�D�VL]HRI�PDWHULDO����I�� ��

^FRXW���(URDUH�GH�VFULHUH�LQ�ILúLHU�����?Q�H[LW�����`

`YRLG�FLWLUHE�LQW�QU�YRLG� D�),/(� I� ��FLWLUH�GLQ�ILúLHUXO�ELQDU^ORQJ�GHSO �QU��� VL]HRI�PDWHULDO��IVHHN�I�GHSO�6((.B6(7��LI�IUHDG�D�VL]HRI�PDWHULDO����I�� ��

^FRXW���(URDUH�GH�FLWLUH�GLQ�ILúLHU�����?Q�H[LW���� `

`YRLG�DILVPDW�PDWHULDO� D� ��DILúDUHD�LQIRUPD LLORU�GHVSUH�XQ�DQXPLW�PDWHULDO^LQW�L�LI�D�!FRGP�

Page 143: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

^FRXW���&RG�PDWHULDO����������D�!FRGP��?Q�FRXW���'HQXPLUH�PDWHULDO�����D�!GHQBPDW��?Q�FRXW���&DQWLWD L�FRQWUDFWDWH����?Q�IRU�L ��L���L���FRXW���&RQWUDFWDW�����L�����������D�!FDQWBF>L@��?Q�

FRXW���&DQWLWD L�UHFHS LRQDWH����?Q�IRU�L ��L���L���FRXW���5HFHSWLRQDW����L����������D�!FDQWBU>L@��?Q�

FRXW���6WRF������������������D�!VWRF��?Q�FRXW���8QLWDWH�GH�PDVXUD�����D�!XQLWBPDV��?Q�FRXW���3UH XQLWDU�����������D�!SUH ��?Q�`

HOVH FRXW���$FHVW�DUWLFRO�D�IRVW�úWHUV�����?Q�`YRLG�FLWPDW�PDWHULDO� D� ��FLWLUHD LQIRUPD LLORU�GHVSUH�XQ�DQXPLW�PDWHULDO^LQW�L�IORDW�WHPS�FRXW���,QWURGXFHWL�FRGXO�PDWHULDOXOXL��� (Q G�����FLQ!!D�!FRGP�LI�D�!FRGP ���UHWXUQ�FRXW���,QWURGXFH L GHQXPLUHD�PDWHULDOXOXL�����FLQ!!D�!GHQBPDW�FRXW���,QWURGXFH L�XQLWDWHD�GH�P�VXU� ����FLQ!!D�!XQLWBPDV�FRXW���,QWURGXFH L�SUH XO�����FLQ!!WHPS�D�!SUH WHPS�FRXW���,QWURGXFH L�FDQWLWD LOH�FRQWUDFWDWH������?Q�IRU�L ��L���L���

^FRXW���&RQWUDFWDW����L�����������FLQ!!D�!FDQWBF>L@��`FRXW���,QWURGXFH L�FDQWLWD LOH�UHFHS LRQDWH������?Q�IRU�L ��L���L���

^FRXW���5HFHSWLRQDW����L�����������FLQ!!D�!FDQWBU>L@��``YRLG�FUHILV�� ��GHVFKLGHUH�ILVLHU�^LI��SI IRSHQ��PDWHULDO�GDW���U���� 18//�

FRXW���)LúLHUXO�H[LVWD�GHMD�����?Q�HOVHSI IRSHQ��PDWHULDO�GDW���Z���

IFORVH�SI��`YRLG�DGDXJ�� ��DG�XJDUH�GH�QRL�PDWHULDOH^LQW�QD���SI IRSHQ��PDWHULDO�GDW���D��� ��GHVFKLGHUH�SHQWUX�DSSHQGQD OXQJILV�SI��VL]HRI�PDWHULDO��GR^FLWPDW�PDW��LI�PDW�FRGP��VFULHE���QD�PDW�SI��`�ZKLOH�PDW�FRGP��IFORVH�SI��`YRLG�PRGLI�� ��PRGLILFDUHD�LQIRUPD LLORU�GHVSUH�XQ�PDWHULDO�H[LVWHQW^LQW�QD���FKDU�FK���SI IRSHQ��PDWHULDO�GDW���U����GR^FRXW���1XPDUXO�DUWLFROXOXL�GH�PRGLILFDW�HVWH��� (1'�����FLQ!!QD�LI�QD�^FLWLUHE�QD�PDW�SI��DILVPDW�PDW��

Page 144: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

FRXW���0RGLILFD L�DUWLFRO��'�1��"����GR^ FLQ!!FK�

FK WRXSSHU�FK��`�ZKLOH�FK� '��FK� 1��LI�FK '�

^FLWPDW�PDW��VFULHE�QD�PDW�SI��`

``ZKLOH�QD��IFORVH�SI��`YRLG�VWHUJ�� ��úWHUJHUHD�GLQ�ILúLHU�D�XQXL�PDWHULDO^�LQW�Q�ORQJ�LQW�QD��SI IRSHQ��PDWHULDO�GDW���U����PDW�FRGP ���QD OXQJILV�SI��VL]HRI�PDWHULDO��GR^GR^FRXW���1XPDUXO�DUWLFROXOXL�GH�úWHUV�HVWH��� (1'�����FLQ!!Q�LI�Q��__Q!QD��FRXW���$UWLFRO�HURQDW��� ?Q�`ZKLOH���Q! ���Q� QD���LI�Q��VFULHE�Q�PDW�SI��`ZKLOH�Q��IFORVH�SI��`YRLG�OLVW�� ��DILúDUH�LQIRUPD LL�GHVSUH�XQ�DQXPLW�PDWHULDO^LQW�QD���SI IRSHQ��PDWHULDO�GDW���U���GR^FRXW���1XPDUXO�DUWLFROXOXL�GH�OLVWDW�HVWH��� (1'�����FLQ!!QD�LI�QD�

^FLWLUHE�QD�PDW�SI��DILVPDW�PDW��FRXW��?Q�`

`ZKLOH�QD��IFORVH�SI��`

Ì175(%�5,�ù,�(;(5&,�,,&KHVWLXQL�SUDFWLFH�� 6FULH L�XQ�SURJUDP�GH�WLS�ULUH�D�FRQ LQXWXULORU�PDL�PXOWRU�ILúLHUH��DOH�F�URU�QXPH�VH�WUDQVPLW�

FD� SDUDPHWUL� F�WUH� IXQF LD�PDLQ�� 7LS�ULUHD� VH� IDFH� SH� HFUDQ� �OXQJLPHD� SDJLQLL� � ���� VDX� OD�LPSULPDQW� �OXQJLPHD�SDJLQLL� ������&RQ LQXWXO�ILHF�UXL�ILúLHU�YD�vQFHSH�SH�R�SDJLQ� QRX���FX�XQ� WLWOX� FDUH� LQGLF� QXPHOH� ILúLHUXOXL�� 3HQWUX� ILHFDUH� ILúLHU�� SDJLQLOH� YRU� IL� QXPHURWDWH� �FX�DMXWRUXO�XQXL�FRQWRU�GH�SDJLQL��

�� 6FULH L�XQ�SURJUDP�FDUH�FLWHúWH�XQ�ILúLHU�WH[W��3RUQLQG�GH�OD�FRQ LQXWXO�DFHVWXLD��VH�YD�FUHD�XQ�DOW�ILúLHU��SULQ�vQORFXLUHD�VSD LLORU�FRQVHFXWLYH�FX�XQXO�VLQJXU��6H�YRU�DILúD�SH�HFUDQ�FRQ LQXWXO�ILúLHUXOXL�GH�OD�FDUH�V�D�SRUQLW�úL�FRQ LQXWXO�ILúLHUXOXL�RE LQXW�

Page 145: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

�� 6� VH�FRQVXOWH�FRQ LQXWXO�XQXL�ILúLHU�úL�V� VH�DILúH]H�XUP�WRDUHOH�LQIRUPD LL�VWDWLVWLFH��QXP�UXO�GH�FXYLQWH�GLQ�ILúLHU��QXP�UXO�GH�FDUDFWHUH��QXP�UXO�GH�OLQLL��QXP�UXO�GH�GDWH�QXPHULFH��QX�FLIUH��QXPHUH���

�� 6FULH L� XQ� SURJUDP� FDUH� V� FRPSDUH� FRQ LQXWXO� D� GRX� ILúLHUH�� úL� DILúD L� SULPHOH� OLQLL� FDUH�GLIHU� úL�SR]L LD�FDUDFWHUHORU�GLIHULWH�vQ�DFHVWH�OLQLL�

�� 6FULH L�XQ�SURJUDP�FDUH�FLWHúWH�FRQ LQXWXO�XQXL�ILúLHU�VXUV� VFULV�vQ� OLPEDMXO�&�úL�DILúHD]� vQ�RUGLQH��DOIDEHWLF� ILHFDUH�JUXS�DO�QXPHORU�GH�YDULDELOH�FDUH�DX�SULPHOH�Q�FDU DFWHUH�LGHQWLFH��Q�HVWH�FLWLW�GH�OD�WDVWDWXU���

�� 6FULH L� � XQ� SURJUDP� FDUH� FRQVXOW� XQ� ILúLHU� WH[W� úL� DILúHD]� R� OLVW� D� WXWXURU� FXYLQWHORU� GLQ�ILúLHU��3HQWUX�ILHFDUH�FXYkQW�VH�YRU�DILúD�úL�QXPHUHOH�OLQLLORU�vQ�FDUH�DSDUH�FXYkQWXO�

�� 6FULH L��XQ��SURJUDP�FDUH�FLWHúWH�XQ�WH[W�LQWURGXV�GH�OD�WDVWDWXU� úL�DILúHD]� FXYLQWHOH�GLVWLQFWH��vQ�RUGLQHD�FUHVF�WRDUH�D�IUHFYHQ HL�ORU�GH�DSDUL LH��/D�DILúDUH��ILHFDUH�FXYkQW�YD�IL�SUHFHGDW�GH�QXP�UXO�GH�DSDUL LL�

�� 6FULH L� �XQ� �SURJUDP�FDUH�FLWHúWH�XQ� WH[W� LQWURGXV�GH� OD� WDVWDWXU���RUGRQHD]� DOIDEHWLF� OLQLLOH�DFHVWXLD�úL�OH�DILúHD]��

�� 6FULH L� R� DSOLFD LH� SHQWUX� JHVWLXQHD� LQIRUPDWLLORU� GHVSUH� F�U LOH� H[LVWHQWH� vQWU�R� ELEOLRWHF���$SOLFD LD�YD�DYHD�XQ�PHQLX�SULQFLSDO�FDUH�YD�SHUPLWH�

D� 0HPRUDUHD�GDWHORU�vQWU�XQ�ILúLHU��XQ�ILúLHU�ELQDU�FX�VWUXFWXUL���DO�F�UXL�QXPH�VH�LQWURGXFH�GH�OD�WDVWDWXU��� )LúLHUXO� YD� FRQWLQH� LQIRUPD LLOH�� QXPH� FDUWH�� DXWRU�� HGLWXUD�� DQXO� DSDUL LHL�� SUH ��3HQWUX�ILHFDUH�FDUWH��VH�YD�JHQHUD�R�FRW� �XQ�QXP�U�XQLF�FDUH�V� FRQVWLWXLH�FKHLD�GH�F�XWDUH��

E� $GDXJ�UHD�GH�QRL�F�U L��F� $ILúDUHD�LQIRUPD LLORU�GHVSUH�R�DQXPLW� FDUWH�G� &�XWDUHD�WLWOXULORU�GXS� XQ�DQXPLW�DXWRU��H� 0RGLILFDUHD�LQIRUPD LLORU�H[LVWHQWH��I� /LVWD�DOIDEHWLF� D�WXWXURU�DXWRULORU��J� ùWHUJHUHD�XQHL�F�U L�GLQ�ELEOLRWHF��K� 2UGRQDUHD�GHVFUHVF�WRDUH�GXS� DQXO�DSDUL LHL�L� 1XPHOH�FHOHL�PDL�YHFKL�F�U L�GLQ�ELEOLRWHF��M� 1XPHOH�FHOHL�PDL�VFXPSH�F�U L�GLQ�ELEOLRWHF��N� 1XPHOH�DXWRUXOXL�FX�FHOH�PDL�PXOWH�F�U L�O� 9DORDUHD�WRWDO� D�F�U LORU�GLQ�ELEOLRWHF��

&21&(37(�'(�%$=� $/(�352*5$0�5,,25,(17$7(�2%,(&7

�����,QWURGXFHUH �����ÌQFDSVXODUHD�LQIRUPD LHL�����$EVWUDFWL]DUHD�GDWHORU �����/HJDUHD�GLQDPLF� �WkU]LH������0RúWHQLUHD �����$OWH�DVSHFWH

������,1752'8&(5(7HUPHQXO� �223�� ��2EMHFW� 2ULHQWHG� 3URJUDPPLQJ��� GHVHPQHD]� GLVFLSOLQD� SURJUDP�ULLRELHFWXDOH� �RULHQWDWH�RELHFW��� $FHDVW� GLVFLSOLQ� FDUH� DUH� OD� ED]� LGHHD� XQLILF�ULL� GDWHORU� FX�

Page 146: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

PRGDOLW� LOH� GH� SUHOXFUDUH� D� DFHVWRUD úL� PDQHYUHD]� HQWLW� L� UHSUH]HQWDWH� VXE� IRUP� GH� RELHFWH�RELHFW GDWH�FRG�GH�WUDWDUH�D�DFHVWRU�GDWH���$úD�FXP�V�D�VXEOLQLDW�vQ�FDSLWROXO�������UH]ROYDUHD�XQHL�SUREOHPH�VH�SRDWH�IDFH�SH���GLUHF LL�� 5H]ROYDUHD�RULHQWDW��SH�DOJRULWP �SH�DF LXQH���vQ�FDUH�RUJDQL]DUHD�GDWHORU�HVWH�QHHVHQ LDO��� 5H]ROYDUHD�RULHQWDW��SH�GDWH��DF LXQLOH�ILLQG�GHWHUPLQDWH�GRDU�GH�RUJDQL]DUHD�GDWHORU�� 5H]ROYDUHD�RULHQWDW��RELHFW��FDUH�FRPELQ� WHQGLQ HOH�SULPHORU�GRX� DERUG�UL�3URJUDPDUHD�RELHFWXDO� RIHU� SRVLELOLW� L�GH�PRGHODUH�D�RELHFWHORU��D�SURSULHW� LORU�úL�D�UHOD LLORU�GLQWUH�HOH��GDU�úL�SRVLELOLWDWHD�GH�D�GHVFRPSXQH R�SUREOHP� vQ�FRPSRQHQWHOH�VDOH��VRIW�PDL�PHQWHQDELO��DGDSWDELO��UHFLFODELO���&kWHYD�H[HPSOH�GH�OLPEDMH�GH�SURJUDPDUH�RULHQWDW � RELHFW��6,08/$��������6,08/$����������6PDOOWDON��&����-DYD��vQ�SOXV��-DYD�SRDWH�IL�FRQVLGHUDW�XQ�

OLPEDM�GH�SURJUDPDUH�RULHQWDW� HYHQLPHQW��)DFLOLW� LOH RIHULWH�GH�SURJUDPDUHD�RULHQWDW� RELHFW��FRQIRUP�OXL�3DVFRX��VXQW�

�� DEVWUDFWL]DUHD�GDWHORU���� PRúWHQLUHD��� vQFDSVXODUHD��DVFXQGHUHD���LQIRUPD LHL��� OHJDUHD�GLQDPLF� �³WkU]LH´��

������$%675$&7,=$5($�'$7(/252ELHFWHOH� VXQW� FRPSRQHQWH� VRIWZDUH� FDUH�PRGHOHD]� IHQRPHQH� GLQ� OXPHD� UHDO��� ÌQ� JHQHUDO�� XQ�IHQRPHQ�LPSOLF� WLSXUL�GLIHULWH�GH�RELHFWH��2ELHFWHOH�FDUH�UHSUH]LQW� DFHHDúL�LGHH�VDX�FRQFHSW�VXQW�GH�DFHODúL�WLS úL�SRW�IL�JUXSDWH�vQ�FODVH �FRQFUHWH VDX�DEVWUDFWH���&ODVHOH�LPSOHPHQWHD]� WLSXUL�GH�GDWH��DúD�FXP�V�D�VXEOLQLDW�vQ�FDSLWROXO����XQ�WLS�GH�GDWH�vQVHDPQ� R�PXO LPH�GH�YDORUL�SHQWUX�FDUH�V�D�DGRSWDWDW�XQ�DQXPLW�PRG�GH�UHSUH]HQWDUH� úL�R�PX LPH�GH�RSHUDWRUL�FDUH�SRW�IL�DSOLFD L�DFHVWRU�YDORUL���GHFL�úL�RSHUDWRULL�GHVWLQD L�PDQLSXO�ULL�DFHVWRUD� &ODV� �'DWH���2SHUD LL�'H�H[HPSOX��SURJUDPDWRUXO�vúL�SRDWH�GHILQL�WLSXO��FODVD��PDWULFH úL�RSHUDWRULL�FDUH�SRW�IL�DSOLFD L�PDWULFLORU�� �SHQWUX�vQPXO LUHD�D�GRX� PDWULFL����SHQWUX�DGXQDUHD�D�GRX� PDWULFL��� SHQWUX�VF�GHUHD�D�GRX� PDWULFL��HWF���$VWIHO��HO�SRDWH�IRORVL�WLSXO�PDWULFH�vQ�PRG�VLPL ODU�XQXL�WLS�SUHGHILQLW�

PDWULFH�$��%�PDWULFH�& $�%�

7LSXO XQXL�RELHFW��úDEORQ�DO�RELHFWXOXL��HVWH�R�FODV���2�FODV� VH�FDUDFWHUL]HD]� SULQ��QXPHOH�FODVHL��DWULEXWH��IXQF LL�úL�UHOD LL�FX�DOWH�FODVH�

,QVWDQ D HVWH�XQ�RELHFW�GLQWU�R�FODV� �$��%��& VXQW�RELHFWH��LQVWDQ H�DOH�FODVHL�PDWULFH��úL�DUH�SURSULHW� LOH�GHILQLWH�GH�FODV���3HQWUX�R�FODV� GHILQLW���VH�SRW�FUHD�PDL�PXOWH�LQVWDQ H�DOH�DFHVWHLD��7RDWH�RELHFWHOH�DX�R VWDUH úL�XQ�FRPSRUWDPHQW��6WDUHD XQXL�RELHFW�VH�UHIHU� OD�HOHPHQWHOH�GH�GDWH�FRQ LQXWH�vQ�RELHFW�úL�OD�YDORULOH�DVRFLDWH�DFHVWRUD��GDWHOH�PHPEUH���&RPSRUWDPHQWXO XQXL�

RELHFW�HVWH�GHWHUPLQDW�GH�FDUH�DF LXQLOH�SH�FDUH�RELHFWXO�SRDWH�V� OH�H[HFXWH��PHWRGHOH��$WULEXWHOH�VSHFLILFDWH�vQ�GHILQL LD�XQHL�FODVH�GHVFULX�YDORULF�SURSULHW� LOH RELHFWHORU�GLQ�FODV���VXE�GLIHULWH�DVSHFWH��&HOH�PDL�PXOWH�OLPEDMH�RULHQWDWH�RELHFW�IDF�XUP�WRDUHD�GLVWLQF LH�vQWUH�

DWULEXWH�� DWULEXWH�DOH�FODVHL��DX�DFHHDúL�YDORDUH�SHQWUX�WRDWH�LQVWDQ HOH�FODVHL��� DWULEXWH�DOH�LQVWDQ HL��YDULD]� GH�OD�R�LQVWDQ ��OD�DOWD��ILHFDUH�LQVWDQ ��DYkQG�SURSULD�FRSLH�D�

DWULEXWXOXL���ÌQ�OLPEDMXO�&���DWULEXWHOH�VH�QXPHVF�GDWH�PHPEUH��7RDWH�GDWHOH�PHPEUH�VXQW�DWULEXWH�LQVWDQ ���$WULEXWHOH�GH�FODV� VH�SRW�RE LQH�vQ�FD]XO�GDWHORU�PHPEUH�VWDWLFH��DFHHDúL�DGUHV� GH�PHPRUDUH�

SHQWUX�RULFH�LQVWDQ ��D�FODVHL��

Page 147: C++ Tutorial(Romaneste)

� ��� �

0HWRGH��IXQF LL�PHPEUH���/D�GHILQLUHD�XQHL�FODVH�VH�GHILQHVF�úL�PHWRGHOH�DFHVWHLD��QXPLWH�úL�IXQF LL�PHPEUH���)LHFDUH�RELHFW�DUH�DFFHV�OD�XQ�VHW�GH�IXQF LL�FDUH�GHVFULX�RSHUD LLOH�FDUH�SRW�IL�H[HFXWDWH�DVXSUD�OXL��0HWRGHOH�SRW�IL�IRORVLWH�GH�LQVWDQ HOH�FODVHL�UHVSHFWLYH��GDU�úL�GH�LQVWDQ HOH�

DOWRU�FODVH��SULQ�PHFDQLVPXO�PRúWHQLULL��&ODVD�FRQ LQH�DWkW�VWUXFWXULOH�GH�GDWH�QHFHVDUH�GHVFULHULL�XQXL�RELHFW��FkW�úL�PHWRGHOH�FDUH�SRW�IL�DSOLFDWH�RELHFWXOXL��$VWIHO��JUDGXO�GH�DEVWUDFWL]DUH�HVWH��PXOW�PDL�U LGLFDW��LDU�SURJUDPHOH�GHYLQ�

PXOW�PDL�XúRU�GH�vQ HOHV��GHSDQDW�VDX�vQWUH LQXW�/D�FUHDUHD�XQXL�RELHFW��DORFDUHD�PHPRULHL�VH�SRDWH�IL�IDFH� VWDWLF VDX�GLQDPLF �FX�DMXWRUXO�XQRU�

IXQF LL�PHPEUH�VSHFLDOH��QXPLWH�FRQVWUXFWRUL���(OLEHUDUHD�PHPRULHL�VH�UHDOL]HD]� FX�DMXWRUXO�XQRU�IXQF LL�PHPEUH�VSHFLDOH��QXPLWH�GHVWUXFWRUL��vQ�PRPHQWXO�vQFKHLHULL�H[LVWHQ HL�RELHFWXOXL�

UHVSHFWLY�

������02ù7(1,5($0RúWHQLUHD� HVWH� R� FDUDFWHULVWLF� D� OLPEDMHORU� GH� SURJUDPDUH� RULHQWDWH� RELHFW�� FDUH� SHUPLWH�UHIRORVLUHD� FRGXOXL� úL� H[WLQGHUHD� IXQF LRQDOLW� LL� FODVHORU� H[LVWHQWH�� ÌQWUH� GRX� FODVH� SRW� H[LVWD�PXOWH� GLIHUHQ H�� GDU� úL� PXOWH� DVHP�Q�UL�� (VWH� ELQH� FD� LQIRUPD LD� FRPXQ� XQRU� FODVH� V� ILH�VSHFLILFDW� R�VLQJXU� GDW� �FRQFHSWXO�GH�FODV��VXEFODV���VXSHUFODV��FODV� vQ�223���0HFDQLVPXOPRúWHQLULL� SHUPLWH� FUHDUHD� XQHL� LHUDUKLL� GH� FODVH� úL� WUHFHUHD� GH� OD� FODVHOH� JHQHUDOH� OD� FHOH�SDUWLFXODUH��3URFHVXO�LPSOLF� OD�vQFHSXW�GHILQLUHD�FODVHL�GH�ED]� FDUH�VWDELOHúWH�FDOLW� LOH�FRPXQH�DOH�WXWXURU�RELHFWHORU�FH�YRU�GHULYD�GLQ�ED]� �LHUDUKLF�VXSHULRDU���ILJXUD��������3ULQ�PRúWHQLUH��XQ�RELHFW�SRDWH�SUHOXD�SURSULHW� LOH�RELHFWHORU�GLQ�FODVD�GH�ED]��

$

%

)LJXUD������5HOD LD�FODV� GH�ED]��FODV�

GHULYDW�

&ODVD� $ UHSUH]LQW� FODVD� GH� ED]� �HVWH� R� JHQHUDOL]DUH�� úL� FRQ LQH� LQIRUPD LLOH�FRPXQH��GLVSRQLELOH�SULQ�PRúWHQLUH�úL�VXEFODVHORU�DFHVWHLD��&ODVD�% UHSUH]LQW� FODVD�GHULYDW� �HVWH�R�SDUWLFXODUL]DUH��R�VSHFLDOL]DUH�D�FODVHL�$��FDUH�H[WLQGH�IXQF LRQDOLWDWHD�FODVHL�GH�ED]� úL�FRQ LQH�LQIRUPD LLOH�VSHFLILFH�6� SUHVXSXQHP�F� $�UHSUH]LQW� FODVD�PDPLIHUHORU��FX�SURSULHW� LOH�FDUDFWHULVWLFH��QDVF� SXL� YLL�� DX� VkQJH� FDOG�� vúL� DO�SWHD]� SXLL�� HWF��� LDU� %� UHSUH]LQW� FODVD�DQLPDOHORU�GRPHVWLFH��ÌQ�PRPHQWXO�GHILQLULL�FODVHL�GHULYDWH�%��DFHDVWD�PRúWHQHúWH�WRDWH�FDUDFWHULVWLFLOH�FODVHL�$��U�PkQkQG��GH�VSHFLILFDW�GRDU�WU�V�WXULOH�GLVWLQFWLYH�ÌQ�DFHVW�FD]��$ HVWH�FODV� GH�ED]���LDU�% FODV��GHULYDW� �VXEFODV� D�FODVHL�$��6DX��% HVWH�FODV���LDU�$ HVWH�R�VXSHUFODV� D�FODVHL�%�0RúWHQLUHD�SRDWH�IL��XQLF� VDX�PXOWLSO��

3DJH���� RI����

��������02ù7(1,5($�81,&�ÌQ� FD]XO� PRúWHQLULL� XQLFH�� ILHFDUH� FODV� DUH� GRDU� R� VXSHUFODV��� ([LVW� GRX� PRGDOLW� L� GH�VSHFLDOL]DUH�D�XQHL�FODVH�GH�ED]��� LQWURGXFHUHD�GH H[WUD�DWULEXWH úL H[WUD�PHWRGH vQ�FODVD�GHULYDW� �SDUWLFXODUH�GRDU�FODVHL�

GHULYDWH��� UHGHILQLUHD�PHPEULORU�vQ�FODVH�GHULYDWH �SROLPRUILVP��

��������02ù7(1,5($�08/7,3/�ÌQ�VLWXD LD�PRúWHQLULL�PXOWLSOH�� R�FODV� DUH�PDL�PXOWH VXSHUFODVH��$VWIHO��PRúWHQLUHD�FODVHL�YD� IL�PXOWLSO� �UH]XOWkQG�R�VWUXFWXU� GH�UH HD��

Page 148: C++ Tutorial(Romaneste)

� ��� �

0RúWHQLUHD�PXOWLSO� HVWH�XWLO���GDU�SRDWH�FUHD�DPELJXLW� L �FkQG�SHQWUX�DFHODúL�DWULEXW�VH�PRúWHQHVF�YDORUL�GLIHULWH���([LVW� PDL�PXOWH�VWUDWHJLL�GH�UH]ROYDUH�D�FRQIOLFWXOXL �S�ULQWHOH�FHO�PDL�DSURSLDW��FHO�PDL�GHS�UWDW��HWF����'HDVHPHQHD��HVWH�SRVLELO� R�PRúWHQLUH�UHSHWDW���vQ�FDUH�R�FODV� DMXQJH�V� PRúWHQHDVF� GH�OD�DFHHDúL�FODV���SH�GUXPXUL�GLIHULWH�vQ�UH HD��YH]L�ILJXUD�������vQ�FDUH�FODVD�(�PRúWHQHúWH�GH�OD�DFHHDúL�FODV� $��SH�GUXPXULOH�$�%�(��$�&�(����$úD�FXP�YHGHD�vQ�FDSLWROHOH�XUP�WRDUH��vQ�DFHVWH�VLWXD LL��OLPEDMXO�&���RIHU� SURJUDPDWRUXOXL�GRX� VWUDWHJLL�����FODVD�(�SRDWH�DYHD�GRX� FRSLL�DOH�OXL�$��XQD�SHQWUX�ILHFDUH�GUXP�����FODVD�(�DUH�R�VLQJXU� FRSLH��LDU�$�HVWH�FODV� YLUWXDO� GH�ED]� úL�SHQWUX�&�úL�SHQWUX�%��,GHHD�PRúWHQLULL�PXOWLSOH�SRDWH�GXFH�OD�XWLOL]DUHD�XQRU�FODVH�SHQWUX�FDUH�QX�H[LVW� LQVWDQ H��FDUH�V� DMXWH�GRDU�OD�RUJDQL]DUHD�VWUXFWXULL��UH HOHL��GH�PRúWHQLUH��ÌQ�SOXV��OLPEDMXO�&���SHUPLWH�XQ�FRQWURO�SXWHUQLF�DVXSUD�DWULEXWHORU�úL�

PHWRGHORU�FDUH�YRU�IL�PRúWHQLWH�

������Ì1&$368/$5($��$6&81'(5($��,1)250$ �,(,ÌQFDSVXODUHD��DVFXQGHUHD��LQIRUPD LHL�UHIOHFW� IDSWXO�F� DWULEXWHOH�LQVWDQ ��úL�PHWRGHOH XQXL�

RELHFW�vO�GHILQHVF�GRDU�SH�DFHVWD��9RP�VSXQH�F� PHWRGHOH�úL�DWULEXWHOH�XQXL�RELHFW�VXQW�³SULYDWH´��vQFDSVXODWH�vQ�RELHFW��,QWHUID D�FX�RELHFWXO�UHOHY� IRDUWH�SX LQ�GLQ�FHHD�FH�VH�SHWUHFH�vQ�LQWHULRUXO�OXL��2ELHFWXO�GH LQH�FRQWUROXO�DVXSUD�DWULEXWHORU�LQVWDQ ���FDUH�QX�SRW�IL�DOWHUDWH�GH�F�WUH�DOWH�RELHFWH��([FHS LD�GH�OD�DFHDVW� REVHUYD LH�R�UHSUH]LQW� GRDU�DWULEXWHOH�GH�FODV� FDUH�QX�VXQW�

vQFDSVXODWH��ILLQG�SDUWDMDWH�vQWUH�WRDWH�LQVWDQ HOH�FODVHL��$FHDVW� WHKQLF� GH��SODVDUH��D�YDORULORU�vQ�GDWHOH�PHPEUH�SULYDWH�DOH�RELHFWXOXL��UHSUH]LQW� XQ�PHFDQLVP�GH�DVFXQGHUH�D�GDWHORU�

ÌQ�OLPEDMXO�&���vQFDSVXODUHD�SRDWH�IL�IRU DW� SULQ�FRQWUROXO�DFFHVXOXL��GHRDUHFH�WRDWH�GDWHOH�úL�IXQF LLOH�PHPEUH�VXQW�FDUDFWHUL]DWH�SULQWU�XQ�QLYHO�GH�DFFHV �UH]XOWkQG�DVWIHO�R�PDUH�IOH[LELOLWDWH���

1LYHOXO�GH�DFFHV�OD�PHPEULL�XQHL�FODVH�SRDWH�IL��ILJXUD�������

&ODVD�%

&ODVD�$SURWHFWHGSULYDWH

SXEOLF

FODV� GHULYDW�

$

)LJXUD������0RúWHQLUHD�VLPSO� �XQLF��

% & '

( ) * +

$

% & '

( )

)LJXUD�������0RúWHQLUHD�PXOWLSO�

� SULYDWH��PHPEULL� �GDWH�úL�PHWRGH��OD�FDUH�DFFHVXO�HVWH�SULYDWH�SRW� IL� DFFHVD L�GRDU�SULQ�PHWRGHOH�FODVHL��QLYHO�DFFHV�LPSOLFLW��

� SURWHFWHG�� DFHúWL� PHPEUL� SRW� IL� DFFHVD L�SULQ� IXQF LLOH� PHPEUH� DOH� FODVHL� úL� IXQF LLOH�PHPEUH�DOH�FODVHL�GHULYDWH�

� SXEOLF� PHPEULL� OD� FDUH� DFFHVXO� HVWH�SXEOLF� SRW� IL� DFFHVD L� GLQ� RULFH� SXQFW� DO�GRPHQLXOXL�GH�H[LVWHQ ��D� FODVHL�UHVSHFWLYH�

� IULHQG� DFHúWL�PHPEUL�SRW�IL�DFFHVD L�SULQ�IXQF LLOH� PHPEUH� DOH� IXQF LHL� SULHWHQH�VSHFLILFDWH�

3DJH���� RI���� )LJXUD�������$FFHVXO�OD�PHPEULL�XQHL�FODVH
Page 149: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

ÌQ�OLPEDMXO�&����QLYHOXO�GH�DFFHV�SRDWH�SUHFL]D�úL�WLSXO�GH�PRúWHQLUH��FDSLWROXO������ 3XEOLF���XQGH�vQ�FODVD�GHULYDW� QLYHOXO�GH�DFFHV�DO�PHPEULORU�HVWH�DFHODúL�FD�vQ�FODVD�GH�ED]��� 3ULYDW���XQGH�PHPEULL�SURWHFWHG�úL�SXEOLF�GLQ�FODVD�ED]� GHYLQ�SULYDWH�vQ�FODVD�GHULYDW��������/(*$5($�',1$0,&� �³7Æ5=,(´�

2ELHFWHOH�XQHL�FODVH�S�ULQWH�WUHEXLH�FXQRVFXWH�vQ�PRPHQWXO�FRPSLO�ULL��(IHFWXO�FRPELQDW�DO�PRúWHQLULL�SRDWH�GHWHUPLQD�FD�R�DQXPLW� PHWRG� V� ILH�VSHFLDOL]DW� GLIHULW��SULQ�UHGHILQLUH���SHQWUX�VXEFODVH�GLIHULWH��3ROLPRUILVPXO UHSUH]LQW� FRPSRUWDPHQWH�GLIHULWH�DOH�XQHL�PHWRGH�vQ�UDSRUW�FX�WLSXO�XQXL�RELHFW��6HOHFWDUHD�XQHL�PHWRGH�UHGHILQLWH�SRDWH�IL�UHDOL]DW � vQ�ID]D�GH�FRPSLODUH��OHJDUHD�LQL LDO����VDX�vQ�PRPHQWXO�H[HFX LHL��OHJDUH�WkU]LH���ÌQ�OLPEDMXO�&����OHJDUHD�GLQDPLF� VH�SRDWH�

UHDOL]D�SULQ�LPSOHPHQWDUHD�GH�� IXQF LL�YLUWXDOH��SRW�IL�UHGHILQLWH�SROLPRUILF��� IXQF LL�YLUWXDOH�SXUH��GRDU�GHFODUDWH��QX�GHILQLWH��

������$/7(�$63(&7(� &RPXQLFDUHD�vQWUH RELHFWHÌQ�OLPEDMHOH�GH�SURJUDPDUH�RULHQWDWH�RELHFW��RELHFWHOH�FRPXQLF� vQWUH�HOH�SULQ�PHVDMH��FHHD�FH�

FRQGXFH�OD�DFFHQWXDUHD�FRQFHSWXOXL�GH�vQFDSVXODUH��8Q�RELHFW�SRDWH�³VWLPXOD´�XQ�DOWXO�V � DFWLYH]H��GHFODQúH]H��R�PHWRG���WULPL kQGX�L�XQ�PHVDM��'XS� SULPLUHD�PHVDMXOXL��PHWRGD�UHVSHFWLY� HVWH�DSHODW� FX�SDUDPHWULL�IXUQL]D L��DVLJXUkQG�FRPSRUWDUHD�FRUHVSXQ]�WRDUH�D�RELHFWHORU��0HWRGHOH�

VXQW�LQYRFDWH�SULQ�WULPLWHUHD�GH�PHVDMH�ÌQ�OLPEDMXO�&���IXQF LLOH�PHPEUH��PHWRGHOH��VXQW�DFFHVDWH vQ�PRG�VLPLODU�RULFDUHL�IXQF LL��FX�

GHRVHELUHD�F� HVWH�QHFHVDU� VSHFLILFDUHD�RELHFWXOXL�F�UXLD�vL�FRUHVSXQGH�PHWRGD��� 3VHXGRYDULDELOH/LPEDMHOH�GH�SURJUDPDUH�RULHQWDWH�RELHFW�SRVHG� GRX� YDULDELOH��QXPLWH�SVHXGR�YDULDELOH��FDUH�GLIHU� GH�YDULDELOHOH�QRUPDOH�SULQ�IDSWXO�F� QX�OL�VH�SRW�DWULEXL�YDORUL�vQ�PRG�GLUHFW��GH�F�WUH�

SURJUDPDWRU��ÌQ�JHQHUDO��SVHXGRYDULDELOHOH�VXQW�R�IRUP� VFXUW� SHQWUX�³RELHFWXO�FXUHQW�´�úL�SHQWUX�³FODVD�S�ULQWH�D�RELHFWXOXL�FXUHQW´� ÌQ�OLPEDMXO�&���H[LVW� GRDU�XQD�GLQ�DFHVWH�SVHXGRYDULDELOH��

QXPLW� ´WKLV´ �SRLQWHU�F�WUH�RELHFWXO�FXUHQW��� 0HWDFODVHOH

0HWDFODVHOH�UHSUH]LQW� ³FODVH�GH�FODVH´��2�FODV� HVWH��GH�IDSW��R�LQVWDQ ��D�XQHL�PHWDFODVH��'LIHUHQ HOH GLQWUH�FODVH�úL�PHWDFODVH�VXQW�

� &ODVD�GHILQHúWH�FDUDFWHULVWLFL��DWULEXWH�úL�PHWRGH��DOH�LQVWDQ HORU�GH�DFHO�WLS��0HWRGHOH�SRW�IL�IRORVLWH�GRDU�GH�RELHFWHOH�FODVHL��QX�úL�GH�vQV�úL�FODVD��UHVWULF LH��

� 0HWDFODVHOH�IXUQL]HD]� XQ�PLMORF�SULQ�FDUH�YDULDELOHOH�FODV� SRW�IL�LPSOHPHQWDWH��vQ�XQHOH�OLPEDMH�223��YDULDELOHOH�FODV� VXQW�LQVWDQ LHUL�DOH�XQHL�PHWDFODVH�

/LPEDMXO�&���QX�LQFOXGH�H[SOLFLW�PHWDFODVHOH��GDU�VXSRUW� YDULDELOHOH�FODV� VXE�IRUPD�GDWHORU�VWDWLFH��$úD�FXP�IXQF LLOH�PHPEUH�RELúQXLWH�VXQW�vQFDSVXODWH�vQ�XQWUXO�ILHFDUHL�LQVWDQ H��SHQWUX�R�

IXQF LH�PHPEUX�VWDWLF� D�XQHL�FODVH��VH�IRORVHúWH�R�VLQJXU� FRSLH��SDUWDMDW� GH�F�WUH�WRDWH�LQVWDQ HOH�FODVHL��2�DVHPHQHD�IXQF LH�QX�HVWH�DVRFLDW� XQHL�DQXPLWH�LQVWDQ H�

� 3HUVLVWHQ D

Page 150: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

3HUVLVWHQ D�UHSUH]LQW� WLPSXO�GH�YLD ��DO�XQXL�RELHFW �vQWUH�FUHDUHD�RELHFWXOXL�úL�úWHUJHUHD�VD���,QVWDQ HOH�XQHL�FODVH�DX�XQ WLPS�GH�YLD ��GDW�GH�H[HFX LD�XQHL�PHWRGH�VDX�D�XQXL�EORF��GH�FUHDUHD�

VDX�úWHUJHUHD�VSHFLILFDW� H[SOLFLW�vQ�SURJUDP�VDX�GH�GXUDWD�vQWUHJXOXL�SURJUDP��3HUVLVWHQ D�RELHFWHORU�HVWH�LPSRUWDQW� vQ�VSHFLDO�vQ�DSOLFD LLOH�GH�ED]H�GH�GDWH�

� 6XSUDvQFDUFDUHD�RSHUDWRULORU�/LPEDMXO�&���IXUQL]HD]� PRGDOLW� L�GH�VXSUDvQFDUFDUH�D�RSHUDWRULORU �RYHUORDGLQJ���DFHODúL�

RSHUDWRU�DUH�VHPQLILFD LL�GLIHULWH��FDUH�GHSLQG�GH�QXP�UXO�úL�WLSXO�DUJXPHQWHORU��

&/$6(�ù,�2%,(&7(�������'HILQL LD�FODVHORU�úL�DFFHVXO�OD�PHPEULL �������)XQF LL�LQOLQH

��������/HJ�WXUD�FODV��VWUXFWXU��XQLXQH �������&RQVWUXFWRUL� úL�GHVWUXFWRUL��������'HFODUDUHD�FODVHORU ��������,QL LDOL]DUHD�GDWHORU��������2ELHFWH ��������&RQVWUXFWRUL��������0HPEULL�XQHL�FODVH ��������'HVWUXFWRUL��������3RLQWHUXO� WKLV ��������7DEORXUL�GH�RELHFWH��������'RPHQLXO�XQXL�QXPH�� �������)XQF LL�SULHWHQH��IULHQG�

YL]LELOLWDWH�úL�WLPS�GH�YLD �

�������'(),1,�,$�&/$6(/25�ù,�$&&(68/�/$�0(0%5,,�

���������/(*�785$�&/$6��6758&785��81,81($úD�FXP�V�D�VXEOLQLDW�vQ�FDSLWROXO����R�FODV� UHSUH]LQW� XQ�WLS�DEVWUDFW�GH�GDWH��FDUH�vQFDSVXOHD]�DWkW�HOHPHQWHOH�GH�GDWH��GDWHOH�PHPEUH��SHQWUX�FDUH�V �D�DGRSWDW�XQ�DQXPLW�PRG�GH�UHSUH]HQWDUH��FkW�úL�RSHUD LLOH�DVXSUD�GDWHORU��IXQF LLOH�PHPEUH��PHWRGH���ÌQ�OLPEDMXO�&����VWUXFWXULOH�úL�XQLXQLOH�UHSUH]LQW� FD]XUL� SDUWLFXODUH� DOH� FODVHORU�� SXWkQG� DYHD� QX� QXPDL� GDWH�PHPEUH�� FkPSXUL� GH� GDWH��YH]L�FDSLWROXO�����GDU�úL�IXQF LL�PHPEUH��6LQJXUD�GLIHUHQ ��vQWUH�VWUXFWXUL�úL�XQLXQL�FRQVW� vQ�IDSWXO�F� OD�XQLXQL��SHQWUX�PHPRUDUHD�YDORULORU�GDWHORU�PHPEUH�VH�IRORVHúWH�DFHHDúL�]RQ� GH�PHPRULH��'HRVHELUHD�HVHQ LDO� vQWUH�VWUXFWXUL�úL�XQLXQL�� SH�GH�R�SDUWH�� úL�FODVH�� SH�FHDODW� SDUWH�� FRQVW� vQ�PRGXO� GH� DFFHV OD�PHPEULL�� OD� VWUXFWXUL� úL� XQLXQL PHPEULL� �GDWHOH� úL� PHWRGHOH�� VXQW� LPSOLFLW�SXEOLFL�� LDU� OD� FODVH � LPSOLFLW� SULYD L �PHPEULL� VXQW� vQFDSVXOD L��� /LSVD� XQRU� PRGDOLW� L� GH�SURWHF LH�D�GDWHORU��IDFH�FD�WLSXULOH�GH�GDWH�LQWURGXVH�SULQ�VWUXFWXUL�VDX�XQLXQL�V� QX�SRDW� IL�VWULFW�FRQWURODWH�vQ�FHHD�FH�SULYHúWH�RSHUD LLOH�H[HFXWDWH�DVXSUD�ORU��ÌQ�FD]XO�FODVHORU��PRGXO�GH�DFFHV�OD�PHPEULL� WLSXOXL� GH� GDWH� �vQ� VFRSXO� SURWHM�ULL� DFHVWRUD�� SRDWH� IL� VFKLPEDW� SULQ� XWLOL]DUHD�PRGLILFDWRULORU�GH�FRQWURO�DL�DFFHVXOXL��SXEOLF��SULYDWH��SURWHFWHG�

���������'(&/$5$5($�&/$6(/250RGXO�GH�GHFODUDUH�D�XQHL�FODVH�HVWH�VLPLODU�FHOXL�GH�GHFODUDUH�D�VWUXFWXULORU�úL�D�XQLXQLORU�

FODVV QXPHBWLS^

��

Page 151: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

PRGLILFDWRUBFRQWUROBDFFHV�OLVWDBPHPEULORU�

` OLVWDBYDULDELOH�&ODVD�UHSUH]LQW� XQ�WLS�GH�GDWH��GHILQLW�GH�XWLOL]DWRU���0HPEULL XQHL�FODVH�VXQW�� 'DWHOH�PHPEUH�� GDWHOH�GHFODUDWH�vQ�FDGUXO�FODVHL�� 0HWRGHOH�� IXQF LLOH�PHPEUH��IXQF LLOH�GHFODUDWH�VDX�GHILQLWH�vQ�FDGUXO�FODVHL��6H�DGPLWH�F� vQ�

FDGUXO� GHFODUD LHL� GH� FODV� V� VH� VSHFLILFH� GRDU� SURWRWLSXULOH� IXQF LLORU� PHPEUH�� GHILQL LLOH�SXWkQG�IL�I�FXWH�RULXQGH�vQ�ILúLHU��VDX�vQ�DOW�ILúLHU�

3HQWUX�PHPEULL�FDUH�DSDU�vQ�OLVWDBPHPEULORU VH�SRDWH�SUHFL]D�XQ�DQXPLW�PRG�GH�DFFHV��0RGLILFDWRUBFRQWUROBDFFHV� SRDWH� IL� SXEOLF�� SULYDWH VDX� SURWHFWHG �HYHQWXDO�IULHQG�� YH]L� SDUDJUDIXO� �������� 'DF� QX� VH� VSHFLILF��� HVWH� FRQVLGHUDW� FHO� LPSOLFLW� �SULYDWH���0RGLILFDWRUXO�GH�DFFHV�SXEOLF VH�XWLOL]HD]� SHQWUX�PHPEULL�FDUH�GRULP�V� ILH�QHSURWHMD L��XOWLPLL�GRL�PRGLILFDWRUL�DVLJXUkQG�SURWHF LD�PHPEULORU�GLQ�GRPHQLXO�GH�DF LXQH�D�ORU��0HPEULL�FX�DFFHV�SULYDWH SRW�IL�DFFHVD L�QXPDL�SULQ�PHWRGHOH�FODVHL��VDX�SULQ IXQF LLOH�SULHWHQH��FDSLWROXO���������&HL� FX� DFFHV�SURWHFWHG SRVHG� FDUDFWHULVWLFLOH� FHORU�SULYD L�� vQ�SOXV�� SXWkQG� IL� DFFHVD L� úL� GLQ�FODVHOH�GHULYDWH��6SHFLILFDWRULL�PRGXOXL�GH�DFFHV�SRW�DSDUH�vQ�GHFODUDUHD�FODVHL�GH�PDL�PXOWH�RUL��vQ�RULFH�RUGLQH�'RPHQLXO�XQXL�PRGLILFDWRU�GH�DFFHV� LQH�GLQ�SXQFWXO�vQ�FDUH�DSDUH�PRGLILFDWRUXO�UHVSHFWLY��SkQ�OD�VIkUúLWXO�GHFODUD LHL�FODVHL�VDX�DO�vQWkOQLULL�DOWXL�PRGLILFDWRU�GH�DFFHV��H[HPSOHOH�������2EVHUYD LLOH�OHJDWH�GH�SUH]HQ D�QXPHBWLS VDX�OLVWDBYDULDELOH �GLQ�FDSLWROXO����VXQW�YDODELOH�úL�vQ�FD]XO�FODVHORU��9DULDELOHOH�GLQ�OLVWDBYDULDELOH VXQW�GH�WLSXO�QXPHBWLS�úL�VH�QXPHVF�LQVWDQ H �RELHFWH��DOH�FODVHL�2EVHUYD LH� ÌQ�FD]XO�WLSXULORU�GH�GDWH�GHILQLWH�FX�DMXWRUXO�VWUXFWXULORU��VH�SRW�DSOLFD�PRGLILFDWRULL�GH�DFFHV�� ÌQ�FD]XO� WLSXULORU�GHILQLWH�FX�DMXWRUXO�XQLXQLORU��DFFHVXO� LPSOLFLW� �SXEOLF��QX�SRDWH�IL�PRGLILFDW�([HPSOX�FODVV�PDVLQD^

FKDU� FXORDUH� ���GDW� PHPEUX�OD�FDUH�DFFHVXO�HVWH��LPSOLFLW��SULYDWHLQW�FDSDFLWBFLO� ���GDW� PHPEUX�OD�FDUH�DFFHVXO�HVWH��LPSOLFLW��SULYDWH

SXEOLF�YRLG�FLWLUHBGDWH�����PHWRG� FX�DFFHV�SXEOLF��FDUH�SHUPLWH�LQWURGXFHUHD�GDWHORU�GHVSUH�R�LQVWDQ ��D�FODVHLLQW�UHWBFDSDFLW��� ��PHWRG� FX�DFFHV�SXEOLF

`�0HPEULL�FXORDUH úL�FDSDFLWDWHBFLO �DFFHVXO�SULYDWH��SRW�IL�DFFHVD L�GRDU�SULQ�LQWHUPHGLXO�PHWRGHORU�FODVHL�([HPSOX�FODVV�SHUVRDQD^

FKDU� QXPH� ��GDW� PHPEUX�SULYDW�SXEOLF�

YRLG�FLWLUHBLQIBSHUV��� ��PHWRG� SXEOLF�SULYDWH�

LQW�YDUVWD� ��GDW� PHPEUX�SULYDW�`�([HUFL LX� 6� VH�GHILQHDVF� WLSXO�GH�GDWH�GUHSWXQJKL��FX�DMXWRUXO�XQHL�VWUXFWXUL��D�XQHL�XQLXQL�úL�D�XQHL�FODVH��

Page 152: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

'DWHOH�PHPEUH VXQW�OXQJLPHD�úL�O� LPHD��YDULDELOHOH�/XQJ��ODW��)XQF LLOH�PHPEUH VXQW��

YRLG�VHWHD]DBGLPHQ�GRXEOH��GRXEOH� � SULPHúWH�FD�DUJXPHQWH�GRX� YDORUL�UHDOH�úL�LQL LDOL]HD]� GDWHOH�PHPEUH�FX�YDORULOH�DUJXPHQWHORU�GRXEOH�DUDWDB/XQJ��� � UHWXUQHD]� YDORDUHD�OXQJLPLL��D�GDWHL�PHPEUH�/XQJ��GRXEOH�DUDWDB/DW��� � UHWXUQHD]� YDORDUHD�O� LPLL��D�GDWHL�PHPEUH�ODW��GRXEOH�FDOFXOBDULH��� � UHWXUQHD]� YDORDUHD�DULHL�GUHSWXQJKLXOXL�

��D��,PSOHPHQWDUHD�WLSXOXL�GUHSWXQJKL�FX�DMXWRUXO�XQHL�VWUXFWXUL��LQFOXGH��LRVWUHDP�K!VWUXFW GUHSWXQJKL^

GRXEOH�/XQJ��ODW�YRLG�VHWHD]DBGLPHQ�GRXEOH��GRXEOH��� ��SURWRWLSXO�IXQF LHL�

VHWHD]DBGLPHQ�GRXEOH�DUDWDB/XQJ��

^UHWXUQ�/XQJ�`GRXEOH�DUDWDB/DW��

^UHWXUQ�ODW�`GRXEOH�FDOFXOBDULH��

^UHWXUQ�/XQJ ODW�``�YRLG�GUHSWXQJKL��VHWHD]DBGLPHQ�GRXEOH�/��GRXEOH�O�

^/XQJ /��ODW O�`YRLG�PDLQ��^�GUHSWXQJKL�D�

GRXEOH�O���O���FRXW���/XQJLPH ���FLQ!!O��FRXW���/DWLPH ���FLQ!!O���D�VHWHD]DBGLPHQ�O���O������VDX��/XQJ O���ODW O��FRXW���'LPHQVLXQLOH�GUHSWXQJKLXOXL�VXQW����D�DUDWDB/XQJ���FRXW����VL���D�DUDWDB/DW����?Q�FRXW���$ULD�GUHSWXQJKLXOXL����D�FDOFXOBDULH���� ?Q�FRXW���'LPHQV�VWUXFWXULL����VL]HRI�D���?Q�

`��E��,PSOHPHQWDUHD�WLSXOXL�GUHSWXQJKL�FX�DMXWRUXO�XQHL�XQLXQL

�LQFOXGH��LRVWUHDP�K!XQLRQ GUHSWXQJKL^

GRXEOH�/XQJ��ODW�YRLG�VHWHD]DBGLPHQ�GRXEOH��GRXEOH���GRXEOH�DUDWDB/XQJ��

^UHWXUQ�/XQJ�`GRXEOH�DUDWDB/DW��

^UHWXUQ�ODW�`GRXEOH�FDOFXOBDULH�GRXEOH�V�

^UHWXUQ�V ODW�``�YRLG�GUHSWXQJKL��VHWHD]DBGLPHQ�GRXEOH�/��GRXEOH�O�

^/XQJ /��ODW O�`YRLG�PDLQ��^�GUHSWXQJKL�D��GRXEOH�O���O��

FRXW���/XQJLPH ���FLQ!!O���FRXW���/DWLPH ���FLQ!!O��

Page 153: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

D�VHWHD]DBGLPHQ�O���O����FRXW���/XQJ��GUHSW����D�DUDWDB/XQJ����?Q�

GRXEOH�V� D�DUDWDB/XQJ����D�VHWHD]DBGLPHQ�O���O���FRXW���/DWLPHD GUHSWXQJKLXOXL�HVWH����D�DUDWDB/DW����?Q�FRXW���$ULD�GUHSWXQJKLXOXL����D�FDOFXOBDULH�V���� ?Q�FRXW���'LPHQV��XQLXQLL����VL]HRI�GUHSWXQJKL���?Q�

`ÌQ� H[HUFL LXO� �� D�� E� VH�GHILQHúWH� WLSXO� GUHSWXQJKL SULQWU�R� VWUXFWXU��� UHVSHFWLY�R�XQLXQH��7LSXO�FRQ LQH� DWkW� GDWHOH�PHPEUH�� FkW� úL�PHWRGHOH� FDUH� LPSOHPHQWHD]� RSHUD LLOH� FDUH� SRW� IL� UHDOL]DWH�DVXSUD�YDULDELOHORU�GH�WLSXO�GUHSWXQJKL��0HWRGHOH�DUDWDB/XQJ��DUDWDB/DW��FDOFXOBDULH VXQW�GHILQLWH vQ�VWUXFWXU� �XQLXQH���0HWRGD�VHWHD]DBGLPHQ HVWH�GRDU�GHFODUDW� vQ�LQWHULRUXO�VWUXFWXULL��XQLXQLL��� ILLQG� DELD� DSRL� GHILQLW�� ÌQ� YDULDQWD� E� �LPSOHPHQWDUHD� FX� XQLXQH�� XQGH� SHQWUX�PHPRUDUHD� YDORULORU� GDWHORU� PHPEUH� VH� XWLOL]HD]� DFHHDúL� ]RQ� GH� PHPRULH��� SHQWUX� D� S�VWUD�YDORULOH�DWkW�SHQWUX�OXQJLPHD�GUHSWXQJKLXOXL��FkW�úL SHQWUX�O� LPH��PHWRGHOH�DX�IRVW��PRGLILFDWH��1HVSHFLILFkQG� QLFL� XQ� PRGLILFDWRU� GH� FRQWURO� DO� DFFHVXOXL�� WR L� PHPEULL� �GDWH� úL� PHWRGH�� VXQW�LPSOLFLW�SXEOLFL��'H�DFHHD��GH�H[HPSOX��DWULEXLUHD�XQHL�YDORUL�SHQWUX�GDWD�PHPEU� /XQJ VH�SXWHD�UHDOL]D��OD�IHO�GH ELQH��vQ�FRUSXO�IXQF LHL�PDLQ��DVWIHO��/XQJ O�� �vQ�H[HUFL LXO��D��DWULEXLUHD�VH�UHDOL]HD]� FX�DMXWRUXO�PHWRGHL�VHWHD]DBGLPHQ������F��,PSOHPHQWDUHD�WLSXOXL�GUHSWXQJKL�FX�DMXWRUXO�XQHL�FODVH

�LQFOXGH��LRVWUHDP�K!FODVV GUHSWXQJKL^

GRXEOH�/XQJ��ODW�SXEOLF�

YRLG�VHWHD]DBGLPHQ�GRXEOH��GRXEOH���GRXEOH�DUDWDB/XQJ��

^UHWXUQ�/XQJ�`GRXEOH�DUDWDB/DW��

^UHWXUQ�ODW�`GRXEOH�FDOFXOBDULH��

^UHWXUQ�/XQJ ODW�``�YRLG�GUHSWXQJKL��VHWHD]DBGLPHQ�GRXEOH�/��GRXEOH�O�

^/XQJ /��ODW O�`YRLG�PDLQ��^�GUHSWXQJKL�D�GRXEOH�O���O��

FRXW���/XQJLPH ���FLQ!!O��FRXW���/DWLPH ���FLQ!!O��D�VHWHD]DBGLPHQ�O���O���FRXW���'LPHQVLXQLOH�GUHSWXQJKLXOXL�

VXQW���FRXW��D�DUDWDB/XQJ������VL���D�DUDWDB/DW����?Q�FRXW���$ULD�GUHSWXQJKLXOXL����D�FDOFXOBDULH���� ?Q�FRXW���'LPHQV�����VL]HRI�D���?Q�

`ÌQ�H[HUFL LXO��F�VH�GHILQHúWH� WLSXO�GH�GDWH� GUHSWXQJKL FX�DMXWRUXO�XQHL�FODVH��1LYHOXO�GH�DFHHV�LPSOLFLW�OD�PHPEULL�FODVHL�HVWH�SULYDWH��'DF� SHQWUX�PHWRGH�QX�V�DU�IL�IRORVLW�PRGLILFDWRUXO�GH�DFFHV�SXEOLF��PHWRGHOH�QX DU�IL�SXWXW�IL�IRORVLWH�vQ�IXQF LD�PDLQ��

���������2%,(&7(

Page 154: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

8Q� RELHFW� HVWH� R� GDW� GH� WLS� GHILQLW� SULQWU�R� FODV��� ÌQ� H[HUFL LXO� DQWHULRU�� SXQFWXO� F�� vQ� IXQF LD�PDLQ��VH�GHFODU� RELHFWXO��YDULDELOD��D GH�WLS�GUHSWXQJKL��6SXQHP�F� RELHFWXO�D HVWH�R�LQVWDQ ��D�FODVHL�GUHSWXQJKL��6H�SRW�GHFODUD�RULFkWH�RELHFWH��LQVWDQ H��DOH�FODVHL��$úD�FXP�VH�REVHUY� GLQ�H[HPSOX��GHFODUDUHD�RELHFWHORU�GH�XQ�DQXPLW�WLS�DUH�R�IRUP� DVHP�Q�WRDUH�FHOHL�SHQWUX�GDWHOH�GH�WLS�SUHGHILQLW�

QXPHBFODVD��OLVWDBRELHFWH�([HPSOH�

GUHSWXQJKL�D�GUHSWXQJKL�E��F��G�

���������0(0%5,,�81(,�&/$6('DWHOH�PHPEUX VH� DORF� GLVWLQFW� SHQWUX� ILHFDUH� LQVWDQ �� �DWULEXWH� DOH� LQVWDQ HL�� D� FODVHL� �SHQWUX�GHFODUDUHD�RELHFWHORU�D��E��F��G�GH�WLS�GUHSUXQJKL��YH]L�ILJXUD���������([FHS LD GH�OD�DFHDVW� UHJXO�R� FRQVWLWXLH� GDWHOH� PHPEUX� VWDWLFH�� FDUH� H[LVW� vQWU�XQ� VLQJXU� H[HPSODU�� FRPXQ�� SHQWUX� WRDWH�LQVWDQ HOH�FODVHL�

0HWRGHOH�ILJXUHD]� vQWU�XQ�VLQJXU�H[HPSODU��RULFkWH�LQVWDQ H�DOH�FODVHL�DU�H[LVWD��ÌQ�H[HPSOXO�DQWHULRU��PHWRGD�VHWHD]DBGLPHQ HVWH�GRDU�GHFODUDW� vQ�LQWHULRUXO�FODVHL��ILLQG�DELD�DSRL� GHILQLW��� /D� GHILQLUHD� IXQF LHL� �YRLG� GUHSWXQJKL��VHWHD]DBGLPHQ�GRXEOH� /��GRXEOH� O�� V�D� IRORVLW� RSHUDWRUXO� �� �VFRSH� UHVROXWLRQ� RSHUDWRU�� FDUH� VSHFLILF� UHOD LD� GH�DSDUWHQHQ �� D� PHWRGHL� OD� WLSXO� GUHSWXQJKL�� 2SHUDWRUXO� FXSOHD]�QXPHBFODVD��QXPHBIXQFWLHBPHPEUX úL�GHILQHúWH�GRPHQLXO��VFRSXO��vQ�FDUH�DFHD�IXQF LH�YD� IL� UHFXQRVFXW��� 3UH]HQ D� QXPHOXL� FODVHL� vQ� ID D� IXQF LHL� PHPEUX� HVWH� REOLJDWRULH�� GHRDUHFH��DOWIHO�QX�V�DU�SXWHD�IDFH�GLVWLQF LD�vQWUH�PHWRGH�FX�QXPH�LGHQWLFH��FDUH�DSDU LQ�XQRU�FODVH�GLIHULWH��2�IXQF LH�PHPEUX�VH�DSHOHD]� WRWGHDXQD�vQ�VWUkQV� GHSHQGHQ ��FX�XQ�RELHFW�GLQ�FODVD�UHVSHFWLY���/HJ�WXUD�GLQWUH�RELHFW�úL�IXQF LD�PHPEU� VH�IDFH�SULQ�RSHUDWRUXO�� VDX�RSHUDWRUXO��!��GXS� FXP�RELHFWXO�HVWH�GHVHPQDW�SULQ�QXPH�VDX�SULQ�SRLQWHU��YH]L�H[HPSOX���ÌQ�SOXV��PHWRGHOH�VWDWLFH SRW�IL�DSHODWH LQGHSHQGHQW�GH�XQ�RELHFW�DO�FODVHL��IRORVLQG�RSHUDWRUXO�GH�UH]ROX LH�������$FFHVXO� OD� R�PHWRG� SUHVXSXQH� R� DFWLYLWDWH� GH� DGUHVDUH�� WUDQVSDUHQW� XWLOL]DWRUXOXL��'H� IDSW�� vQ�LQWHULRUXO�RELHFWXOXL�FUHDW�VH�DIO� GRDU�SXQFWDWRUL� OD�FODVD�GLQ�FDUH�SURYLQ��ÌQ�LQWHULRUXO�GHILQL LHL�FODVHL� VH� DORF� R� VLQJXU� FRSLH� D� ILHF�UHL� IXQF LH� PHPEU� úL� SXQFWDWRULL� UHVSHFWLY�� SULQ� FDUH�

D�ODW

D�/XQJ/XQJODW

D E�ODW

E�/XQJ/XQJODW

EF�ODW

F�/XQJ/XQJODW

F

G�ODW

G�/XQJ/XQJODW

G

)LJXUD��������$ORFDUHD�PHPRULHL�SHQWUX�GDWHOH�PHPEUH�QHVWDWLFH

Page 155: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

RELHFWXO�YD�DYHD�DFFHV�OD�PHWRGD�UHVSHFWLY���([FHS LD�GH�OD�DFHDVW� UHJXO� R�FRQVWLWXLH�PHWRGHOH�YLUWXDOH �FDSLWROXO������([HPSOX� )LH�FODVD�GUHSWXQJKL�GLQ�H[HUFL LXO�DQWHULRU�

FODVV GUHSWXQJKL^GRXEOH�/XQJ��ODW�

SXEOLF�YRLG�VHWHD]DBGLPHQ�GRXEOH��GRXEOH���GRXEOH�DUDWDB/XQJ���GRXEOH�DUDWDB/DW���GRXEOH�FDOFXOBDULH���

`���«««««««««««««««««««««««««««««��YRLG�PDLQ��

^�GUHSWXQJKL�D���««««««««««««««««««««««««««FRXW���$ULD�GUHSWXQJKLXOXL����D�FDOFXOBDULH���� ?Q�GUHSWXQJKL� SD�SD D�GRXEOH�DULH SD�!FDOFXOBDULH���

`([HUFL LX� 6� XUP�ULP�H[HUFL LXO�XUP�WRU��FDUH�LOXVWUHD]� SUREOHPHOH�OHJDWH�GH�PHPEULL�VWDWLFLDL�XQHL�FODVH��ILJXUD���������LQFOXGH��LRVWUHDP�K!�LQFOXGH��FRQLR�K!FODVV H[HPSOX^ LQW�L� ���GDW� PHPEU� SULYDW���DFFHV�OD�HD�GRDU�SULQ�PHWRGHSXEOLF�

VWDWLF�LQW�FRQWRU� ���GDW� PHPEU� SXEOLFD��QHSURWHMDW� �VFRS�GLGDFWLF�YRLG�LQF�YRLG�

^L���`YRLG�DUDWDBL��

^FRXW���L ���L��?Q�`YRLG�LQFBFRQWRU�YRLG�

^FRQWRU���`YRLG�LQLW�YRLG�

^L ��`VWDWLF�YRLG�DUDWDBFRQWRU��

^FRXW���&RQWRU ���FRQWRU��?Q�`VWDWLF�YRLG�IXQFWLH�H[HPSOX ��

`�D���D���D��LQW�H[HPSOX��FRQWRU �� ��LQL LDOLD]DUHD�GDWHL�PHPEUX�VWDWLFHYRLG�H[HPSOX��IXQFWLH��H[HPSOX� SH�^��L� �� ��HURDUH��QX�VH�FXQRDVWH�RELHFWXO�FDUH�O�SRVHGD�SH�LSH�!L��� ��FRUHFW��HVWH�VSHFLILFDW�SURSULHWDUXO�OXL�LFRQWRU��� ��YDULDELO� VWDWLF�� FRPXQ� WXWXURU�RELHFWHORU`YRLG�PDLQ��^FOUVFU���D��LQLW����D��LQLW����D��LQLW��� ��D��L ���D��L ���D��L �D��DUDWDBL���D��DUDWDBL���D��DUDWDBL��� ��L ���L ���L �

0HPRULD�VWDWLF�

H[HPSOX��FRQWRU

6WLY�

D��L

D��L

D��L

)LJXUD��������$ORFDUHD�PHPRULHL�SHQWUX�GDWHOH�

PHPEUX�VWDWLFH�úL�QHVWDWLFH

Page 156: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

D��LQF����D��LQF����D��LQF��� ��D��L ���D��L ���D��L �D��DUDWDBL���D��DUDWDBL���D��DUDWDBL��� ��L ���L ���L �D��IXQFWLH�D��� ��FRQWRU ���L �H[HPSOX��IXQFWLH�D��� ��FRQWRU ���L ���IXQFWLH��� ��LQFRUHFWD��LQFBFRQWRU��� ��FRQWRU �H[HPSOX��DUDWDBFRQWRU���D��LQFBFRQWRU��� ��FRQWRU �H[HPSOX��DUDWDBFRQWRU���D��LQFBFRQWRU��� ��FRQWRU �H[HPSOX��DUDWDBFRQWRU���H[HPSOX��DUDWDBFRQWRU���H[HPSOX��FRQWRU� ���� ��PHPEUX�SXEOLF��FRQWRU ���FRXW���&RQWRU ���H[HPSOX��FRQWRU��?Q� ��&RQWRU ���`'LQ�H[HPSOXO�DQWHULRU��VH�SRDWH�REVHUYD�F� PHWRGD�VWDWLF� IXQF LH SRDWH�IL�DSHODW� FD�R�PHWRG�RELúQXLW���VDX�IRORVLQG�RSHUDWRUXO�����3HQWUX�GDWD�PHPEU� VWDWLF� FRQWRU VH�UH]HUY� R�]RQ� GH�PHPRULH�FRPXQ� RELHFWHORU�D���D���D���3HQWUX�GDWD�PHPEU� L VH�UHDOL]HD]� R�FRSLH�SHQWUX�ILHFDUH�LQVWDQ ��D�FODVHL��'HDVHPHQHD��GHRDUHFH�GDWD�PHPEU� FRQWRU�HVWH�VWDWLF���QX�DSDU LQH�XQXL�DQXPH�RELHFW��HD�DSDUH�SUHIL[DW� GH�QXPHOH�FODVHL�úL�RSHUDWRUXO�GH�DSDUWHQHQ ��([HUFL LX� 6� VH� XUP�UHDVF� XUP�WRUXO� H[HUFL LX�� FDUH� GHILQHúWH� WLSXO� H[BPVWDW�� FX� R� GDW�PHPEUX�VWDWLF� �V��úL��PHWRGHOH�VWDWLFH��VHWBV��UHWBV���LQFOXGH��LRVWUHDP�K!FODVV�H[BPVWDW^

LQW�D��VWDWLF�GRXEOH�V�SXEOLF�

LQW�UHWBD��^UHWXUQ�D�`YRLG�VHWBD�LQW�[�^D [�`VWDWLF�GRXEOH�UHWBV��^UHWXUQ�V�`VWDWLF�YRLG�VHWBV�GRXEOH�[�^V [�`YRLG�VHW�BV�GRXEOH�[�^V [�`GRXEOH�UHW�BV��^UHWXUQ�V�`

`�GRXEOH�H[BPVWDW��V�� VH�UH]HUY� VSD LX�vQ�PHPRULD�VWDWLF� SHQWUX�GDWD�PHPEU�VWDWLF� V��FDUH�ILJXUHD]� vQWU�XQ�VLQJXU�H[HPSODU�SHQWUX�WRDWHLQVWD HOH�FODVHL�H[BPVWDW �ILJXUD������� �YRLG�PDLQ��^H[BPVWDW�S�T�S�VHWBD������S�VHWBV�������T�VHWBD������FRXW���S�D ���S�UHWBD������S�V ���S�UHWBV���FRXW���� H[BPVWDW��UHWBV ���H[BPVWDW��UHWBV����?Q���S�D ���� S�V ����H[BPVWDW��UHWBV ���FRXW���T�D ���T�UHWBD������T�V ���T�UHW�BV���FRXW���� H[BPVWDW��UHWBV ���H[BPVWDW��UHWBV����?Q���T�D ���� T�V ����H[BPVWDW��UHWBV ���H[BPVWDW��VHWBV���������FRXW���S�D ���S�UHWBD������S�V ���S�UHWBV���

H[BPVWDW��V

S D T D

)LJXUD��������$ORFDUHD�PHPRULHL�SHQWUX�PHPEULL�FODVHL�H[BPVWDW

Page 157: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

FRXW����H[BPVWDW��UHWBV�� ���H[BPVWDW��UHWBV���� ?Q���S�D ����S�V �������H[BPVWDW��UHWBV ������

FRXW���T�D ���T�UHWBD������T�V ���T�UHW�BV���FRXW����H[BPVWDW��UHWBV�� ���H[BPVWDW��UHWBV����?Q�

��T�D ����T�V �������H[BPVWDW��UHWBV ������T�VHW�BV���������FRXW���S�D ���S�UHWBD������S�V ���S�UHWBV���FRXW����H[BPVWDW��UHWBV�� ���H[BPVWDW��UHWBV���� ?Q�

��S�D ����S�V �������H[BPVWDW��UHWBV ������FRXW���T�D ���T�UHWBD������T�V ���T�UHW�BV���FRXW����H[BPVWDW��UHWBV�� ���H[BPVWDW��UHWBV���� ?Q�

��T�D ����T�V �������H[BPVWDW��UHWBV ������S�VHW�BV������FRXW���S�D ���S�UHWBD������S�V ���S�UHWBV���FRXW����H[BPVWDW��UHWBV�� ���H[BPVWDW��UHWBV���� ?Q�

��S�D ����S�V ����H[BPVWDW��UHWBV ���FRXW���T�D ���T�UHWBD������T�V ���T�UHW�BV���FRXW����H[BPVWDW��UHWBV�� ���H[BPVWDW��UHWBV���� ?Q�

��T�D ����T�V ����H[BPVWDW��UHWBV ���`$úD� FXP� VH� REVHUY� GLQ� H[HPSOXO� DQWHULRU�� GDWD� PHPEUX� VWDWLF� V ILJXUHD]� vQWU�XQ� VLQJXU�H[HPSODU�SHQWUX�LQVWDQ HOH S úL�T��(D�SRDWH�IL�PRGLILFDW� SULQ�PHWRGD�VWDWLF� VHWBV VDX�SULQ�PHWRGD VHW�BV�$SHOXO�XQHL�PHWRGH�VWDWLFH SRDWH�IL� UHDOL]DW� FD�XQ�DSHO�DO�XQHL�PHWRGH�RELúQXLWH��S�UHWBV����VDX�IRORVLQG�RSHUDWRUXO�GH�UH]ROX LH� H[BPVWDW��UHWBV����'DWRULW� XOWLPXOXL�PRG�GH�DSHO�� vQ�FDUH�PHWRGD�VWDWLF� QX HVWH�DVRFLDW��XQXL�RELHFW�DQXPH��vQ�FRUSXO�IXQF LLORU�VWDWLFH��QX��SRW�IL�DFFHVDWH�GHFkW�GDWHOH�PHPEUH�VWDWLFH�2EVHUYD LH� 1X WUHEXLH� FRQIXQGD L�PHPEULL� VWDWLFL� DL� XQHL� FODVH FX� GDWHOH� FDUH� DX� FODVD� GH�PHPRUDUH�VWDWLF�

���������32,17(58/�7+,6)LHFDUH� IXQF LH� PHPEU� SRVHG� XQ� DUJXPHQW� DVFXQV�� QXPLW� WKLV�� DUJXPHQW� WUDQVPLV� vQ� PRG�DXWRPDW� GH� F�WUH� FRPSLODWRU�� $FHDVW� YDULDELO� �ORFDO� IXQF LLORU�PHPEUX�� UHSUH]LQW� SRLQWHUXO�F�WUH� RELHFWXO� FXUHQW� �FHO� FDUH� DSHOHD]� PHWRGD��� 6� UHLPSOHPHQW�P� PHWRGD� FDOFXOBDULH��IRORVLQG�DFHVW�SRLQWHU��GHúL�vQ�DFHDVW� VLWXD LH�XWLOL]DUHD�SRLQWHUXOXL�WKLV HVWH�UHGXQGDQW����([HPSOX�

FODVV GUHSWXQJKL^GRXEOH�/XQJ��ODW�

SXEOLF���««««««««««««««««««��YRLG�VHWHD]DBGLPHQ�GRXEOH��GRXEOH��

`�YRLG�GUHSWXQJKL��VHWHD]DBGLPHQ�GRXEOH�/��GRXEOH�O�

^��/XQJ /��ODW O�WKLV�!/XQJ /��WKLV�!ODW O�`

'HRDUHFH�R�PHWRG� VWDWLF� VH�DSHOHD]� LQGHSHQGHQW�GH�XQ�RELHFW�DO�FODVHL��SRLQWHUXO�WKLV QX PDL�SRDWH�IL�XWLOL]DW�

Page 158: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

���������'20(1,8/�818,�180(��9,=,%,/,7$7(�ù,�7,03�'(�9,$��ÌQDLQWH�GH�D�FLWL�DFHVW�SDUDJUDI��WUHEXLH�UHY�]XW�FDSLWROXO������������������'RPHQLXO�XQXL�QXPH8QXL�QXPH�vL�FRUHVSXQGH�XQ�GRPHQLX��VSHFLILFDW�SULQ�GHFODUD LD�YDULDELOHL�� ÌQ�IXQF LH�GH�SR]L LD�GHFODUD LHL��GHILQLULL��XQXL�QXPH��GRPHQLXO�SRDWH�IL�

� ORFDO��GDF� QXPHOH�HVWH�GHFODUDW�vQWU�XQ�EORF��� ILúLHU��GDF� QXPHOH�HVWH�GHFODUDW�vQ�DIDUD�RULF�UXL�EORF�VDX�GHFODUD LH��GHILQL LH��GH�FODV���� FODV��

'DF� XQ�QXPH�FDUH�DUH�FD�GRPHQLX�XQ�ILúLHU�HVWH�UHGHILQLW�vQWU �XQ�EORF�LQFOXV�vQ�GRPHQLXO�V�X��HO�SRDWH�IL�IRORVLW�vQ�DFHVW�EORF�GDF� HVWH�SUHFHGDW�GH�RSHUDWRUXO�UH]ROX LH�([HPSOX���LQFOXGH��LRVWUHDP�K!LQW�L ��� ���L GHFODUDW� vQ�DIDUD�RULF�UHL� IXQF LL��GRPHQLXO�QXPHOXL�HVWH�ILúLHUXOYRLG�PDLQ��^GRXEOH�L ����� ���UHGHFODUDUHD�YDULDELOHL�L ��vQFHSH�GRPHQLXO�ORFDOFRXW���9DORDUHD�OXL�L ���L��?Q� ��9DORDUHD�OXL�L ��FRXW���9DORDUHD�OXL�L �����L��?Q� ���9DORDUHD�OXL�L ����`'RPHQLXO� QXPHOXL� XQXL� WLS� GH� GDWH GHILQLW� SULQWU�R� FODV� �VWUXFW VDX� XQLRQ�� GHRDUHFH�VWUXFWXULOH� úL� XQLXQLOH� VXQW� FD]XUL� SDUWLFXODUH� GH� FODVH� FX�PHPEULL� SXEOLFL�� VH� VWDELOHúWH� vQ�PRG�VLPLODU�GRPHQLXOXL�RULF�UHL�YDULDELOH��1XPHOH�XQXL�PHPEUX�DO�XQHL�FODVH�DUH�XQ�GRPHQLX�GH�WLS�FODV���&D�RULFH�QXPH��XQ�QXPH�GH�FODV� SRDWH�IL�UHGHFODUDW�([HPSOX�FODVV�D^��«««««`���««««��^ ��LQVWUXF LXQH�EORF�DIODW� vQ�GRPHQLXO�QXPHOXL�DGRXEOH�D ��� ��UHGHFODUDUHD�OXL�DFODVV��D�[� ��[�HVWH�XQ�RELHFW�GH�WLSXO�D��GHILQLW�SULQWU�R�FODV��`�����������9L]LELOLWDWH'RPHQLXO� GH� YL]LELOLWDWH� D� XQHL� YDULDELOH� �RELHFW�� HVWH� GHWHUPLQDW� GH� FODVD� GH� PHPRUDUH� D�YDULDELOHL� �RELHFWXOXL��� DúD� FXP� SUH]LQW� WDEHOXO� ����� �FDSLWROXO� ���� 'H� RELFHL�� GRPHQLXO� GH�YL]LELOLWDWH�DO�XQXL�QXPH�FRLQFLGH�FX�GRPHQLXO�QXPHOXL������������7LPS�GH�YLD �7LPSXO� GH� YLD �� D� XQHL� YDULDELOH� �RELHFW�� HVWH� GHWHUPLQDW� GH� FODVD� GH� PHPRUDUH� D� YDULDELOHL��RELHFWXOXL��� DúD� FXP� SUH]LQW� WDEHOXO� ����� �SDUDJUDIHOH� ������ ������� ÌQ� OLPEDMXO� &���� DORFDUHD�GLQDPLF� D�PHPRULHL�VH�UHDOL]HD]� FX�RSHUDWRULL�QHZ úL�GHOHWH �FDSLWROXO�����

Page 159: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

�������)81&�,,�,1/,1(/D� DSHOXO� XQHL� IXQF LL� RELúQXLWH� VH� vQWUHUXSH� H[HFX LD� IXQF LHL� DSHODQWH� úL� VH� H[HFXW� XQ� VDOW� OD�DGUHVD� GH�PHPRULH� OD� FDUH� VH� J�VHúWH� FRUSXO� IXQF LHL� DSHODWH�� /D� WHUPLQDUHD� H[HFX LHL� IXQF LHL�DSHODWH� VH� UHYLQH� vQ� IXQF LD� DSHODQW��� UHOXkQGX�VH� H[HFX LD� FX� LQVWUXF LXQHD� LPHGLDW� XUP�WRDUH�DSHOXOXL�GH�IXQF LH��ÌQ�VLWXD LLOH�vQ�FDUH�FRUSXO�IXQF LHL�DSHODWH�HVWH�IRUPDW�GLQ�FkWHYD�LQVWUXF LXQL��RSHUD LLOH�GHVFULVH�DQWHULRU��LPSOLFDWH�vQ�DSHO�úL�UHYHQLUH��SRW�IL�PDL�FRPSOLFDWH�GHFkW�XQ�DSHO�SULQ�H[SDQGDUH� �vQ� FDUH� DSHOXO� IXQF LHL� HVWH� vQORFXLW� FX� vQVXúL� FRUSXO� IXQF LHL� DSHODWH��� 3HQWUX�HOLPLQDUHD�DFHVWRU�GH]DYDQWDMH��VH�IRORVHVF�IXQF LLOH�LQOLQH�3UH]HQ D� IXQF LLORU� LQOLQH� DQXQ �� FRPSLODWRUXO� V� QX�PDL� JHQHUH]H� LQVWUXF LXQLOH� vQ� FRG�PDúLQ�QHFHVDUH� DSHOXOXL� úL� UHYHQLULL�� FHHD� FH� FRQGXFH� OD� P�ULUHD� WLPSXOXL� GH� FRPSLODUH� vQ� IDYRDUHD�PLFúRU�ULL� WLPSXOXL�GH� H[HFX LH��8WLOL]DUHD� IXQF LLORU� LQOLQH� VH� MXVWLILF� GRDU� vQ� VLWXD LLOH� vQ� FDUH�FRGXO�JHQHUDW�GH�FRPSLODWRU�SHQWUX�H[HFX LD�FRUSXOXL� IXQF LHL�HVWH�PDL�PLF�GHFkW�FRGXO�JHQHUDW�SHQWUX�DSHO�úL�UHYHQLUH�3UDFWLF��IXQF LLOH�FDUH�DX�FRUSXO�IRUPDW�GLQ�PD[LPXP�WUHL�LQVWUXF LXQL�úL�QX�FRQ LQ�LQVWUXF LXQL�

UHSHWLWLYH��IRU��ZKLOH��GR�ZKLOH���SRW�IL�GHFODUDWH�LQOLQH��'HFODUDUHD�XQHL�IXQF LL�LQOLQH�VH�UHDOL]HD]� H[SOLFLW��VSHFLILFkQG�vQ�DQWHWXO�IXQF LHL�UHVSHFWLYH�

FXYkQWXO�FKHLH�LQOLQH��LQOLQH WLSBYDOBUHW�QXPHBIFW��OLVWDBGHFODUBSDUBIRUPDOL��

ÌQ�FD]XO�PHWRGHORU�XQHL�FODVH��GDF� DFHVWHD�VXQW�GHILQLWH�vQ�LQWHULRUXO�FODVHL��HOH�VXQW�FRQVLGHUDWH��LPSOLFLW�� IXQF LL� LQOLQH� �vQ� H[HUFL LXO� DQWHULRU�� IXQF LLOH� DUDW�B/XQJ�� DUDW�B/DW úL�FDOFXOBDULH VXQW�� LPSOLFLW�� IXQF LL� LQOLQH��� ([LVW� úL� SRVLELOLWDWHD� GH� D� GHFODUD� PHWRGD� OD�GHFODUDUHD�FODVHL�úL�GH�D�VSHFLILFD��H[SOLFLW��F� HVWH�IXQF LH�LQOLQH�OD�GHILQLUHD�IXQF LHL��([HPSOX� 'DF� VH�GRUHúWH�FD PHWRGD�VHWHD]DBGLP GLQ�H[HUFL LXO�DQWHULRU�V� ILH�IXQF LH�LQOLQH��I�U� D�PRGLILFD�GHFODUD LD�WLSXOXL�GUHSWXQJKL��VH�SRDWH�SURFHGD�DVWIHO�

FODVV�GUHSWXQJKL^���������

SXEOLF���������YRLG�VHWHD]DBGLPHQ�GRXEOH��GRXEOH��� ���GHFODUDUHD�PHWRGHL���������

`�LQOLQH YRLG�GUHSWXQJKL��VHWHD]DBGLPHQ�GRXEOH�/��GRXEOH�O� ��IXQF LH�LQOLQH��H[SOLFLW

^/XQJ /��ODW O�`3UHIL[DUHD� GHILQL LHL� IXQF LHL� VHWHD]DBGLPHQ FX� FXYkQWXO� FKHLH� LQOLQH HVWH� HFKLYDOHQW� FX�GHILQLUHD�PHWRGHL�vQ�FDGUXO�GHFODUD LHL�FODVHL�GUHSWXQJKL�([HUFL LX� 6� VH� GHILQHDVF� WLSXO� GH� GDWH� FRPSOH[�� FX� GDWHOH� PHPEUX SDUWH� UHDO� úL� SDUWH�LPDJLQDU���2SHUD LLOH FDUH�SRW�IL�UHDOL]DWH�DVXSUD�GDWHORU�GH�DFHVW�WLS��YRU�IL��&LWLUHD�XQHL�GDWH�GH�WLS�FRPSOH[��FLWLUHD�YDORULORU�SHQWUX�SDUWHD�UHDO� úL�FHD�LPDJLQDU����DILúDUHD�XQHL�GDWH�GH�WLS�FRPSOH[��FDOFXOXO�PRGXOXOXL�XQXL�FRPSOH[��FDOFXOXO�DUJXPHQWXOXL�XQXL�FRPSOH[��LQFUHPHQWDUHD�S�U LL� LPDJLQDUH��GHFUHPHQWDUHD�S�U LL� LPDJLQDUH�� IXQF LL�FDUH�UHWXUQHD]� YDORDUHD�S�U LL�UHDOH�úL�D�S�U LL�LPDJLQDUH�D�XQHL�GDWH�GH�WLS�FRPSOH[��DGXQDUHD�D�GRX� GDWH�GH�WLS�FRPSOH[��vQPXO LUHD�D�GRX� GDWH�GH�WLS�FRPSOH[���LQFOXGH��LRVWUHDP�K!�LQFOXGH��PDWK�K!�GHILQH�3,��������FODVV�FRPSOH[^

Page 160: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

GRXEOH�UHDO��LPDJ�SXEOLF�

LQW�FLWLUH���YRLG�DILVDUH���GRXEOH�PRGXO���GRXEOH�DUJ���YRLG�LQFUSL����LQFUHPHQWHD]D�SDUWHD�LPDJLQDUD��)81&�,(�,1/,1(��LPSOLFLW��ILLQG�GHILQLW� vQ�LQWHULRUXO�FODVHL

^�LPDJ���`LQOLQH�YRLG�GHFUSL�����GHFUHPHQWDUHD�SDUWLL�LPDJLQDUHGRXEOH�UHWUHDO������UHWXUQHD]D�SDUWHD�UHDODGRXEOH�UHWLPDJ������UHWXUQHD]D SDUWHD�LPDJLQDUDYRLG�DGXQBF�FRPSOH[��FRPSOH[�� ��DGXQD���QXPHUH�FRPSOH[HYRLG�LQPBF�FRPSOH[ ��FRPSOH[ �� ��SURGXVXO�D���QXPHUH�FRPSOH[H

`�LQOLQH�GRXEOH�FRPSOH[��PRGXO��

^�UHWXUQ�VTUW�UHDO UHDO�LPDJ LPDJ��`LQW�FRPSOH[��FLWLUH��

^�FRXW���3��UHDOD����LI����FLQ!!UHDO���UHWXUQ���FRXW���3��LPDJ���LI����FLQ!!LPDJ���UHWXUQ����UHWXUQ����`

YRLG�FRPSOH[��DILVDUH��^�LI��LPDJ! ��

FRXW��UHDO�������LPDJ��� L����?Q��HOVH�FRXW��UHDO��LPDJ��� L?Q��`

GRXEOH�FRPSOH[��DUJ��^LI��UHDO ���LPDJ �� UHWXUQ�����LI��LPDJ �� ��] S��UHDOD

LI��UHDO!�� UHWXUQ�����HOVH�UHWXUQ�3,�LI��UHDO ��

LI��LPDJ!�� UHWXUQ�3,���HOVH� UHWXUQ��� 3,����

GRXEOH�[ DWDQ�LPDJ�UHDO��LI��UHDO��� UHWXUQ�3,�[�LI��LPDJ��� UHWXUQ�� 3,�[�UHWXUQ�[�`

LQOLQH�YRLG�FRPSOH[��GHFUSL��^�LPDJ���`

GRXEOH�FRPSOH[��UHWUHDO��^�UHWXUQ�UHDO�`

GRXEOH�FRPSOH[��UHWLPDJ��^�UHWXUQ�LPDJ��`

YRLG�FRPSOH[��DGXQBF��FRPSOH[�[���FRPSOH[�[��^UHDO [��UHDO�[��UHDO�LPDJ [��LPDJ�[��LPDJ�`

YRLG�FRPSOH[��LQPBF�FRPSOH[� [���FRPSOH[� [��^UHDO [��!UHDO [��!UHDO�[��!LPDJ [��!LPDJ�LPDJ [��!UHDO [��!LPDJ�[��!LPDJ [��!UHDO�`

YRLG�PDLQ��^FRPSOH[�]��]��FLWLUH���

Page 161: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

FRXW���]� ��]��DILVDUH���FRPSOH[�]��]��FLWLUH���FRXW���]� ��]��DILVDUH���FRXW���0RGXOXO�]� ���]��PRGXO����?Q�FRXW���$JXPHQW�]� ���]��DUJ����?Q�FRXW���3� UHDOD�]� ���]��UHWUHDO�����3�LPDJ�]� ���]��UHWLPDJ����?Q�]��LQFUSL���FRXW���'XSD� LQFUHP� SLPDJ ���]��UHWLPDJ����?Q�]��DILVDUH���FRPSOH[�]��]��DGXQBF�]��]���FRXW���$GXQDUH�]��]� ��]��DILVDUH���FRPSOH[ S]� ]�� S]� ]��]��LQPBF�S]��S]���FRXW���,QPXOWLUH�]��]� ��]��DILVDUH���`

�������&216758&725,�ù,�'(6758&725,���������,1,�,$/,=$5($�'$7(/25/D� GHFODUDUHD� GDWHORU� GH� WLS� SUHGHILQLW� VDX� GHILQLW� GH� XWLOL]DWRU� SULQ� VWUXFWXUL�� XQLXQL� VDX� FODVH��FRPSLODWRUXO�DORF� R�]RQ� GH�PHPRULH�FRUHVSXQ]�WRDUH�WLSXOXL�UHVSHFWLY��(VWH�LQGLFDW�FD�vQ�FD]XO�vQ�FDUH�GDWHOH�VWUXFWXUDWH�DX�FD�PHPEULL�SRLQWHUL��V� VH�DORFH�PHPRULH�vQ�PRG�GLQDPLF�ÌQ� JHQHUDO�� GDWHOH� VWDWLFH� VXQW� LQL LDOL]DWH� DXWRPDW� FX�YDORDUHD����&HOHODOWH� FDWHJRULL� GH�GDWH�� QX�VXQW� LQL LDOL]DWH�� ,QL LDOL]DUHD� GDWHORU� VLPSOH� GH� WLS� SUHGHILQLW� VH� SRDWH� UHDOL]D� GXS� GHFODUDUHD�DFHVWRUD��VDX�vQ�PRPHQWXO�GHFODU�ULL��([HPSOH�LQW�L���L �����GHFODUDUHD�YDULDELOHL�L��DSRL�LQL LDOL]DUHD�HL�SULQ�DWULEXLUHFKDU�F $� ��GHFODUDUHD�úL�LQL LDOL]DUHD�YDULDELOHL�F,QL LDOL]DUHD� GDWHORU� VWUXFWXUDWH� VH� SRDWH� UHDOL]D� vQ�PRPHQWXO� GHFODU�ULL� DFHVWRUD�� SULQ� OLVWHOH� GH�LQL LDOL]DUH�([HPSOH����LQW�D>@ ^��������������`� ��GHFODUDUHD�úL�LQL LDOL]DUHD�YHFWRUXOXL�D���GRXEOH�P>�@>�@ ^^�����������`��^�����������������``���GHFODUDUHD�úL�LQL LDOL]DUHD�PDWULFLL�P���VWUXFW�SHUV^

FKDU�QXPH>��@��LQW�YDUVWD��GRXEOH�VDODULX�`S ^�3RSHVFX��������������`�ÌQ� FD]XO� WLSXULORU� GH� GDWH� GHILQLWH� FX� DMXWRUXO� FODVHORU�� FDUH� DX� GDWH�PHPEUX� SULYDWH�� OLVWHOH� GH�LQL LDOL]DUH�QX�SRW�IL�XWLOL]DWH��3HQWUX�D�HOLPLQD�DFHVWH�QHDMXQVXUL��OLPEDMXO�&���RIHU� PHFDQLVPXO�FRQVWUXFWRULORU úL�DO�GHVFWUXFWRULORU�

���������&216758&725,&RQVWUXFWRULL�VXQW�PHWRGH VSHFLDOH�FDUH�IRORVHVF�OD�FUHDUHD� úL�LQL LDOL]DUHD�LQVWDQ HORU�XQHL�FODVH��&RQVWUXFWRULL�DX�DFHODúL QXPH�FD�úL�FODVD�F�UHLD�vL�DSDU LQ�úL�VXQW�DSHOD L�GH�ILHFDUH�GDW� FkQG�VH�FUHD]� QRL� LQVWDQ H� DOH� FODVHL�� &RQVWUXFWRULL� DVLJXU� LQL LDOL]DUHD� FRUHFW� D� WXWXURU� YDULDELOHORU�PHPEUH�DOH�RELHFWHORU�XQHL�FODVH�úL�FRQVWLWXLH�R�JDUDQ LH�D�IDSWXOXL�F� LQL LDOL]DUHD�XQXL�RELHFW�VH�

Page 162: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

UHDOL]HD]� R�VLQJXU� GDW���2�FODV� SRDWH�DYHD�PDL�PXO L�FRQVWUXFWRUL��H[HPSOXO�����FDUH�GLIHU� vQWUH�HL� SULQ� QXP�UXO� úL� WLSXO� SDUDPHWULORU� DFHVWRUD�� $FHVW� OXFUX� HVWH� SRVLELO� GHRDUHFH� OLPEDMXO� &���SHUPLWH�VXSUDGHILQLUHD �RYHUORDGLQJ��IXQF LLORU�6XSUDvQFDUFDUHD� �VXSUDGHILQLUHD�� UHSUH]LQW� SRVLELOLWDWHD� GH� D� DWULEXL� XQXL� QXPH� PDL� PXOWH�VHPQLILFD LL�� FDUH� VXQW� VHOHFWDWH� vQ� IXQF LH� GH� FRQWH[W�� 3UDFWLF�� VH� SRW� GHILQL� IXQF LL� FX� DFHODúL�QXPH�� GDU� FX� OLVWH� GH� SDUDPHWUL� GLIHULWH�� FD� QXP�U� úL�VDX� FD� WLSXUL� GH� SDUDPHWUL�� ÌQ� PRPHQWXO�DSHOXOXL� IXQF LHL�� VHOHFWDUHD� IXQF LHL� DGHFYDWH� VH� IDFH� vQ� XUPD� FRPSDU�ULL� WLSXULORU� SDUDPHWULORU�HIHFWLYL� FX� WLSXULOH� SDUDPHWULORU� IRUPDOL�� 'H� DFHHD�� GHFODUDUHD� XQRU� IXQF LL� FX� DFHODúL� QXPH� úL�DFHODúL�VHW�GH�SDUDPHWUL HVWH�LOHJDO� úL�HVWH�VHPQDODW� FD�HURDUH�OD�FRPSLODUH��/D�vQWkOQLUHD�GHFODUD LHL�XQXL�RELHFW��VH�DSHOHD]� DXWRPDW�XQ�FRQVWUXFWRU�DO�FODVHL�UHVSHFWLYH��/D�ILHFDUH� LQVWDQ LHUH� D� FODVHL� VH� DORF� PHPRULH� SHQWUX� GDWHOH�PHPEUH��'HFL� SHQWUX� ILHFDUH� RELHFW�GHFODUDW� VH� DORF� PHPRULH� SHQWUX� GDWHOH� PHPEUH� DOH� FODVHL�� ([FHS LH� GH� OD� DFHDVW� UHJXO� R�FRQVWLWXLH� GDWHOH� PHPEUX� VWDWLFH�� $FHVWHD� ILJXUHD]� vQWU�XQ� VLQJXU� H[HPSODU� SHQWUX� WRDWH�LQVWDQ HOH� FODVHL� UHVSHFWLYH�� )XQF LLOH� PHPEUX� H[LVW� vQWU�XQ� VLQJXU� H[HPSODU� SHQWUX� WRDWH�LQVWDQ HOH� FODVHL�� 2UGLQHD� vQ� FDUH� VXQW� DSHOD L� FRQVWUXFWRULL� FRUHVSXQGH� RUGLQLL� GHFODU�ULL�RELHFWHORU��3URSULHW� LOH�FRQVWUXFWRULORU�� &RQVWUXFWRULL�DX�DFHOD L�QXPH�FD�úL�QXPHOH�FODVHL�F�UHLD�vL�DSDU LQ�� 1X� vQWRUF� QLFL� R� YDORDUH� �GLQ� FRUSXO� ORU� OLSVHúWH� LQWUXF LXQHD� UHWXUQ�� vQ� DQWHWXO�

FRQVWUXFWRULORU�QX�VH�VSHFLILF� QLFLRGDW� � OD�WLSXO�YDORULL�UHWXUQDWH�� FXYkQWXO�FKHLH�YRLG��� &RQVWUXFWRULL� XQHL� FODVH� QX� SRW� SULPL� FD� SDUDPHWUL� LQVWDQ H� DOH� FODVHL� UHVSHFWLYH�� FL� GRDU�

SRLQWHUL�VDX�UHIHULQ H�OD�LQVWDQ HOH�FODVHL�UHVSHFWLYH�� $SHOXO�FRQVWUXFWRUXOXL�VH�UHDOL]HD]� OD�GHFODUDUHD�XQXL�RELHFW�� $GUHVD�FRQVWUXFWRULORU�QX�HVWH�DFFHVLELO� XWLOL]DWRUXOXL�� &RQVWUXFWRULL�QX�SRW�IL�PHWRGH�YLUWXDOH��FDSLWROXO������ ÌQ�FD]XO�vQ�FDUH�R�FODV� QX DUH�QLFL�FRQVWUXFWRU�GHFODUDW�GH�F�WUH�SURJUDPDWRU��FRPSLODWRUXO�

JHQHUHD]� XQ�FRQVWUXFWRU�LPSOLFLW��I�U� QLFL�XQ�SDUDPHWUX��FX�OLVWD�LQVWUXF LXQLORU�YLG���'DF�H[LVW� XQ� FRQVWUXFWRU� DO� SURJUDPDWRUXOXL�� FRPSLODWRUXO� QX� PDL� JHQHUHD]� FRQVWUXFWRUXO�LPSOLFLW��H[HPSOXO����

� 3DUDPHWULL� XQXL� FRQVWUXFWRU� QX� SRW� IL� GH� WLSXO� GHILQLW� GH� FODVD� DO� F�UHL� PHPEUX� HVWH�FRQVWUXFWRUXO�

&D� RULFH� DOW� IXQF LH� vQ� OLPEDMXO�&���� FRQVWUXFWRULL� SRW� DYHD� SDUDPHWUL� LPSOLFL L� �YH]L� FDSLWROXO�������� ILLQG�QXPL L�FRQVWUXFWRUL� LPSOLFL L� 9DULDQWD�FRQVWUXFWRUXOXL�FX�SDUDPHWUL� LPSOLFL L�SRDWH�IL�DGRSWDW� vQ�WRDWH�FD]XULOH�vQ�FDUH�FRQVWUXFWRUXO�QX�QHFHVLW� DUJXPHQWH��'DF� WR L�SDUDPHWULL�XQXL�FRQVWUXFWRU� VXQW� LPSOLFL L�� DSHOXO� FRQVWUXFWRUXOXL� DUH� IRUPD�XQHL� VLPSOH�GHFODUD LL� �H[HPSOXO�����&RQVWUXFWRULL�SRW�IL�DSHOD L�úL�vQ�PRG�H[SOLFLW� �H[HPSOXO���� ÌQ�FD]XO�vQ�FDUH�GRULP�V� LQVWDQ LHP�RELHFWH�DWkW�LQL LDOL]DWH��FkW�úL�QHLQL LDOL]DWH�VH�SRDWH�IRORVL�XQ�FRQVWUXFWRU�LPSOLFLW�YLG��FDUH�VH�YD�DSHOD�OD�LQVWDQ LHUHD�RELHFWHORU�QHLQL LDOL]DWH��H[HPSOXO����([HPSOXO�� 3HQWUX� FODVD� FRPSOH[� V�D� GHILQLW� XQ� FRQVWUXFWRU� FX� SDUDPHWUL� LPSOLFL L�� GLQ� DFHVW�PRWLY�V�D�SXWXW�IDFH�GHFODUD LD��FRPSOH[�]������ÌQ�XOWLPD�OLQLH�D�SURJUDPXOXL��SHQWUX�RELHFWXO�]���FRQVWUXFWRUXO�HVWH�DSHODW�vQ�PRG�H[SOLFLW�FODVV�FRPSOH[^ GRXEOH�UHDO�LPDJ�SXEOLF�

FRPSOH[�GRXEOH�[ ���GRXEOH�\ ��� ���&RQVWUXFWRU�LPSOLFLW�

Page 163: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

`�FRPSOH[��FRPSOH[�GRXEOH�[��GRXEOH�\�

^UHDO [���LPDJ \��`YRLG�PDLQ��^FRPSOH[�]�� ��]��UHDO ���]��LPDJ �FRPSOH[�]����� ��]��UHDO ���]��LPDJ �FRPSOH[�]������� ��]��UHDO ���]��LPDJ �FRPSOH[�]� FRPSOH[��� ��DSHO�H[SOLFLW�DO�FRQVWUXFWRUXOXL`/D�DSHOXO�H[SOLFLW�DO�FRQVWUXFWRUXOXL� FRPSOH[�]� FRPSOH[���(YDOXDUHD�H[SUHVLHL�FRPSOH[�� FRQGXFH�OD�9 &UHDUHD�XQXL�RELHFW�WHPSRUDU GH�WLS�SXQFW��RELHFW�FX�R�DGUHV� SUHFLV����GDU�LQDFFHVLELO��9 $SHOXO�FRQVWUXFWRUXOXL�SHQWUX�DFHVW�RELHFW�WHPSRUDU�9 &RSLHUHD�DFHVWXL�RELHFW�WHPSRUDU�vQ�]��([HPSOXO�� 3HQWUX� FODVD� FRPSOH[� H[LVW� XQ� FRQVWUXFWRU� H[SOLFLW�� FRPSLODWRUXO� QX�PDL� FUHHD]�XQXO�LPSOLFLW�FODVV�FRPSOH[^� GRXEOH�UHDO�LPDJ�SXEOLF�

FRPSOH[�GRXEOH�[�GRXEOH�\�� ���IXQF LH�FRQVWUXFWRU�LQOLQH^�UHDO [��LPDJ \�`

`�YRLG�PDLQ��^FRPSOH[�]�������FRPSOH[�]� ���(URDUH���QX�H[LVW� FRQVWUXFWRU�LPSOLFLW`([HPSOXO�� 'HILQLUHD�XQXL� FRQVWUXFWRU� LPSOLFLW� YLG�� FDUH� VH�YD� DSHOD� OD� LQVWDQ LHUHD�RELHFWHORU�QHLQL LDOL]DWH����LQFOXGH�LRVWUHDP�K!FODVV�GDWD^

LQW�]L�OXQD�DQ�SXEOLF�

GDWD�����^�` ���FRQVWUXFWRU�LPSOLFLW�YLGGDWD�LQW�]�LQW�O�LQW�D�� ���FRQVWUXFWRU�FX�SDUDPHWUL

^�]L ]�OXQD O�DQ D��``�YRLG�PDLQ��^GDWD�G� ���DSHOXO�FRQVWUXFWRUXOXL�YLGGDWD�G�������������� ���DSHOXO�FRQVWUXFWRUXOXL�FX�SDUDPHWUL`

�����������&RQVWUXFWRUL�FX�OLVWH�GH�LQL LDOL]DUHÌQ� H[HPSOHOH� DQWHULRDUH�� FRQVWUXFWRULL� LQL LDOL]DX� PHPEULL� XQXL� RELHFW� SULQ� DWULEXLUL�� ([LVW� úL�PRGDOLWDWHD� GH� D� LQL LDOL]D� PHPEULL� SULQWU�R� OLVW� GH� LQVWDQ LHUH �LQL LDOL]DUH��� FDUH� DSDUH� vQ�LPSOHPHQWDUHD�FRQVWUXFWRUXOXL��vQWUH�DQWHWXO�úL�FRUSXO�DFHVWXLD��/LVWD�FRQ LQH�RSHUDWRUXO����XUPDW�GH� QXPHOH ILHF�UXL� PHPEUX� úL� YDORDUHD� GH� LQL LDOL]DUH�� vQ� RUGLQHD vQ� FDUH� PHPEULL DSDU� vQ�GHILQL LD�FODVHL�

Page 164: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

([HPSOX� 3HQWUX� FODVD� FRPSOH[� V�D� LPSOHPHQWDW� XQ� FRQVWUXFWRU� GH� LQL LDOL]DUH� FX� OLVW� GH�LQVWDQ LHUHFODVV�FRPSOH[�^

GRXEOH�UHDO�LPDJ�SXEOLF�

FRPSOH[�GRXEOH�[��GRXEOH�\�� ��FRQVWUXFWRU`�FRPSOH[��FRPSOH[�GRXEOH�[��GRXEOH�\�

�UHDO�[��LPDJ�\� ���/LVW� GH�LQL LDOL]DUH�D�PHPEULORU^�UHWXUQ��`

YRLG�PDLQ��^�FRPSOH[�]�������]��������`

���6DX�FODVV�FRPSOH[�^

GRXEOH�UHDO�LPDJ�SXEOLF�

FRPSOH[�GRXEOH�[��GRXEOH�\���UHDO�[��LPDJ�\��^�`��FRQVWUXFWRU�FX�OLVW� GH�LQL LDOL]DUH

`�

�����������&RQVWUXFWRUL�GH�FRSLHUH3HQWUX� R� FODV��� VH� SRDWH� GHILQL� XQ� FRQWUXFWRU� GH� FRSLHUH�� FDUH� V� SHUPLW� FRSLHUHD� RELHFWHORU��'HRDUHFH� SDUDPHWULL� XQXL� FRQVWUXFWRU� QX� SRW� IL� GH� WLSXO� GHILQLW� GH� FODVD� DO� F �UHL�PHPEUX� HVWH��FRQVWUXFWRUXO�GH�FRSLHUH�SHQWUX�FODVD�FOV��DUH��GH�RELFHL��SURWRWLSXO�

FOV��FRQVW�FOV���3DUDPHWUXO� WUDQVPLV� SULQ� UHIHULQ �� HVWH� RELHFWXO� D� F�UXL� FRSLHUH� VH� UHDOL]HD]���PRGLILFDWRUXO� GH�DFFHV� FRQVW LQWHU]LFkQG� PRGLILFDUHD� DFHVWXLD�� &RQVWUXFWRUXO� GH� FRSLHUH� SRDWH� DYHD� úL� DO L�SDUDPHWUL��FDUH�WUHEXLH�V� ILH�LPSOLFL L�'DF� SURJUDPDWRUXO�QX�GHILQHúWH�XQ�FRQVWUXFWRU�GH�FRSLHUH��FRPSLODWRUXO�JHQHUHD] � XQ�DVHPHQHD�FRQVWUXFWRU��LPSOLFLW�ÌQ� VLWXD LLOH� vQ� FDUH� XQ� WLS� GH� GDWH� DUH� FD� PHPEULL� SRLQWHUL�� HVWH� QHFHVDU� LPSOHPHQWDUHD� XQXL�FRQVWUXFWRU�SHQWUX�LQL LDOL]DUH��HVWH�GH�GRULW�V� VH�DORFH�GLQDPLF�PHPRULH��úL�D�XQXL�FRQVWUXFWRU�GH�FRSLHUH�

���������'(6758&725,'HVWUXFWRULL� VXQW� PHWRGH� DOH� FODVHORU� FDUH� DF LRQHD]� vQ� VHQV� LQYHUV�� FRPSOHPHQWDU�� ID �� GH�FRQVWUXFWRUL�� &RQVWUXFWRULL� VXQW� IRORVL L� SHQWUX� DORFDUHD�PHPRULHL�� LQL LDOL]DUHD� GDWHORU�PHPEUX�VDX�DOWH�RSHUD LL��FXP�DU�IL��LQFUHPHQWDUHD�XQXL�FRQWRU�SHQWUX�LQVWDQ HOH�FODVHL���&RQVWUXFWRUXO�HVWH�DSHODW�vQ�PRPHQWXO�GHFODU�ULL�RELHFWHORU��'HVWUXFWRUXO� HOLEHUHD]� PHPRULD� DORFDW� GH� FRQVWUXFWRUL�� 'HVWUXFWRUXO� HVWH� DSHODW� DXWRPDW�� OD�LHúLUHD�GLQ�EORFXO�vQ�FDUH�HVWH�UHFXQRVFXW�DFHO�RELHFW��3URSULHW� LOH�GHVWUXFWRULORU� 'HVWUXFWRUXO�DUH�DFHODúL�QXPH�FD�úL�FODVD�D�F�URU�PHWRG� HVWH��� 1XPHOH�GHVWUXFWRUXOXL�HVWH�SUHFHGDW�GH�VHPQXO�a�� 2�FODV� DUH�XQ�VLQJXU�GHVWUXFWRU�

Page 165: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

� 'HVWUXFWRUXO� QX� DUH� SDUDPHWUL� úL� QX� UHWXUQHD]� QLFL� R� YDORDUH� �DQWHWXO� QX� FRQ LQH� FXYkQWXO�FKHLH�YRLG��LDU�vQ�FRUSXO�GHVWUXFWRUXOXL�QX�DSDUH�LQVWUXF LXQHD�UHWXUQ���

� 'DF� SURJUDPDWRUXO�QX�D�GHILQLW�XQ�GHVWUXFWRU��FRPSLODWRUXO�JHQHUHD]� DXWRPDW�XQ�GHVWUXFWRU�SHQWUX�FODVD�UHVSHFWLY��

� 'HVWUXFWRULL� VH� DSHOHD]� OD� vQFKHLHUHD� WLPSXOXL� GH� YLD �� D� RELHFWHORU�� vQ� RUGLQH� LQYHUV�DSHOXULORU�FRQVWUXFWRULORU�

� 2ELHFWHOH�GLQDPLFH�QX�VH�GLVWUXJ�DXWRPDW��GHRDUHFH�GRDU�SURJUDPDWRUXO�úWLH�FkQG�QX PDL�HVWH�QHFHVDU�XQ�DVWIHO�GH�RELHFW��

([HUFL LX�6� VH� GHILQHDVF� WLSXO�SXQFW�� FX� GDWHOH�PHPEUH� [ úL�\�� UHSUH]HQWkQG� DEVFLVD� úL� RUGRQDWD� XQXL�SXQFW�� 2SHUD LLOH� FDUH� SRW� IL� UHDOL]DWH� DVXSUD� RELHFWHORU� GH� WLS� SXQFW�� VXQW�� DILúDUH �DILúHD]�FRRUGRQDWHOH�XQXL�SXQFW���GHSODVDUH �GHSODVHD]� XQ�SXQFW��QRLOH�FRRUGRQDWH�DOH�SXQFWXOXL�ILLQG�RE LQXWH� SULQ� DGXQDUHD� XQRU� YDORUL� WUDQVPLVH� FD� SDUDPHWUL�� OD� YDORULOH� DQWHULRDUH� DOH�FRRUGRQDWHORU��� DEVFLVD �UHWXUQHD]� YDORDUHD� DEVFLVHL��� RUGRQDWD �UHWXUQHD]� YDORDUHD�RUGRQDWHL��� 6H� YRU� LPSOHPHQWD�� GHDVHPHQHD�� FRQVWUXFWRU� FX� SDUDPHWUL� LPSOLFL L�� FRQVWUXFWRU�DYkQG�FD�SDUDPHWUL YDORULOH�DEVFLVHL�úL�D�RUGRQDWHL��FRQVWUXFWRU�GH�FRSLHUH úL�GHVWUXFWRU��6� VH�GHILQHDVF� WLSXO�VHJPHQW��FX�GDWHOH�PHPEUH�$ úL�%��GH� WLS�SXQFW�� UHSUH]HQWkQG FDSHWHOH�XQXL�VHJPHQW��RULJLQHD�úL�YkUIXO���2SHUD LLOH�FDUH�SRW�IL�UHDOL]DWH�DVXSUD�RELHFWHORU�GH�WLS�VHJPHQW��VXQW� DILúDUH �DILúHD]� FRRUGRQDWHOH� FDSHWHOORU� VHJPHQWXOXL��� GHSODVDUH �WUDQVODWHD]� XQ�VHJPHQW�� GHSODVkQG�FDSHWHOH� DFHVWXLD� FX�YDORULOH� WUDQVPLVH� FD�SDUDPHWUL���RULJLQH �UHWXUQHD]�RULJLQHD� VHJPHQWXOXL��� YkUI �UHWXUQHD]� YkUIXO� VHJPHQWXOXL��� 6H� YRU� LPSOHPHQWD�� GHDVHPHQHD��FRQVWUXFWRU��FRQVWUXFWRU�GH�FRSLHUH úL�GHVWUXFWRU��6� VH�WHVWH]H�WLSXULOH�GH�GDWH�SXQFW�úL�VHJPHQW�

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��VWGOLE�K!�LQFOXGH��VWGLR�K!�LQFOXGH��FRQLR�K!��&/$6$�381&7FODVV�SXQFW^�GRXEOH�[�\�SXEOLF�

SXQFW��^[ ��\ ��FRXW���&RQVWU��LPSOLFLW�SHQWUX�

SXQFW����[�������\����?Q��`��FRQVWUXFWRU�LQLWLDOL]DUHSXQFW�GRXEOH�GRXEOH��SXQFW�SXQFW�� ��FRQVWUXFWRU�FRSLHUHaSXQFW��� ��GHVWUXFWRUGRXEOH�DEVFLVD��^UHWXUQ�[�`GRXEOH�RUGRQDWD��^UHWXUQ�\�`YRLG�DILVDUH���YRLG�GHSODVDUH�GRXEOH�GRXEOH��

`���&/$6$�6(*0(17FODVV�VHJPHQW^SULYDWH�

Page 166: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

SXQFW�$�%�SXEOLF�

VHJPHQW�SXQFW�SXQFW��� ��FRQVWUXFWRUVHJPHQW�VHJPHQW�� ��FRQVWUXFWRU�FRSLHUHaVHJPHQW��� ��GHVWUXFWRUSXQFW�RULJLQH���SXQFW�YDUI���YRLG�DILVDUH���YRLG�WUDQVODWLH�GRXEOH�GRXEOH��

`���0(72'(/(�&/$6(,�381&7SXQFW��SXQFW�GRXEOH�YDO[�GRXEOH�YDO\�

^�[ YDO[�\ YDO\��FRXW���&RQVWUXFWRU�SXQFW�����[�������\����?Q���`SXQFW��aSXQFW��

^FRXW���'HVWUXFWRU�SXQFW�����[�������\����?Q��`SXQFW��SXQFW��SXQFW�3�

^�[ 3�[�\ 3�\��FRXW���&RQVWUXFWRU�FRSLHUH�SFW�����[�������\����?Q��`YRLG�SXQFW��GHSODVDUH�GRXEOH�G[�GRXEOH�G\�

^[� G[��\� G\�`YRLG�SXQFW��DILVDUH��

^�FRXW���3XQFW�����[�����\����`��0(72'(/(�&/$6(,�6(*0(17VHJPHQW��VHJPHQW�SXQFW�$��SXQFW�%��

^�$ $��% %��FRXW���&RQVWUXFWRU�VHJPHQW>��$�DILVDUH���%�DILVDUH���FRXW���@?Q��`

VHJPHQW��VHJPHQW�VHJPHQW�$%�^�$ $%�$��% $%�%��FRXW���&RQVWUXFWRU�FRSLHUH�VHJPHQW�>��$�DILVDUH����%�DILVDUH���FRXW���@?Q��`

SXQFW�VHJPHQW��RULJLQH��^�UHWXUQ�$�`

SXQFW�VHJPHQW��YDUI��^�UHWXUQ�%�`

YRLG�VHJPHQW��DILVDUH��^�FRXW���>��$�DILVDUH���FRXW�����%�DILVDUH���FRXW���@��� ?Q��`�

VHJPHQW��aVHJPHQW��^�FRXW���'HVWUXFWRU�VHJPHQW�>��$�DILVDUH����

FRXW������%�DILVDUH���FRXW���@?Q��`

YRLG�VHJPHQW��WUDQVODWLH�GRXEOH�G[�GRXEOH�G\�^�$�GHSODVDUH�G[�G\���%�GHSODVDUH�G[�G\��`

YRLG�PDLQ��^FOUVFU���SXQFW�3������������4��������������$�%�

� &RQVWUXFWRU�SXQFW��������������3HQWUX�SXQFWXO�3�&RQVWUXFWRU�SXQFW�������������� �3HQWUX�SXQFWXO�4�&RQVWU��LPSOLFLW�SHQWUX�SXQFW�����&RQVWU��LPSOLFLW�SHQWUX�SXQFW�������SHQWUX�SXQFWHOH�$��%� �

SXQFW�3���4�����&RQVWU��LPSOLFLW�SHQWUX�SXQFW�����&RQVWU��LPSOLFLW�SHQWUX�SXQFW�������SHQWUX�SXQFWHOH�

3���4��VHJPHQW�6�3�4��

Page 167: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

� �&RQVWU��LPSOLFLW�SHQWUX�SXQFW�����&RQVWU��LPSOLFLW�SHQWUX�SXQFW�������SHQWUX�PHPEULL�$��%�DL�RELHFWXOXL�6��GHFL�SHQWUX�6�$�úL�6�%�&RQVWUXFWRU�VHJPHQW>3XQFW������������3XQFW��������������@��SHQWUX�RELHFWXO�6��GH�WLS�

VHJPHQW� �VHJPHQW�6��3��4���

� �&RQVWU��LPSOLFLW�SHQWUX�SXQFW������&RQVWU��LPSOLFLW�SHQWUX�SXQFW����� �SHQWUX�PHPEULL�$��%�DL�RELHFWXOXL�6���GHFL�SHQWUX�

6��$�úL�6��%�&RQVWUXFWRU�VHJPHQW>3XQFW������3XQFW������@��SHQWUX�RELHFWXO�6���GH�WLS�VHJPHQW� �

SULQWI��$SDVD�XQ�FDU��SWU��FRQWLQXDUH�?Q�����JHWFK���FRXW���3XQFWHOH�?Q��3�DILVDUH���FRXW��?Q� 4�DILVDUH���FRXW��?Q�3��DILVDUH���FRXW��?Q� 4��DILVDUH���FRXW��?Q�$�DILVDUH����FRXW��?Q� %�DILVDUH���FRXW��?Q�FRXW���?Q6HJPHQW��� 6�DILVDUH��� FRXW��?Q�

� �3XQFWHOH�3XQFW��������������SHQWUX�RELHFWXO�3�3XQFW����������������SHQWUX�RELHFWXO�4�3XQFW��������SHQWUX�RELHFWXO�$�3XQFW��������SHQWUX�RELHFWXO�%�3XQFW��������SHQWUX�RELHFWXO�3��3XQFW������ �SHQWUX�RELHFWXO�4��6HJPHQW�>3XQFW�������������3XQFW��������������@� �

SXQFW�'�������SXQFW�&����&RQVWUXFWRU�SXQFW������&RQVWU��LPSOLFLW�SHQWUX�SXQFW�������SHQWUX�SXQFWHOH�'��&�

& '� ��RSHUD LH�GH�DWULEXLUH&�DILVDUH��� ���3XQFW��������SHQWUX�SXQFWXO�&�JHWFK���SXQFW�&& &� �� &RQVWUXFWRU�FRSLHUH�SFW������FRXW���,Q�XUPD�FRSLHULL����&&�DILVDUH���

���ÌQ�XUPD�FRSLHULL�3XQFW��������SHQWUX�SXQFWXO�&&�FRXW���6H�GHSODVHD]D�SXQFWXO�&&�FX�YDORULOH���������1RLOH�FRRUG� ��&&�GHSODVDUH����������&&�DILVDUH���

���6H�GHSODVHD]D�SXQFWXO�&&�FX�YDORULOH���������1RLOH�FRRUG� 3XQFW��������FRXW���$EVFLVD�&& ���&&�DEVFLVD������2UGRQDWD�&& ���&&�RUGRQDWD����?Q�

��$EVFLVD�&& ���2UGRQDWD�&& ��FRXW���9DUI�VHJPHQW�6 ����6�YDUI����DILVDUH���

���9DUI�VHJPHQW�6 &RQVWUXFWRU�FRSLHUH�SFW����������������PHWRGD�YDUI�UHWXUQHD]D�XQ�SXQFW��FRSLHUH����3XQFW�����������������'HVWUXFWRU�SXQFW��������������

FRXW���2ULJLQH�VHJPHQW�6 ���&& 6�RULJLQH���� �2ULJLQH�VHJPHQW�6 &RQVWUXFWRU�FRSLHUH�SFW��������������PHWRGD�RULJLQH�UHWXUQHD]D�XQ�SXQFW��FRSLHUH��'HVWUXFWRU�SXQFW������������� �

&&�DILVDUH���� ���3XQFW���������������6� 6� ��RSHUDWLH�GH�DWULEXLUH6��DILVDUH���

���3XQFW������������>3XQFW�������������3XQFW��������������@�FRXW���7UDQVODWLH�6��FX�����������6��WUDQVODWDW�HVWH���6��WUDQVODWLH�������������6��DILVDUH���

Page 168: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

���7UDQVODWLH�6��FX�����������6��WUDQVODWDW�HVWH�>3XQFW���������������3XQFW�����������������@�VHJPHQW�6� 6�� � �&RQVWU��LPSOLFLW�SHQWUX�SXQFW����� �SHQWUX�6��$�&RQVWU��LPSOLFLW�SHQWUX�SXQFW����� �SHQWUX�6��%�&RQVWUXFWRU�FRSLHUH�VHJPHQW�>3XQFW��������������3XQFW�����������������@'HVWUXFWRU�VHJPHQW�>3XQFW���������������3XQFW�����������������@ �FRXW���6HJPHQW�6��REWLQXW�SULQ�FRSLHUH���6��DILVDUH��� ���6HJPHQW�6��REWLQXW�SULQ�FRSLHUH�>3XQFW���������������3XQFW�����������������@�FRXW���,HVLUH�GLQ�PDLQ?Q�� ���,HVLUH�GLQ�PDLQ`� �/D�LHúLUHD�GLQ�IXQF LD�PDLQ��GHFL�OD�WHUPLQDUHD�GXUDWHL�GH�YLD ��D�RELHFWHORU��VH�DSHOHD]� DXWRPDW�GHVWUXFWRULL��vQ�RUGLQHD�LQYHUV� vQ�FDUH�DX�IRVW�DSHOD L�FRQVWUXFWRULL��DVWIHO�'HVWUXFWRU�VHJPHQW�>3XQFW���������������3XQFW�����������������@��SHQWUX�VHJPHQWXO�6��'HVWUXFWRU�SXQFW�������������������SHQWUX�PHPEULL�%��UHVSHFWLY�$��DL�VHJPHQWXOXL�6���6��%��DSRL�6��$�'HVWUXFWRU�SXQFW��������������'HVWUXFWRU�SXQFW��������������SHQWUX�&&�'HVWUXFWRU�SXQFW��������SHQWUX�&�'HVWUXFWRU�SXQFW��������SHQWUX�'�'HVWUXFWRU�VHJPHQW�>3XQFW���������������3XQFW�����������������@��SHQWUX�VHJPHQWXO�6��'HVWUXFWRU�SXQFW�������������������SHQWUX�PHPEULL�%��UHVSHFWLY�$��DL�VHJPHQWXOXL�6���6��%��DSRL�6��$�'HVWUXFWRU�SXQFW��������������'HVWUXFWRU�VHJPHQW�>3XQFW�������������3XQFW��������������@��SHQWUX�VHJPHQWXO�6�'HVWUXFWRU�SXQFW����������������SHQWUX�PHPEULL�%��UHVSHFWLY�$��DL�VHJPHQWXOXL�6��6�%��DSRL�6�$�'HVWUXFWRU�SXQFW������������'HVWUXFWRU�SXQFW��������SHQWUX�SXQFWXO�4��'HVWUXFWRU�SXQFW��������SHQWUX�SXQFWXO�3��'HVWUXFWRU�SXQFW��������SHQWUX�SXQFWXO�%�'HVWUXFWRU�SXQFW��������SHQWUX�SXQFWXO�$�'HVWUXFWRU�SXQFW�������������� �SHQWUX�SXQFWXO�4�'HVWUXFWRU�SXQFW������������ �SHQWUX�SXQFWXO�3� �([HUFL LXO�HYLGHQ LD]� XUP�WRDUHOH�SUREOHPH��� ÌQ�VLWXD LD�vQ�FDUH�R�FODV� &� DUH�FD�GDWH�PHPEUH�RELHFWH DOH�DOWHL�FODVH�&� �FODVD�VHJPHQW DUH�

FD�GDWH�PHPEUH�RELHFWH�GH�WLSXO�SXQFW���OD�FRQVWUXLUHD�XQXL�RELHFW GLQ�&���VH�DSHOHD]� vQWkL�FRQVWUXFWRUXO�&� SHQWUX�PHPEULL��GH�WLS�&����DSRL�FRQVWUXFWRUXO�&��8Q�DVWIHO�GH�H[HPSOX�vO�FRQVWLWXLH�GHFODUDUHD��VHJPHQWXOXL�6� VHJPHQW�6�3�4��6H�DSHOHD]� vQWkL�FRQVWUXFWRUXO�LPSOLFLW�DO�FODVHL�SXQFW�SHQWUX�PHPEULL�$�úL�%�DL�VHJPHQWXOXL�6 �GHFL�SHQWUX�6�$� úL�6�%��� DSRL� FRQVWUXFWRUXO� FODVHL� VHJPHQW� �ILJXUD���������/D�GLVWUXJHUHD�RELHFWXOXL� GLQ� FODVD�&��� GHVWUXFWRULL� VXQW� DSHOD L� vQ� RUGLQHD� LQYHUV� FRQVWUXFWRULORU� �vQWkL� VH�DSHOHD]� GHVWUXFWRUXO�FODVHLVHJPHQW�� vQYHOLúXO�H[WHULRU��DSRL�GHVWUXFWRUXO�SHQWUX�PHPEULL�GH�WLS�SXQFW��

�� 6� UHYHGHP�VHFYHQ D�SXQFW�'�������SXQFW�&� & '�

ÌQ� DFHVW� FD]�� VH� UHDOL]HD]� R� DWULEXLUH�� PHPEUX� FX� PHPEUX�� HFKLYDOHQW� FX� &�[ '�[ úL�&�\ '�\�

Page 169: C++ Tutorial(Romaneste)

� ��� �

��� �����

��������������6

$

%

$�[ $�\

%�[���%�\

6� OX�P�FD�H[HPSOX�FRQVWUXFWRUXO�FODVHL�VHJPHQW�

�� 6� UHYHGHP�VHFYHQ D��SXQFW�&& &�

ÌQ�DFHVW�FD]��VH�DSHOHD]� FRQVWUXFWRUXO�GH�FRSLHUH��FDUH�FUHD]�SXQFWXO�&&�SULQ�FRSLHUHD�SXQFWXOXL�&��$SHOXO�FRQVWUXFWRUXOXL�GH�FRSLHUH�VH�SRDWH�UHDOL]D�úL�H[SOLFLW�

SXQFW�&& SXQFW�&���� 3DUDPHWULL�WUDQVPLúL�XQHL�IXQF LL�SRW�IL�RELHFWH��SRLQWHUL�F�WUH�

RELHFWH�VDX�UHIHULQ H�F�WUH�RELHFWH��9DORDUHD�UHWXUQDW� GH�R�IXQF LH�SRDWH�IL�XQ�RELHFW��SRLQWHU�F�WUH�RELHFW�VDX�UHIHULQ ��F�WUH�RELHFW�

3DJH���� RI����

VHJPHQW��VHJPHQW�SXQFW�$��SXQFW�%��^�$ $��% %��FRXW���&RQVWUXFWRU�VHJPHQW?Q��`

&RQVWUXFWRUXO�SULPHúWH�FD�SDUDPHWUL�UHIHULQ H�F�WUH�RELHFWH�GH�WLSXO�SXQFW��$SHOXO�FRQVWUXFWRUXOXL�VHJPHQW�6�3��4��

3DUDPHWULL�HIHFWLYL�3�úL�4�VXQW�UHIHULQ H�SHQWUX�$��úL�%���DFHOHDúL�RELHFWH���&D�XUPDUH��VH�DSHOHD]�FHL� GRL� FRQVWUXFWRUL� LPSOLFL L� SHQWUX� PHPEULL� $� úL %� DL� VHJPHQWXOXL� 6�� ÌQ� XUPD� RSHUD LHL� GH�DWULEXLUH�GLQ�FRUSXO�FRQVWUXFWRUXOXL�VHJPHQWXOXL��HL�VXQW�LQL LDOL]D L��0HVDMHOH�

�&RQVWUXFWRU�SFW�LPSOLFLW��� �SHQWUX�PHPEUXO�$�DO�VHJPHQWXOXL�6��&RQVWUXFWRU�SFW�LPSOLFLW��� �SHQWUX�PHPEUXO�%�DO�VHJPHQWXOXL�6��&RQVWUXFWRU�VHJPHQW� �SHQWUX�VHJPHQWXOXL�6�

&RQVWUXFWRUXOXL�SXWHDX�V� L�VH�WUDQVPLW� SDUDPHWUL�SULQ�SRLQWHUL�VHJPHQW��VHJPHQW�SXQFW� $��SXQFW� %��

^�$ $��% %��FRXW���&RQVWUXFWRU�VHJPHQW?Q��`$SHOXO� VHJPHQW�6�3��4��3DUDPHWULL� IRUPDOL� $� úL� %� VXQW� LQL LDOL]D L� vQ� PRPHQWXO� DSHOXOXL� FRQVWUXFWRUXOXL� FX� DGUHVHOH�SXQFWHORU� 3�� UHVSHFWLY�4��6LWXD LD� HVWH� VLPLODU� FHOHL� DQWHULRDUH��PHVDMHOH� RE LQXWH� VXQW� LGHQWLFH�FHORU�RE LQXWH�vQ�FD]XO�WUDQVPLWHULL�SDUDPHWULORU�SULQ�UHIHULQ ��&RQVWUXFWRUXOXL�SXWHDX�V� L�VH�WUDQVPLW� SDUDPHWUL�SULQ�YDORDUH�

VHJPHQW��VHJPHQW�SXQFW�$��SXQFW�%��^�$ $��% %��FRXW���&RQVWUXFWRU�VHJPHQW?Q��`

$SHOXO� VHJPHQW�6�3��4��ÌQ� DFHDVW� VLWXD LH�� OD� DSHO�� SHQWUX� SDUDPHWULL� IRUPDOL� $�� úL� %�� VH� UH]HUY� PHPRULH� SH� VWLY���RELHFWHOH� ORFDOH� FRQVWUXFWRUXOXL�� $�� úL� %��� VXQW� LQL LDOL]DWH� SULQ� FRSLHUH� �OD� WUDQVPLWHUHD�SDUDPHWULORU� SULQ� YDORDUH�� VH� UHDOL]HD]� R� FRSLHUH� D� SDUDPHWULORU� HIHFWLYL� vQ� SDUDPHWULL� IRUPDOL��YH]L�FDSLWROXO����������/D�WHUPLQDUHD�H[HFX LHL�FRUSXOXL�IXQF LHL��SXQFWHOH�$��úL�%�� VXQW�GLVWUXVH��'H�DFHHD��PHVDMHOH�GLQ�DFHDVW� VLWXD LH��VXQW�

�&RQVWUXFWRU�FRSLHUH�SXQFW������SHQWUX�$���ORFDO�FRQVWUXFWRUXOXL��&RQVWUXFWRU�FRSLHUH�SXQFW������SHQWUX�%���ORFDO�FRQVWUXFWRUXOXL��&RQVWUXFWRU�SFW��LPSOLFLW�����SHQWUX�PHPEUXO�$�DO�VHJPHQWXOXL��&RQVWUXFWRU�SFW��LPSOLFLW�����SHQWUX�PHPEUXO�%�DO�VHJPHQWXOXL��&RQVWUXFWRU�VHJPHQW����SHQWUX�VHJPHQWXO�6��'HVWUXFWRU�SXQFW����SHQWUX�%���OD�LHúLUHD�GLQ�FRQVWUXFWRU��'HVWUXFWRU�SXQFW����SHQWUX�$���OD�LHúLUHD�GLQ�FRQVWUXFWRU�

([HUFL LX� 3HQWUX� WLSXULOH� SXQFW� úL� VHJPHQW� LPSOHPHQWDWH� DQWHULRU�� V� VH� VFULH� úL� V� VH� WHVWH]H�XUP�WRUXO� SURJUDP�� vQ� FDUH� RELHFWHOH�$�� %� �GH� WLS� SXQFW�� úL�$%� �GH� WLS� VHJPHQW�� VXQW� JOREDOH��GHFODUDWH� vQ� DIDUD� RULF�UHL� IXQF LL��� 6H� IRORVHVF�� GHDVHPHQHD�� YDULDELOH� ORFDOH� VWDWLFH�� 3HQWUX�

)LJXUD��������$SHOXO�FRQVWUXFWRULORU

Page 170: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

YDULDELOHOH� JOREDOH� �$��%��$%�� úL� FHOH� ORFDOH� GHFODUDWH� H[SOLFLW� VWDWLFH� �3� GLQ�WHVW���8 úL�9 GLQ�EORFXO� LQWHULRU� IXQF LHL� PDLQ��� VH� DORF� PHPRULH� VWDWLF��� 3HQWUX� YDULDELOHOH� ORFDOH� VH� DORF�PHPRULH� DXWRPDWLF�� SH� VWLY��� 6� VH� XUP�UHDVF� HYLGHQ LH]H� FUHDUHD� úL� GLVWUXJHUHD� RELHFWHORU�VWDWLFH�úL�DXWRPDWLFL��GRPHQLXO�GH�YL]LELOLWDWH�úL�WLPSXO�GH�YLD ���FODVV�SXQFW^������������`�FODVV�VHJPHQW^ �����������`���,PSOHPHQWDUHD�PHWRGHORU�FODVHL�SXQFW��,PSOHPHQWDUHD�PHWRGHORU�FODVHL�VHJPHQWSXQFW�WHVW���

^�FRXW���,QWUDUH�LQ�WHVW�?Q���VWDWLF�SXQFW�3���������3��GHSODVDUH�������FRXW���,HVLUH�GLQ�WHVW�?Q��UHWXUQ�3��`

SXQFW�WHVW���^�SXQFW�3�����������3��GHSODVDUH��������UHWXUQ�3���`

SXQFW�$�������%�VHJPHQW�$%�$��%���YRLG�PDLQ��^FRXW���6�D�LQWUDW�LQ PDLQ�?Q�� SXQFW�(��������)��*�) WHVW���� FRXW���) ���)�DILVDUH���JHWFK���* WHVW����FRXW���,QWUDUH�LQ�WHVW�?Q��FRXW���* ���*�DILVDUH���

^FRXW���,QWUDUH�LQ�EORFXO�LQWHULRU?Q��VWDWLF�SXQFW�8������SXQFW�&�������'����������VWDWLF�SXQFW�

9������JHWFK���) WHVW���� FRXW���,QWUDUH�LQ�WHVW�?Q��)�DILVDUH���* WHVW����FRXW���,QWUDUH�LQ�WHVW�?Q��*�DILVDUH���FRXW���,HVLUH�GLQ�EORFXO�LQWHULRU?Q��`

JHWFK���$�DILVDUH���)�DILVDUH���$%�DILVDUH���$%�WUDQVODWLH���������FRXW���6HJPHQW�WUDQVODWDW��� $%�DILVDUH���FRXW���6HJPHQWXO�$%�DUH�RULJLQHD��� �$%�RULJLQH����DILVDUH���FRXW���6HJPHQWXO�$%�DUH�YDUIXO��� �$%�YDUI����DILVDUH���FRXW���,HVLUH�GLQ�PDLQ��?Q��`

���������7$%/285,�'(�2%,(&7(2ELHFWHOH�GH�DFHODúL�WLS�SRW�IL�JUXSDWH�vQ�WDEORXUL��'DF� XQ�WDEORX�HVWH�GHFODUDW�I�U� D�IL�LQL LDOL]DW��SHQWUX�FRQVWUXLUHD�HOHPHQWHORU�VDOH�VH�DSHOD�FRQVWUXFWRUXO�LPSOLFLW��(OHPHQWHOH�XQXL�WDEORX�SRW�IL�LQL LDOL]DWH�úL�FX�DMXWRUXO�FRQVWUXFWRULORU�FX�SDUDPHWUL�([HPSOX� )LH�FODVHOH�SXQFW�úL�VHJPHQW�GLQ�H[HUFL LXO�DQWHULRU�FODVV�SXQFW^ ��«««`�FODVV�VHJPHQW^ ��«««`���LPSOHPHQWDUHD�PHWRGHORU�FODVHORU�SXQFW�VL�VHJPHQW

Page 171: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

YRLG�PDLQ��^SXQFW�3���������4���������SXQFW�3& 3��4& 4�SXQFW�9>�@� ��DSHOXO�FRQVWUXFWRUXOXL�LPSOLFLW�SHQWUX�ILHFDUH�GLQ�FHOH���HOHPHQWH�DOH�YHFWRUXOXL�9SXQFW�9�>�@ ^3��4`� ��DSHOXO�FRQVWUXFWRUXOXL�GH�FRSLHUH�SHQWUX�HOHPHQWHOH�9�>�@�VL�9�>�@SXQFW�9�>�@ ^SXQFW���������SXQFW���������`����DSHOXO�FRQVWUXFWRUXOXL�FX�SDUDPHWUL�SHQWUX�ILHFDUH�GLQ�FHOH���HOHPHQWH��9�>�@�VL�9�>�@VHJPHQW�69>�@���(52$5(��GHRDUHFH�H[LVWD�XQ�FRQVWUXFWRU�FX�SDUDPHWUL��QX�VH�JHQHUHD]D�DXWRPDW�FRQVWUXFWRUXO�LPSOLFLWVHJPHQW�69>�@ ^VHJPHQW�3&��3���VHJPHQW�4&��4�`�VHJPHQW�69>�@ ^VHJPHQW�SXQFW�������SXQFW����������VHJPHQW��SXQFW���������SXQFW����������`�`

������)81&�,,�35,(7(1()XQF LLOH� SULHWHQH� �IULHQG�� VXQW� IXQF LL� QH�PHPEUH� DOH� XQHL� FODVH�� FDUH� DX� DFFHV� OD� GDWHOH�PHPEUH� SULYDWH DOH� XQHL� FODVH�� )XQF LLOH� SULHWHQH� DOH� XQHL� FODVH� WUHEXLH� SUHFL]DWH� vQ� GHILQL LD�FODVHL��ÌQ�DFHVW�VHQV��SURWRWLSXULOH�XQRU�DVWIHO�GH�IXQF LL�VXQW�SUHFHGDWH�GH�FXYkQWXO�FKHLH�IULHQG��6SUH�GHRVHELUH�GH�IXQF LLOH�PHPEUH��IXQF LLOH�SULHWHQH�DOH�XQHL�FODVH�QX�SRVHG� SRLQWHUXO�LPSOLFLWWKLV��'H�DFHHD��GHRVHELUHD� HVHQ LDO� GRX� IXQF LL� FDUH� UHDOL]HD]� DFHOHDúL�SUHOXFU�UL�� R� IXQF LH�PHPEU� úL�R�IXQF LH�SULHWHQ���FRQVW� vQ�IDSWXO�F� IXQF LD�SULHWHQ� DUH�XQ�SDUDPHWUX�vQ�SOXV�ID ��GH�IXQF LD�PHPEUX�2�IXQF LH�SRDWH�IL�vQ�DFHODúL�WLPS�IXQF LH�PHPEU� D�XQHL�FODVH�úL�IXQF LH�SULHWHQ� D�DOWHL�FODVH��ÌQ�H[HPSOXO�XUP�WRU��I��HVWH�IXQF LH�PHPEU� D�FODVHL�FOV� úL�IXQF LH�SULHWHQ� D�FODVHL�FOV��([HPSOX�FODVV�FOV�^ ������ �

LQW�I��LQW��FKDU�� ���I��� PHWRG� D�FODVHL�FOV������� �

`�FODVV�FOV�^ �������

IULHQG�LQW�FOV���I��LQW��FKDU�� ���I��� SULHWHQ� D�FODVHL�FOV��������

`�ÌQ� FD]XO� vQ� FDUH� VH� GRUHúWH� FD� WRDWH� IXQF LLOH� PHPEUH� DOH� XQHL� FODVH� V� DLE� DFFHV� OD�PHPEULL�SULYD L�DL�DOWHL�FODVH��V� ILH�IXQF LL�SULHWHQH���SULPD�FODV� SRDWH�IL�GHFODUDW� FODVD�SULHWHQ� SHQWUX�FHD�GH�D�GRXD�FODV���ÌQ�H[HPSOXO�XUP�WRU��FODVD�FOV��HVWH�FODVD�SULHWHQ� D�FODVHL�FOV���([HPSOX�FODVV�FOV��FODVV FOV�^ �������

IULHQG�FOV�� ��� FODVD� FOV�� HVWH� FODV� SULHWHQ� D� FODVHL�FOV�

�������`�

Page 172: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

5HOD LD�GH� FODVD�SULHWHQ� QX�HVWH� WUDQ]LWLY���$VWIHO�� GDF� FODVD�FOV� HVWH� FODVD�SULHWHQ� D� FODVHL�FOV��� LDU�FODVD�FOV� HVWH�FODV� SULHWHQ� D� FODVHL�FOV��� DFHDVWD QX LPSOLF� IDSWXO� F� FOV� HVWH�FODV��SULHWHQ� SHQWUX�FOV����

Ì175(%�5,�ù,�(;(5&,�,,&KHVWLXQL�WHRUHWLFH�� &kQG�DF LRQHD]� FRQVWUXFWRUXO�XQHL�FODVH"�� &kQG�DF LRQHD]� GHVWUXFWRUXO�XQHL�FODVH"�� &kQG�HVWH�DEVROXW�QHFHVDU� GHILQLUHD�XQXL�FRQVWUXFWRU�GH�FRSLHUH"�� &kQG�VH�MXVWLILF� XWLOL]DUHD�IXQF LLORU�LQOLQH"�� &DUDFWHULVWLFLOH�GHVWUXFWRUXOXL�XQHL�FODVH��� &DUH�HVWH�XWLOLWDWHD�PRúWHQLULL"�� &DUH�VXQW�GHRVHELULOH�vQWUH�R�IXQF LH�PHPEU� D�XQHL�FODVH�úL�R�IXQFWLH�SULHWHQ� D�XQHL�FODVH"�� &H�IHO�GH�PHWRGH�SRW�DF LRQD�DVXSUD�GDWHORU�PHPEUH�VWDWLFH�DOH�XQHL�FODVH"�� &H�IXQF LL�DX�DFFHV�OD�PHPEULL�SULYD L�DL�XQHL�FODVH"��� &H�REVHUYD LH�DYH L�vQ�OHJ�WXU� FX�PHWRGHOH�GHILQLWH�vQ�LQWHULRUXO�FODVHL�úL�IXQF LLOH�LQOLQH"��� &H�RSHUDWRU�SHUPLWH�UHIHULUHD�XQXL�PHPEUX�DO�VWUXFWXULL "��� &H�VXQW�FODVHOH"��� &H�VXQW�FRQVWUXFWRULL�LPSOLFL L"��� &H�VXQW�GHVWUXFWRULL "��� &H�VXQW�IXQF LLOH�LQOLQH"���� &H�HVWH�R�PHWRG�"��� &RQVWUXFWRULL�XQHL�FODVH�SRW�SULPL�FD�SDUDPHWUL�LQVWDQ H�DOH�FODVHL�UHVSHFWLYH"�'DF� GD��vQ�FH�

FRQGL LL"��� &H�VXQW�IXQF LLOH�SULHWHQH"��� &LQH�LPSXQH�FRPSRUWDPHQWXO�XQXL�RELHFW"��� &XP�VH�DORF� PHPRULD�SHQWUX�GDWHOH�PHPEUH�QHVWDWLFH�vQ�PRPHQWXO�GHFODU�ULL�PDL�PXOWRU�

RELHFWH�GLQ�DFHHDVL�FODV�"��� &XP�VH�GHFODU� IXQF LLOH�SULHWHQH"��� 'HRVHELUL�vQWUH�VWXFWXUL�úL�FODVH���� (QXPHUDWL�IDFLOLWDWLOH�RIHULWH�GH�SURJUDPDUHD�RU LHQWDWD�RELHFW���� ([SOLFD L�FRQFHSWXO�GH�vQFDSVXODUH�D�GDWHORU���� ([SOLFD L�vQ�FkWHYD�FXYLQWH�FH�HVWH�PRVWHQLUHD�PXOWLSO����� ([SOLFD L�vQ�FkWHYD�FXYLQWH�FH�HVWH�PRúWHQLUHD���� 1LYHOXUL�GH�DFFHV�OD�PHPEULL�úL�PHWRGHOH�XQHL�FODVH���� 2�FODV� SRDWH�DYHD�PDL�PXO L�GHVFWUXFWRUL"�'DF� GD��vQ�FH�FRQGL LL"��� 2�FODV� SRDWH�IL�SULHWHQ� D�DOWHL�FODVH "�'DF� GD��FH�vQVHDPQ� DFHVW�OXFUX"��� 2SHUDWRUXO ���úL�UROXO�V�X���� 3ULQ�FH�VH�FDUDFWHUL]HD]� GDWHOH�PHPEUH�VWDWLFH"��� 3ULQ�FH�VH�UHDOL]HD]� FRPXQLFDUHD�vQWUH�RELHFWHOH�XQHL�FODVH"��� 3URWRWLSXO�FRQVWUXFWRUXOXL�GH�FRSLHUH�1LFL�IXQF LLOH�SULHWHQH��QLFL�PHWRGHOH�VWDWLFH�DOH�XQHL�FODVH�QX�SULPHVF�FD�DUJXPHQW�LPSOLFLW�SRLQWHUXO�WKLV��([SOLFD L�FDUH�VXQW��WRWXúL��GLIHUHQ HOH�GLQWUH�HOH�

Page 173: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

&KHVWLXQL�SUDFWLFH�� &RPSOHWD L�WLSXO�GH�GDWH�FRPSOH[��FX�IXQF LLOH��PHPEUH�VDX�SULHWHQH��FDUH�YRU�UHDOL]D�XUP�WRDUHOH�RSHUD LL��

$GXQDUHD�XQHL�GDWH�GH�WLS�FRPSOH[�FX�R�GDW� GH�WLS�UHDO��VF�GHUHD�D�GRX� GDWH�GH�WLS�FRPSOH[��VF�GHUHD�XQXL�UHDO�GLQWU�XQ�FRPSOH[��vPS�U LUHD�D�GRX� GDWH�GH�WLS�FRPSOH[��vQPXO LUHD�XQXL�UHDO�FX�XQ�FRPSOH[��ULGLFDUHD�OD�R�SXWHUH�vQWUHDJ� D�XQHL�GDWH�GH�WLS�FRPSOH[��FRPSDUDUHD�D�GRX� GDWH�GH�WLS�FRPSOH[�

�� 6� VH� VFULH� XQ� SURJUDP� FDUH� FLWHúWH� FkWH� GRX� GDWH� GH� WLS� FRPSOH[�� SkQ� OD� vQWkOQLUHD� SHUHFKLL� GH� GDWH��]� ��L ����]� ��L ����3HQWUX�ILHFDUH�SHUHFKH�GH�GDWH��V� VH�DILúH]H�VXPD��GLIHUHQ D��SURGXVXO�úL�FkWXO�

�� 6� VH�VFULH�XQ�SURJUDP�FDUH�FLWHúWH�GDWHOH�D��E��F�GH�WLS�FRPSOH[��UH]ROY� úL�DILúHD]� U�G�FLQLOH�HFXD LHL�GH�JUDGXO�GRL��D[ � �E[�F ��

�� &DUH�VXQW�JUHúHOLOH�GLQ�XUP�WRDUHOH�VHFYHQ H"D� FODVV�H[�^

FKDU� QXPH���LQW�OXQJLPH���YRLG�LQLW��FKDU� V��LQW�O�

^VWUFS\�QXPH��V���OXQJLPH O�``�H[��$��$�LQLW��WHDYD�������

E� XQLRQ�QXPDU^SULYDWH�

FKDU�H[SRQHQW��PDQWLVD>�@�SXEOLF�

FKDU�H[S���`�

F� FODVV�FRPSOH[^LQW�UHDO��LPDJ�FRPSOH[ �LQW�[��LQW�\�

^UHDO [��LPDJ \�``�YRLG�PDLQ��^ FRPSOH[�=��������� `

6835$Ì1&�5&$5($�23(5$725,/25�������0RGXUL�GH�VXSUDvQF�UFDUH�D�RSHUDWRULORU �������6XSUDvQF�UFDUHD��RSHUDWRUXOXL�

��������6XSUDvQF�UFDUHD�SULQ�IXQF LL�PHPEUH DWULEXLUH� ��������6XSUDvQF�UFDUHD�SULQ�IXQF LL�SULHWHQH �������6XSUDvQF�UFDUHD�RSHUDWRUXOXL�G�������5HVWULF LL�OD�VXSUDvQF�UFDUHD�RSHUDWRULORU LQGH[DUH�>�@

�������6XSUDvQF�UFDUHD�RSHUDWRULORU�XQDUL �������6XSUDvQF�UFDUHD�RSHUDWRULORU�Q�������0HPEULL�FRQVWDQ L�DL�XQHL�FODVH GHOHWH�������6XSUDvQF�UFDUHD�RSHUDWRULORU� �������6XSUDvQF�UFDUHD�RSHUDWRUXOXL��LQVHUWRU�úL�H[WUDFWRU �������6XSUDvQF�UFDUHD�RSHUDWRUXOXL��������&RQYHUVLL

��

GH�H�HZ úL����!
Page 174: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

�������02'85,�'(�6835$Ì1&�5&$5(�$�23(5$725,/256XSUDvQF�UFDUHD� �VXSUDGHILQLUHD�� WHUPHQXO� RYHUORDGLQJ�� RSHUDWRULORU� SHUPLWH� DWULEXLUHD� GH� QRL� VHPQLILFD LL�RSHUDWRULORU�X]XDOL��RSHUDWRULORU�LQWkOQL L�SHQWUX�WLSXULOH�GH�GDWH�SUHGHILQLWH���$úD�FXP�DP�VXEOLQLDW�vQ�QXPHURDVH�UkQGXUL�� FODVD� UHSUH]LQW� XQ� WLS� GH� GDWH� �R� PXO LPH� GH� YDORUL� SHQWUX� FDUH� V�D� DGRSWDW� XQ� DQXPLW� PRG� GH�UHSUH]HQWDUH�úL�R�PXO LPH�GH�RSHUD LL�FDUH�SRW�IL�DSOLFDWH�DFHVWRUD���$VWIHO��RSHUDWRUXO� � IRORVHúWH�OD�DGXQDUHD�D�GRX� GDWH�GH�WLS�LQW��IORDW�VDX�GRXEOH��vQV� DFHOXLDúL�RSHUDWRU�L�VH�SRDWH�DWULEXL VHPQLILFD LD�GH��DOLSLUH��D�GRX�RELHFWH�GH�WLSXO�úLU��VDX�GH�DGXQDUH�D�GRX� RELHFWH�GH�WLSXO�FRPSOH[���YHFWRU VDX�PDWULFH��2EVHUYD LH� 2SHUDWRULL� VXQW� GHMD� VXSUDGHILQL L� SHQWUX� D� SXWHD� RSHUD� DVXSUD� PDL� PXOWRU� WLSXUL� GH� ED]� �GH�H[HPSOX��RSHUDWRUXO�� DGPLWH�RSHUDQ]L�GH�WLS�LQW��GDU�úL�IORDW�VDX�GRXEOH���VDX�SRW�DYHD�VHPLQLILFD LL�GLIHULWH��GH�H[HPSOX��RSHUDWRUXO� SRDWH�IL�IRORVLW�SHQWUX�vQPXO LUHD�D�GRL�RSHUDQ]L�QXPHULFL�VDX�FD�RSHUDWRU�GH�GHIHUHQ LHUH��RSHUDWRUXO�!! SRDWH�DYHD�VHPQLILFD LD�GH�RSHUDWRU�H[WUDFWRU�VDX�RSHUDWRU�GH�GHSODVDUH�SH�ELW��3ULQ�VXSUDvQF�UFDUHD�RSHUDWRULORU��RSHUD LLOH�FDUH�SRW�IL�H[HFXWDWH�DVXSUD�LQVWDQ HORU��RELHFWHORU��XQHL�FODVH�SRW�IL�IRORVLWH�FD�úL�vQ�FD]XO�WLSXULORU�GH�GDWH�SUHGHILQLWH�([HPSOX� 3HQWUX�FODVD�SXQFW��YH]L�FDSLWROXO������SXWHP�DWULEXL�RSHUDWRUXOXL�� VHPQLILFD LD��H[SUHVLD�D�E �D��E�VXQW�RELHFWH�GLQ�FODVD�SXQFW��UHSUH]LQW� �VXPD��D�GRX� SXQFWH�úL�HVWH�XQ�SXQFW�DOH�F�UXL�FRRUGRQDWH�VXQW�GDWH�GH�VXPD� FRRUGRQDWHORU� SXQFWHORU� D� úL� E��$VWIHO�� VXSUDGHILQLUHD� RSHUDWRU XOXL� �� FRQVW� vQ� GHILQUHD� XQHL� IXQF LL FX�QXPHOH��RSHUDWRU��

WLSBYDOBvQWRDUV� RSHUDWRU RS��OLVWDBGHFODUBSDUDPHWUL�^

������ ��� FRUSXO�IXQF LHL`

'HFL��OLPEDMXO�&���SHUPLWH�VXSUDGHILQLUHD�RSHUDWRUXOXL�RS SULQ�GHILQLUHD�XQHL�IXQF LL�QXPLWH�RSHUDWRU�RS

)XQF LD� WUHEXLH� V� SRDW� DFFHVD� GDWHOH�PHPEUH� SULYDWH� DOH� FODVHL�� GHFL� VXSUDGHILQLUHD� RSHUDWRULORU VH� SRDWH�UHDOL]D�vQ�GRX� PRGXUL�� SULQWU�R�IXQF LH�PHPEU� D�FODVHL�� SULQWU�R�IXQF LH�SULHWHQ� D�FODVHL�

���������6835$Ì1&�5&$5($�23(5$725,/25�35,1�)81&�,,�0(0%5(ÌQ� VLWXD LD� vQ� FDUH� VXSUDvQF�UFDUHD� RSHUDWRUXOXL� �� VH� UHDOL]HD]� SULQWU�R� IXQF LH�PHPEU��� DFHDVWD� SULPHúWH� FD�SDUDPHWUX�LPSOLFLW�DGUHVD�RELHFWXOXL�FXUHQW��SHQWUX�FDUH�HVWH�DSHODW����'HFL�SULPXO�RSHUDQG�DO�RSHUDWRUXOXL�HVWH�WUDQVPLV�LPSOLFLW��([HPSOX�

FODVV�SXQFW^GRXEOH�[��\�

SXEOLF���������������SXQFW�RSHUDWRU����SXQFW��

`���0HWRGHOH�FODVHL�SXQFW««««««««SXQFW�SXQFW��RSHUDWRU����SXQFW�D�^ SXQFW�S�

S�[ [���D�[� ��HFKLYDOHQW�FX S�[ WKLV�![�D�[�

Page 175: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

S�\ \���D�\� ��HFKLYDOHQW�FX S�\ WKLV�!\�D�\�UHWXUQ�S�

`YRLG�PDLQ��^� SXQFW�$������������$�DILúDUH���

SXQFW�%��������������%�DILúDUH���SXQFW�&�& $�%� &�DILúDUH���& $�%�&� &�DILúDUH���

`([SUHVLD�& $�% HVWH�LQWHUSUHWDW� FD� &� �$�RSHUDWRU����%��([SUHVLD�& $�%�& SRDWH�IL�LQWHUSUHWDW���vQ�IXQF LH GH�FRPSLODWRU��DVWIHO�8QHOH�FRPSLODWRDUH�FUHD]� XQ RELHFW�WHPSRUDU�7�� 7� �$�RSHUDWRU����%�

&� �7�RSHUDWRU����&�$OWH�FRPSLODWRDUH�LQWHUSUHWHD]� H[SUHVLD�FD��& �$�RSHUDWRU����%���RSHUDWRU����& ��

���������6835$Ì1&�5&$5($�23(5$725,/25�35,1�)81&�,,�35,(7(1()LH� FODVD� SXQFW� GHILQLW� DQWHULRU�� 5HDPLQWLQG� IDSWXO� F� IXQF LLOH� SULHWHQH� DX� DFFHV� OD�PHPEULL� SULYD L� DL� XQHL�FODVH��vQV� QX SULPHVF�FD�DUJXPHQW�LPSOLFLW�SRLQWHUXO�F�WUH�RELHFWXO�FXUHQW��WKLV���V� VXSUDvQF�UF�P�RSHUDWRUXO���SULQWU�R�IXQF LH�SULHWHQ� D�FODVHL�SXQFW�

FODVV�SXQFW^GRXEOH�[��\�

SXEOLF���������������IULHQG�SXQFW�RSHUDWRU����SXQFW��SXQFW��

`���0HWRGHOH�FODVHL�SXQFW««««««««��SXQFW�RSHUDWRU����SXQFW�D��SXQFW�E�^ SXQFW�S�

S�[ D�[���E�[���S�\ D�\���E�\�UHWXUQ�S�

`YRLG�PDLQ��^ SXQFW�$������������$�DILúDUH���

SXQFW�%��������������%�DILúDUH���SXQFW�&�& $�%� &�DILúDUH���& $�%�&� &�DILúDUH���

`([SUHVLD�& $�% HVWH�LQWHUSUHWDW� GH�FRPSLODWRU�FD�& RSHUDWRU����$��%���([SUHVLD�& $�%�& HVWH� HYDOXDW� LLQkQGX�VH� FRQW� GH� UHJXOLOH� GH� SULRULWDWH� úL� GH� DVRFLDWLYLWDWH� D� RSHUDWRUXOXL���$�%��& ��FHHD�FH�FRQGXFH�OD�XQ�DSHO�GH�IRUPD��RSHUDWRU����RSHUDWRU����$��%���&� �2EVHUYD LH� ÌQ� H[HPSOXO� DQWHULRU�� WUDQVPLWHUHD� SDUDPHWULORU� F�WUH� IXQF LD� SULHWHQ� GH� VXSUDvQF�UFDUH� D�RSHUDWRUXOXL���VH�UHDOL]HD]� SULQ�YDORDUH��3DUDPHWULL�SRW�IL�WUDQVPLúL�úL�SULQ� UHIHULQ ��� SHQWUX�D� HYLWD��FUHDUHD���vQ� PRPHQWXO� DSHOXOXL� IXQF LHL�� XQRU� FRSLL� ORFDOH� DOH� SDUDPHWULORU� HIHFWLYL� vQ� FHL� IRUPDOL�� /D� WUDQVPLWHUHD�SDUDPHWULORU�SULQ�UHIHULQ ���IXQF LD�RSHUDWRU�� DUH SURWRWLSXO�

SXQFW�RSHUDWRU����SXQFW���SXQFW���3HQWUX�D�SURWHMD�DUJXPHQWHOH�WUDQVPLVH�SULQ�UHIHULQ ��OD�HYHQWXDOHOH�PRGLILF�UL��VH�SRDWH�IRORVL�PRGLILFDWRUXO�GH�DFFHV�FRQVW� SXQFW�RSHUDWRU����FRQVW�SXQFW���FRQVW�SXQFW���

Page 176: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

�������5(675,&�,,�/$�6835$Ì1&�5&$5($�23(5$725,/256XSUDvQF�UFDUHD� RSHUDWRULORU� VH� SRDWH� UHDOL]D�� GHFL�� SULQ� IXQF LL� PHPEUH� VDX� IXQF LL� SULHWHQH�� 'DF�VXSUDvQF�UF�P� DFHODúL� RSHUDWRU� SULQWU�R� PHWRG� úL� SULQWU�R� IXQF LH� SULHWHQ��� IXQF LD� SULHWHQ� YD� DYHD��vQWRWGHDXQD�� XQ� SDUDPHWUX� vQ� SOXV� ID �� GH�PHWRG� �GHRDUHFH� IXQF LHL� SULHWHQH� QX� L� VH� WUDQVPLWH� FD� SDUDPHWUX�LPSOLFLW�SRLQWHUXO�WKLV��7RWXúL��VXSUDvQF�UFDUHD�RSHUDWRULORU�HVWH�VXSXV� XUP�WRDUHORU�UHVWULF LL�� 6H�SRW�VXSUDvQF�UFD�GRDU�RSHUDWRULL�H[LVWHQ L��QX�VH�SRW�FUHD�QRL�RSHUDWRUL�� 1X� VH� SRDWH� PRGLILFD� DULWDWHD� �QXP�UXO� GH� RSHUDQ]L�� RSHUDWRULORU� OLPEDMXOXL� �RSHUDWRULL� XQDUL� QX� SRW� IL�

VXSUDLQF�UFD L�FD�RSHUDWRUL�ELQDUL��úL�LQYHUV��� 1X�VH�SRDWH�PRGLILFD�SUHFHGHQ D�úL�DVRFLDWLYLWDWHD�RSHUDWRULORU�� 'HúL� RSHUDWRULL� VXSUDvQF�UFD L� S�VWUHD]� DULWDWHD� úL� SUHFHGHQ D� RSHUDWRULORU�SUHGHILQL L�� HL�QX PRúWHQHVF� úL�

FRPXWDWLYLWDWHD DFHVWRUD�� 1X�SRW�IL�VXSUDvQF�UFD L�RSHUDWRULL���� ��" úL���2EVHUYD LL�� ÌQ�WDEHOXO�������FDSLWROXO����VXQW�SUH]HQWD L�RSHUDWRULL�H[LVWHQ L��SUHFHGHQ D�úL�DVRFLDWLYLWDWHD�DFHVWRUD�� 'DF� RSHUDWRUXO� QX�HVWH�VXSUDvQF�UFDW��HO�DUH�R�VHPQLILFD LH�LPSOLFLW��� 2SHUDWRULL���QHZ�GHOHWH >�@ �! úL�FDVW LPSXQ�UHVWULF LL�VXSOLPHQWDUH�FDUH�YRU�IL�GLVFXWDWH�XOWHULRU��� )XQF LD�RSHUDWRU�WUHEXLH�V� DLE� FHO�SX LQ�XQ�DUJXPHQW��LPSOLFLW�VDX�H[SOLFLW��GH�WLSXO�FODVHL�SHQWUX�FDUH�V�D�

VXSUDvQF�UFDW�RSHUDWRUXO��$VWIHO�9 /D� VXSUDvQF�UFDUHD� XQXL� RSHUDWRU� XQDU� SULQWU�R� IXQF LH�PHPEU� D� FODVHL�� DFHDVWD� DUH� XQ�DUJXPHQW�

LPSOLFLW�GH� WLSXO�FODVHL��RELHFWXO�FDUH� vO�DSHOHD]���úL�QLFL�XQ�DUJXPHQW�H[SOLFLW��/D�VXSUDvQF�UFDUHD�RSHUDWRUXOXL�XQDU�SULQWU�R�IXQF LH�SULHWHQ���DFHDVWD�DUH�XQ�DUJXPHQW�H[SOLFLW�GH�WLSXO�FODVHL�

9 /D�VXSUDvQF�UFDUHD�XQXL�RSHUDWRU�ELQDU�SULQWU�R� IXQF LH�PHPEU� D�FODVHL��DFHDVWD�DUH�XQ�DUJXPHQW�LPSOLFLW� GH� WLSXO� FODVHL� �RELHFWXO� FDUH� vO� DSHOHD]��� úL� XQ� DUJXPHQW� H[SOLFLW�� /D� VXSUDvQF�UFDUHD�RSHUDWRUXOXL�ELQDU�SULQWU�R�IXQF LH�SULHWHQ���DFHDVWD�DUH�GRX� DUJXPHQWH�H[SOLFLWH�GH�WLSXO�FODVHL�

� 6H� SRDWH� DWULEXL� XQXL� RSHUDWRU� RULFH� VHPQLILFD LH�� vQV� HVWH� GH� GRULW� FD� QRXD� VHPQLILFD LH� V� ILH� FkW�PDL�DSURSLDW� GH� VHPQLILFD LD� QDWXUDO��� 'H� H[HPSOX�� SHQWUX� DGXQDUHD� D� GRX� RELHFWH� VH� SRDWH� VXSUDvQF�UFD�RSHUDWRUXO� ���GDU�HVWH�PDL�QDWXUDO� IRORVLUHD�RSHUDWRUXOXL���FX�VHPQLILFD LD�GH�DGXQDUH�

� ÌQ�FD]XO�VXSUDGHILQLULL�RSHUDWRULORU��QX�VH�SRDWH�FRQWD SH�FRPXWDWLYLWDWHD�DFHVWRUD��'H�H[HPSOX��GDF� VH�VXSUDvQFDUF� RSHUDWRUXO���SHQWUX�FODVD�FRPSOH[�SULQWU�R�IXQF LH�SULHWHQ� D�FODVHL�FRPSOH[� FRPSOH[�RSHUDWRU����FRPSOH[��GRXEOH�2SHUDWRUXO� SRDWH� IL� IRORVLW� vQ� H[SUHVLL� FXP�DU� IL�� D����� �D� HVWH�RELHFW� DO� FODVHL� FRPSOH[��� GDU� QX� vQ�H[SUHVLL�FD��������D�

� 'DF� XQ�RSHUDWRU�WUHEXLH�V� SULPHDVF� FD�SULP�SDUDPHWUX�XQ�WLS�SUHGHILQLW��DFHVWD�QX�SRDWH�IL�VXSUDGHILQLW�SULQWU�R�IXQF LH�PHPEU���

� 2SHUDWRULL�FDUH�SUH]LQW� úL�DOWH�SDUWLFXODULW� L��YRU�IL�WUDWD L�VHSDUDW��YH]L������������������������������� ÌQ�SULQFLSLX��PHWRGHOH�FDUH�VXSUDvQFDUF� XQ�RSHUDWRU�QX�VXQW�VWDWLFH��([FHS LD�R�FRQVWLWXLH�RSHUDWRULL�QHZ úL�

GHOHWH �YH]L��������� 'LIHUHQ D� vQWUH� IRUPD�SUHIL[DW� úL� SRVWIL[DW��� OD� VXSUDvQF�UFDUHD� RSHUDWRULORU� SUHGHILQL L� ��� úL� ���� VH� SRDWH�

IDFH� GRDU� GH� DQXPLWH� FRPSLODWRDUH� �GH� H[HPSOX�� FRPSLODWRUXO� GH� %RUODQG&�� YHUVLXQH!����� VH� SRDWH� IDFH�GLIHUHQ D��

�������6835$Ì1&�5&$5($�23(5$725,/25�81$5,

Page 177: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

2SHUDWRULL� XQDUL� SRW� IL� VXSUDGHILQL L� SULQWU�R� IXQF LH�PHPEU� QHVWDWLF� �I�U� SDUDPHWUL� H[SOLFL L�� VDX� SULQWU�R�IXQF LH�SULHWHQ� FX�XQ�SDUDPHWUX�H[SOLFLW�GH�WLSXO�FODV���&D� H[HPSOX�� V� VXSUDvQFDUF�P�RSHUDWRUXO� XQDU� �� SHQWUX� FODVD� SXQFW�� SHQWUX� D� SXWHD� IL� IRORVLW� DWkW� vQ� IRUP�SUHIL[DW��� FkW� úL� SRVWIL[DW� �GRDU� SHQWUX� FRPSLODWRDUHOH� FDUH� SHUPLW� DFHVW� OXFUX����� 9RP� IRORVL� FODVD� SXQFW�LPSOHPHQWDW� DQWHULRU��FX�PRGLILFDUHD�FD�GDWHOH�PHPEUH�VXQW�GH�WLSXO�LQW�

FODVV�SXQFW^LQW�[��\�

SXEOLF����������SXQFW��RSHUDWRU�����LQW��� ��IRUPD�SRVWIL[DW�SXQFW��SXQFW��RSHUDWRU����� ��IRUPD�SUHIL[DW�

`�SXQFW�SXQFW��RSHUDWRU�����LQW�^SXQFW�S WKLV�[����\���UHWXUQ�S�`SXQFW���SXQFW��RSHUDWRU����^[���\�����UHWXUQ� WKLV�`YRLG�PDLQ��^�SXQFW�$����������SXQFW�& $���$�DILúDUH�����&�DILúDUH����SXQFW�& ��$�$�DILúDUH�����&�DILúDUH����`

�������0(0%5,,�&2167$1�,�$,�81(,�&/$6($úD�FXP�V�D�VXEOLQLDW�vQ�FDSLWROXO�����R�FODV� SRDWH�DYHD�PHPEULL�VWDWLFL��GDWH�PHPEUX�VWDWLFH �ILJXUHD]� vQWU�XQ�VLQJXU� H[HPSODU� SHQWUX� WRDWH� � LQVWDQ HOH� FODVHL�� VDX� PHWRGH� VWDWLFH �QX� OL� VH� WUDQVPLWH� SRLQWHUXO� WKLV� úL� SRW�PRGLILFD� GRDU� GDWH� PHPEUX� VWDWLFH��� 'HDVHPHQHD�� R� FODV� SRDWH� DYHD� PHWRGH� FRQVWDQWH� 2� PHWRG� HVWH�GHFODUDW� FRQVWDQW� SULQ�XWLOL]DUHD�PRGLILFDWRUXOXL�FRQVW vQ�DQWHWXO�HL��YH]L�H[HPSOXO�GH�OD�SDJLQD�������GXS�OLVWD�SDUDPHWULORU�IRUPDOL��0HWRGHOH�FRQVWDQWH�QX�PRGLILF� RELHFWXO�SHQWUX�FDUH�VXQW�DSHODWH��&D�RULF�URU�YDULDELOH�GH�WLS�SUHGHILQLW��úL�RELHFWHORU GH�WLS�GHILQLW�GH�XWLOL]DWRU�OL�VH�SRDWH�DSOLFD�PRGLILFDWRUXO�FRQVW�� 3HQWUX� XQ� RELHFW� FRQVWDQW HVWH� SHUPLV� GRDU� DSHOXO� PHWRGHORU� FRQVWDQWH�� D� FRQVWUXFWR ULORU� úL� D�GHVWUXFWRULORU�

�������6835$Ì1&�5&$5($�23(5$725,/25�,16(5725�ù,�(;75$&7252SHUDWRUXO��� VH�QXPHúWH�RSHUDWRU�LQVHUWRU��GHRDUHFH�LQVHUHD]� GDWH�vQ�VWUHDP�XO��IOX[XO��GH�LHúLUH� 2SHUDWRUXO�!! VH�QXPHúWH�RSHUDWRU�H[WUDFWRU��GHRDUHFH�H[WUDJH�GDWH�GLQ�VWUHDP�XO��IOX[XO��GH�LQWUDUH��ÌQ�H[HPSOXO�XUP�WRU��DFHúWL�RSHUDWRUL�VXQW�VXSUDvQF�UFD L�SHQWUX�FODVD�FRPSOH[��DVWIHO�vQFkW�V� SRDW� IL�IRORVL L�FD�SHQWUX�RELHFWHOH�GH�WLS�SUHGHILQLW�([HPSOX�

FRPSOH[�]���]��FLQ!!]�!!]�� ��H[WUDJH�YDORULOH�OXL�]��úL ]�FRXW���]� ���]���?Q�� ��LQVHUHD]� úLU�FRQVWDQW��DSRL�YDORDUHD�OXL�]��FRXW���]� ���]���?Q�� ��LQVHUHD]� úLU�FRQVWDQW��DSRL�YDORDUHD�OXL�]�

'HRDUHFH� vQWRWGHDXQD� RSHUDQGXO� VWkQJ� HVWH� GH� WLS� LVWUHDP �FLQ� HVWH� RELHFW� SUHGHILQLW�� GH� WLS� LVWUHDP�� VDX�RVWUHDP��FRXW�HVWH�RELHFW�SUHGHILQLW��GH�WLS�RVWUHDP��� úL�QX�GH�WLSXO�LQWURGXV�SULQ�FODV���RSHUDWRULL����úL�!!�SRW�IL�VXSUDvQF�UFD L�QXPDL SULQ�IXQF LL�SULHWHQH��3URWRWLSXULOH�RSHUDWRULORU�VXQW�

Page 178: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

IULHQG�RVWUHDP�RSHUDWRU�����RVWUHDP��FRQVW�FRPSOH[�� ��RSHUDWRU�DILúDUH�FRPSOH[IULHQG�LVWUHDP��RSHUDWRU�!!��LVWUHDP��FRPSOH[�� ��RSHUDWRU�FLWLUH�FRPSOH[

'HILQL LLOH�IXQF LLORU�RSHUDWRU�RVWUHDP�RSHUDWRU���RVWUHDP�HFUDQ��FRQVW�FRPSOH[�]�

^HFUDQ�������]�UH�LI��]�LP! ������HFUDQ����HFUDQ��]�LP��� L����UHWXUQ HFUDQ�`

LVWUHDP�RSHUDWRU!!�LVWUHDP�WDVWDWXUD��FRPSOH[�]�^WDVWDWXUD!!]�UH!!]�LP�UHWXUQ�WDVWDWXUD�`

3URWRWLSXULOH�IXQF LLORU�RSHUDWRU����úL�!!�SHQWUX�XQ�WLS�DEVWUDFW�WLS��VXQW�IULHQG�RVWUHDP�RSHUDWRU���RVWUHDP��FRQVW�WLS��IULHQG�LVWUHDP�RSHUDWRU�!!��LVWUHDP��WLS��

�������6835$Ì1&�5&$5($��23(5$7258/8,�'(�$75,%8,5(� ÌQ�FD]XO�vQ�FDUH�RSHUDWRUXO�GH�DWULEXLUH�QX�HVWH�VXSUDvQF�UFDW�H[SOLFLW��FRPSLODWRUXO�JHQHUHD]� XQXO�LPSOLFLW��FD�vQ�H[HPSOXO�FODVHL�SXQFW�VDX�VHJPHQW��� ÌQ�DEVHQ D�XQHL�VXSUDvQF�UF�UL�H[SOLFLWH��RSHUDWRUXO�FRSLH�YDORULOH�GDWHORU�PHPEUH�DOH�RSHUDQGXOXL�GUHSW�vQ�GDWHOH�PHPEUH�DOH�RSHUDQGXOXL�VWkQJ��([HPSOX�

SXQFW�D��������E�E D� � RSHUDWRU� DWULEXLUH� LPSOLFLW�� ]RQD� GH�PHPRULH� RFXSDW� GH� D� VH� FRSLH�� ELW� FX� ELW�� vQ� ]RQD� GH�PHPRULH�RFXSDW� GH�E��E�[ D�[ VL�E�\ D�\ �

2SHUDWRUXO� GH� DWULEXLUH� LPSOLFLW� HVWH� QHVDWLVI�F�WRU� vQ� VLWXD LLOH� vQ� FDUH� RELHFWHOH� FODVHL� DX� FD� GDWH� PHPEUH�SRLQWHUL��VDX�vQ�VLWXD LLOH�vQ�FDUH�PHPRULD�HVWH�DORFDW� vQ�PRG�GLQDPLF��2�VXSUDvQF�UFDUH�H[SOLFLW� D�RSHUDWRUXOXL�SHQWUX�FODVD�FRPSOH[��DPELL�RSHUDQ L�GH�WLS�FRPSOH[��SRDWH�IL�I�FXW�ILH�SULQ�PHWRG���ILH�SULQ�IXQF LH�SULHWHQ��

FODVV�FRPSOH[^� GRXEOH�UH�LP�SXEOLF�

FRPSOH[�RSHUDWRU� ��FRPSOH[���`�FRPSOH[�FRPSOH[��RSHUDWRU� ��FRPSOH[�]�

^�UH ]�UH��LP ]�LP��UHWXUQ WKLV���WKLV�HVWH�SRLQWHU�F�WUH�RELHFWXO�FXUHQW��D�vQ�PDLQ`

YRLG�PDLQ��^FRPSOH[�D��E�D� �E�����D�RSHUDWRU �E�����ILJXUD�������`

'HRDUHFH� IXQF LD�RSHUDWRU UHWXUQHD]� YDORDUH�GH� WLS� FRPSOH[�� VH� FRQVWUXLHúWH�XQ�RELHFW� WHPSRUDU� WHPS�� D�F�UXL�YDORDUH�VH DWULEXLH�OXL�D�2�DOW� PRGDOLWDWH��PDL�HILFLHQW���GH�D� VXSUDvQF�UFD�RSHUDWRUXO�GH�DWULEXLUH�SULQ�PHWRG� D�FODVHL�FRPSOH[��HVWH�DFHHD� SULQ� FDUH� IXQF LD� SULPHúWH� FD� SDUDPHWUX� UHIHULQ �� F�WUH� RSHUDQGXO� GUHSW� �VH� OXFUHD]��� DVWIHO�� FKLDU� FX�RELHFWXO� E�� GHRDUHFH� ] úL� E VXQW� YDULDELOH� UHIHULQ ��� vQ� SOXV�� PRGLILFDWRUXO� FRQVW LQWHU]LFH� PRGLILFDUHD�RSHUDQGXOXL�WUDQVPLV�FD�SDUDPHWUX�UHIHULQ ���vQ�SOXV��QX�VH�PDL�FUHD]� RELHFWXO�ORFDO�]��VH�LD�FD�UHIHULQ ��RELHFWXO�H[LVWHQW��úL�UHWXUQHD]� R�UHIHULQ ���DGUHVD�RELHFWXOXL�D���DúD�FXP�SUH]LQW� ILJXUD������

WHPSD�UH D�LPD

E�UH E�LPE

]�UH ]�LP]�2ELHFWXO�]�HVWH�ORFDO�IXQF LHL�RSHUDWRU �

WHPS�UH WHPS�LP

)LJXUD��������6XSUDvQF�UFDUHD�RSHUDWRUXOXL� �SULQ�PHWRG� D�FODVHL�FRPSOH[

Page 179: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

FRPSOH[�FRPSOH[��RSHUDWRU� ��FRQVW FRPSOH[�]�^�UH ]�UH��LP ]�LP��UHWXUQ� WKLV�`

YRLG�PDLQ��^FRPSOH[�D��E�D� �E�����D�RSHUDWRU �E�����ILJXUD�������`

'HDVHPHQHD��RSHUDWRUXO�ELQDU�GH�DWULEXLUH�SRDWH�IL�VXSUDvQF�UFDW�SULQ�IXQF LH�SULHWHQ� �vQ�DFHVW�FD]��QX�SULPHúWH�SDUDPHWUXO�LPSOLFLW�WKLV��GHFL�DUH�GRL�RSHUDQ]L���3DUDPHUWULL� ]���]� VXQW� WUDQVPLúL� SULQ� UHIHULQ ��� GHFL� VH� OXFUHD]� FKLDU� FX� RELHFWHOH� D��E�� )XQF LD� UHWXUQHD]�DGUHVD�RELHFWXOXL�D��0RGLILFDWRUXO�FRQVW LQWHU]LFH�PRGLILFDUHD�RSHUDQGXOXL�GUHSW�FODVV�FRPSOH[

^�GRXEOH�UH�LP�SXEOLF�

IULHQG FRPSOH[RSHUDWRU �FRPSOH[�FRQVW FRPSOH[�� ��IXQF LH�SULHWHQ� FRQVWDQW�`�FRPSOH[��RSHUDWRU� ��FRPSOH[�]���FRPSOH[�]��

^�]��UH ]��UH��]��LP ]��LP��UHWXUQ�]��`YRLG PDLQ��

^FRPSOH[�D��E�D� �E�����D�RSHUDWRU �E�����ILJXUD�������`

'HRDUHFH� vQWRWGHDXQD� RSHUDQGXO� VWkQJ� DO� RSHUDWRUXOXL� GH� DWULEXLUH� HVWH� GH� WLSXO� FODVHL� SHQWUX� FDUH� VH�VXSUDvQFDUF��� HVWH� SUHIHUDELO� FD� VXSUDvQF�UFDUHD� V� VH� UHDOL]H]H� SULQ� PHWRG� D� FODVHL�� 5HDPLQWLP� F�DVRFLDWLYLWDWHD�RSHUDWRUXOXL�HVWH�GH�OD�GUHDSWD�OD�VWkQJD��2SHUDWRUXO�SRDWH�DSDUH�vQ�H[SUHVLL�GH�IRUPD� D E F G���),6,(58/�FRPSOH[�K�GHILQH�3,�����������������������LQFOXGH��LRVWUHDP�K!FODVV�FRPSOH[

^�GRXEOH�UH�LP�SXEOLF�

FRPSOH[��GRXEOH�U ��GRXEOH�L ��� ��FRQVWUXFWRUFRPSOH[��FRQVW�FRPSOH[�� ��FRQVWUXFWRU�FRSLHUHaFRPSOH[��^FRXW���'HVWUXFWRU�FRPSOH[����UH�������LP���� ?Q��` ��GHVWUXFWRUGRXEOH�PRGXO��� ��PHWRGD�FDUH�UHWXUQHD]D�PRGXOXO�XQXL�FRPSOH[GRXEOH DUJ�������� ��PHWRGD�FDUH�UHWXUQHD]D�DUJXPHQWXO�XQXL�FRPSOH[YRLG�LSL������������ ���PHWRGD�FDUH�LQFUHPHQWHD]D�SDUWHD�LPDJ�YRLG�GSL����������� ��PHW��GH�GHFUHP��D�SDUWLL�LPDJ��RSHUDWRU���ELQDUIULHQG�FRPSOH[�RSHUDWRU��FRQVW�FRPSOH[�FRQVW�FR PSOH[����FRPSOH[�FRPSOH[IULHQG�FRPSOH[�RSHUDWRU��FRQVW�GRXEOH�FRQVW�FRPSOH[��� ��UHDO�FRPSOH[IULHQG�FRPSOH[�RSHUDWRU���FRQVW�LQW�FRQVW�FRPSOH[��� ��LQW�FRPSOH[IULHQG�FRPSOH[�RSHUDWRU���FRQVW�FRPSOH[�FRQVW�GRXEOH�� ���FRPSOH[�GRXEOHFRPSOH[�RSHUDWRU � �FRQVW�FRPSOH[���FRQVW� ��RSHUDWRU�� ELQDU��FRPSOH[�FRPSOH[��RSHUDWRU�LQPXOWLUH�ELQDU��FRPSOH[ FRPSOH[IULHQG�FRPSOH[�RSHUDWRU� ��FRQVW�FRPSOH[��FRQVW�FRPSOH[���

D�UH D�LPD

E�UH E�LPE�])LJXUD������� 6XSUDvQF�UFDUHD�RSHUDWRUXOXL� �

SULQ�PHWRG� D�FODVHL�FRPSOH[

D�UH D�LPD�]�

E�UH E�LPE�]�)LJXUD��������6XSUDvQF�UFDUHD�RSHUDWRUXOXL� �

SULQ�IXQF LH�SULHWHQ� D�FODVHL�FRPSOH[

Page 180: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

FRPSOH[�RSHUDWRU� �FRQVW�FRPSOH[���FRQVW�� 7(0$��

IULHQG�FRPSOH[�RSHUDWRU����FRQVW�FRPSOH[��FRQVW�FRPSOH[���FRPSOH[�RSHUDWRU����FRQVW�FRPSOH[����������� �

FRPSOH[���RSHUDWRU������FRQVW� ��RSHUDWRU���XQDU��PHWRG� FRQVWDQW�FRPSOH[��RSHUDWRU�� ���FRQVW� ��RSHUDWRU�� XQDUFRPSOH[�RSHUDWRU �FRQVW�FRPSOH[���FRPSOH[��RSHUDWRU�� ��FRQVW�FRPSOH[�]��FRPSOH[�RSHUDWRU�� ��FRQVW�GRXEOH��FRPSOH[�RSHUDWRU�� ��FRQVW�FRPSOH[��FRPSOH[��RSHUDWRU�� ��FRQVW�FRPSOH[�]��� �7(0$

FRPSOH[�RSHUDWRU� ��FRQVW�FRPSOH[��FRPSOH[�RSHUDWRU�� ��FRQVW�FRPSOH[�� �

FRPSOH[��RSHUDWRU�������FRPSOH[�RSHUDWRU�����LQW�� ��IRUPD�SRVWIL[DW�FRPSOH[�RSHUDWRU����� ��GHFUHPHQWDUHD�S�U LL�UHDOH�D�RELHFWXOXL�FRPSOH[�FXUHQWFRPSOH[�RSHUDWRU������ ��FDOFXO��U�G�FLQLL�S�WUDWH�D�RELHFWXOXL�FRPSOH[�FXUHQWLQW�RSHUDWRU� ��FRPSOH[�]�� ��FRPSDU� GRL�FRPSOHFúL�úL�UHWXUQHD]� ��vQ�FD]�GH�HJDOLW�IULHQG�LQW�RSHUDWRU� ��FRPSOH[���FRPSOH[��� ��UHWXUQ����GDFD���FRPSO�HJDOLLQW�RSHUDWRU�� ��FRPSOH[���IULHQG�LQW�RSHUDWRU�� ��FRPSOH[���FRPSOH[���IULHQG�RVWUHDP�RSHUDWRU���RVWUHDP��FRQVW�FRPSOH[�� ��RSHUDWRU�DILVDUH�FRPSOH[IULHQG�LVWUHDP��RSHUDWRU�!!��LVWUHDP��FRPSOH[�� ��RSHUDWRU�FLWLUH�FRPSOH[

`����),6,(58/�FRPSOH[�FSS�LQFOXGH��FRPSOH[�K��LQFOXGH��VWGOLE�K!�LQFOXGH��PDWK�K!LQOLQH�FRPSOH[��FRPSOH[�GRXEOH�U�GRXEOH�L�

^UH U�LP L�FRXW���&RQVWUXFWRU LPSOLFLW�SWU�FRPSOH[����UH�������LP����?Q��`FRPSOH[��FRPSOH[�FRQVW�FRPSOH[��]�

^UH ]�UH�LP ]�LP�FRXW���&RQVWUXFWRU�FRSLHUH�SWU�FRPSOH[���FRXW��UH�������LP����?Q��`

LQOLQH�GRXEOH�FRPSOH[��PRGXO��^�UHWXUQ�VTUW�UH UH�LP LP���`

GRXEOH�FRPSOH[��DUJ��^�GRXEOH�D�LI��UH ���LP ���UHWXUQ��GRXEOH���LI��LP ��

LI��UH!���UHWXUQ�����HOVH�UHWXUQ�3,�

LI��UH ��LI��LP ���UHWXUQ�3,���HOVH�UHWXUQ��� 3,����

D DWDQ�LP�UH��LI��UH����UHWXUQ�3,�D�LI��LP����UHWXUQ�� 3,�D�UHWXUQ D�`

LQOLQH�YRLG�FRPSOH[��LSL��^�LP����`

LQOLQH�YRLG�FRPSOH[��GSL��

Page 181: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

^�LP����`FRPSOH[�RSHUDWRU���FRQVW�FRPSOH[�D��FRQVW�FRPSOH[�E�

^FRPSOH[�]��]�UH D�UH�E�UH� ]�LP D�LP�E�LP� UHWXUQ�]��`FRPSOH[�RSHUDWRU���FRQVW�GRXEOH�G��FRQVW�FRPSOH[�D�

^FRPSOH[�]�]�UH G�D�UH�]�LP D�LP�UHWXUQ�]�`FRPSOH[�RSHUDWRU���FRQVW�LQW�G��FRQVW�FRPSOH[�D�

^FRPSOH[�]�]�UH G�D�UH�]�LP D�LP�UHWXUQ�]�`FRPSOH[�RSHUDWRU���FRQVW�FRPSOH[�D��FRQVW�GRXEOH�G�

^FRPSOH[�]�]�UH G�D�UH�]�LP D�LP�UHWXUQ�]�`FRPSOH[�FRPSOH[��RSHUDWRU��FRQVW�FRPSOH[�D��FRQVW

^FRPSOH[�]�]�UH UH�D�UH�]�LP LP�D�LP�UHWXUQ�]�`FRPSOH[�RSHUDWRU� �FRQVW�FRPSOH[�[�FRQVW�FRPSOH[�\�

^FRPSOH[�]�]�UH [�UH \�UH�[�LP \�LP�]�LP [�UH \�LP�[�LP \�UH�UHWXUQ�]�`FRPSOH[�FRPSOH[��RSHUDWRU� �FRQVW�FRPSOH[�[��FRQVW

^FRPSOH[�]�]�UH UH [�UH�LP [�LP�]�LP UH [�LP�LP [�UH�UHWXUQ�]�`FRPSOH[��FRPSOH[��RSHUDWRU�����FRQVW

^UHWXUQ� WKLV�`FRPSOH[��FRPSOH[��RSHUDWRU�����FRQVW

^FRPSOH[�]�]�UH �UH�]�LP �LP�UHWXUQ�]�`FRPSOH[��FRPSOH[��RSHUDWRU �FRQVW�FRPSOH[�D�

^UH D�UH�LP D�LP�UHWXUQ� WKLV�` ���UHWXUQHD]� RELHFWXO�FXUHQWFRPSOH[��FRPSOH[��RSHUDWRU� �FRQVW�FRPSOH[�[�

^GRXEOH�UH� UH [�UH�LP [�LP�GRXEOH�LP� UH [�LP�LP [�UH�UH UH���LP LP��UHWXUQ� WKLV�`

FRPSOH[�FRPSOH[��RSHUDWRU� �FRQVW�GRXEOH�G�^UH� G��UHWXUQ� WKLV�`

FRPSOH[�FRPSOH[��RSHUDWRU� �FRQVW�FRPSOH[�[�^UH� [�UH�LP� [�LP��UHWXUQ� WKLV�`

FRPSOH[�FRPSOH[��RSHUDWRU�� ��FRQVW�FRPSOH[�]�^GRXEOH�QXPLWRU ]�UH ]�UH�]�LP ]�LP�GRXEOH�UH� �GRXEOH��UH ]�UH�LP ]�LP��QXPLWRU�GRXEOH�LP� �GRXEOH��LP ]�UH�UH ]�LP��QXPLWRU�UH UH���LP LP��UHWXUQ� WKLV�`

FRPSOH[��FRPSOH[��RSHUDWRU���� ��IRUPD�SUHIL[DWD^FRXW���)��SUHIL[DWD�?Q��UH����UHWXUQ� WKLV�`

FRPSOH[�FRPSOH[��RSHUDWRU�����LQW� ��IRUPD�SRVWIL[DWD^�FRXW���)��SRVWIL[DWD�?Q��FRPSOH[�] WKLV��UH����UHWXUQ�]�`

FRPSOH[�FRPSOH[��RSHUDWRU����^UH����UHWXUQ� WKLV�`

FRPSOH[�FRPSOH[��RSHUDWRU�����^�FRPSOH[�Z��GRXEOH�G�H�LI���G PRGXO��� ������ UHWXUQ�Z�H DUJ���G VTUW�G���H H���Z�UH G FRV�H��Z�LP G VLQ�H��UHWXUQ�Z�`

LQW�FRPSOH[��RSHUDWRU �FRPSOH[�[�^UHWXUQ�UH [�UH��LP [�LP�`

LQW RSHUDWRU �FRPSOH[�[��FRPSOH[�\�^UHWXUQ��[�UH \�UH��[�LP \�LP��`

LQW�FRPSOH[��RSHUDWRU� �FRPSOH[�[�^UHWXUQ���UH [�UH��LP [�LP��`

LQW�RSHUDWRU� �FRPSOH[�[��FRPSOH[�\�^UHWXUQ���[�UH \�UH��[�LP \�LP��`

RVWUHDP�RSHUDWRU���RVWUHDP�HFUDQ��FRQVW�FRPSOH[�]�^HFUDQ�������]�UH�LI��]�LP! ������HFUDQ����HFUDQ��]�LP��� L���UHWXUQ�HFUDQ�`

LVWUHDP�RSHUDWRU!!�LVWUHDP�WDVWDWXUD��FRPSOH[�]�

Page 182: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

^WDVWDWXUD!!]�UH!!]�LP�UHWXUQ�WDVWDWXUD�`��),6,(58/�GH�WHVW��LQFOXGH��FRPSOH[�FSS��LQFOXGH��FRQLR�K!�LQFOXGH��VWGLR�K!FRPSOH[�D���������E�YRLG�PDLQ��^�FRXW���,QWUDUH�LQ�PDLQ?Q��FRPSOH[�[�������\����������]� FRXW���E ���E��?Q�FRXW���[ ���[��?Q�FRXW���\ ���\��?Q�FRXW���] ���]��?Q��FRXW���D ���D��?Q�FRXW���D�� ���D����?Q�FRXW�����D �����D��?Q�SULQWI��3HQWUX�FRQWLQXDUH�LQWURGX�XQ�FDU�?Q��� JHWFK���

^�FRPSOH[�Z��FRXW���,QWURGXFHWL�Z�?Q��FLQ!!Z��FRXW���Z�FLWLW�HVWH�����Z��?Q�Z�LSL����FRXW���'XSD�LQFUHP��S��LPDJ����Z��?Q�Z�GSL����FRXW���'XSD�GHFUHP��S��LPDJ����Z��?Q�FRXW���0RGXOXO�OXL�Z�HVWH����Z�DUJ����?Q�FRXW���$UJXPHQWXO�OXL�Z�HVWH����Z�DUJ����?Q�SULQWI��3HQWUX�FRQWLQXDUH�LQWURGX�XQ�FDU�?Q��� FKDU�UDVS�FRXW���6H�LHVH�GLQ�EORFXO�LQWHULRU�?Q��`

SULQWI��3HQWUX�FRQWLQXDUH�LQWURGX�XQ�FDU�?Q���JHWFK���FRXW���D ���D��?Q���D��FRXW���'XSD�LQFUHP��S��UHDOH�����D��?Q���D��FRXW���'XSD�GHFUHP��S��UHDOH�����D��?Q�D [�FRXW���[ ���[��?Q�FRXW���'XSD�DWULEXLUH��D ���D��?Q�JHWFK���D [���FRXW����D� ����D��?Q�FRPSOH[�N� D�FRXW���N ���N���?Q�D ��[�FRXW����D� ����D��?Q�FRPSOH[�N D�FRXW���N ���N��?Q�JHWFK���N �D�FRXW���� XQDU�DSOLFDW�OXL�N����N��?Q�FRXW����N ����N��?Q�N [�\�FRXW��[���������\���� ����N��?Q�JHWFK���N ��[�FRXW������������[����� �����[��?Q�N D [�FRXW��D���� ����[���� ����N��?Q�`��),6,(58/�WVWBFRPSO��FSS�LQFOXGH��LRVWUHDP�K!�LQFOXGH��FRPSOH[�FSS�FRPSOH[�D��������E��YRLG�PDLQ��^FRXW���,QWUDUH�LQ�PDLQ��?Q��FRPSOH[�D�������E������������F�FRXW���D ���D��?Q�FRXW���E ���E��?Q�F �D� E��FRXW���F ���F��?Q�FRPSOH[�[������\��������]�FRXW���[ ���[����\ ���\����] ���]��?Q�F D E�FRXW���D E ���F��?Q�FRPSOH[�G�FRXW���$VWHSW�G���FLQ!!G�FRXW���G ���G��?Q�

FRXW���?Q,QWUDUH�LQ�EORFXO�LQWHULRU��?Q��^FRPSOH[�Z� FRXW���Z ���Z��?Q� Z D�FRXW���'XSD�DWULEXLUHD�Z D���Z ���Z��?Q�Z �D� FRXW���'XSD�DWULEXLUHD�Z �D��Z ���Z��?Q�Z �D�FRXW���'XSD�DWULEXLUHD�Z �D��Z ���Z��?Q� Z� D�FRXW���'XSD�DWULEXLUHD�Z� D��Z ���Z��?Q� E [���FRXW���'XSD�DWULEXLUHD�E [����Z ���Z��?Q� ] ��[�FRXW���'XSD�DWULEXLUHD�E ��[��Z ���Z��?Q�

Page 183: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

FRXW���,HVLUH�GLQ�EORFXO�LQWHULRU?Q��`FRXW���D�� ����D�����?Q�FRXW�����D ������D���?Q�FRXW���,HVLUH�GLQ�PDLQ��?Q��`([HUFL LX� ÌQ�H[HUFL LXO�XUP�WRU� VH� LPSOHPHQWHD]� FODVD�IUDF LH��(D�DUH�FD�GDWH�PHPEUH�SULYDWH QUW úL�QPW�QXP�U�WRUXO�úL�QXPLWRUXO���7RW�FD�PHWRG� SULYDW� HVWH�GHILQLW� PHWRGD�VLPSOLILF�����IRORVLW� SHQWUX�HYLWDUHD�XQRU�FDOFXOH�FX�QXPHUH�PDUL��&D�PHWRGH�SXEOLFH� VXQW�GHILQLWH��XQ� FRQVWUXFWRU�� XQ�GHVWUXFWRU�� IXQF LD�QXP�U�WRU FDUH� UHWXUQHD]� YDORDUHD�GDWHL� PHPEUH� QUW�� IXQF LD� QXPLWRU FDUH� UHWXUQHD]� YDORDUHD� GDWHL� PHPEUH� QPW�� IXQF LD� YDORDUH FDUH�UHWXUQHD]� YDORDUHD�UHDO� RE LQXW� SULQ�vPS�U LUHD�QXP�U�WRUXOXL�OD�QXPLWRU�úL�IXQF LD�DILúDUH��6H�VXSUDvQFDUF� RSHUDWRULL������� ��� SULQ�IXQF LL�SULHWHQH DOH�FODVHL�IUDF LH��6HPQLILFD LD�GDW� HVWH�FHD�GH�D�UHDOL]D�RSHUD LL�GH�DGXQDUH��VF�GHUH��vQPXO LUH�úL�vPS�U LUH�D�RELHFWHORU�GLQ�FODVD�IUDF LH�6H�VXSUDvQFDUF� RSHUDWRULL�� ��� �� ��� SULQ�IXQF LL�PHPEUH DOH�FODVHL�IUDF LH�)XQF LD�FPPGF �FDUH�LPSOHPHQWHD]� DOJRULWPXO�OXL�(XFOLG�SHQWUX�DIODUHD�FHOXL�PDL�PDUH�GLYL]RU�FRPXQ�D�GRX�QXPHUH��QX�HVWH�QLFL�IXQF LH�PHPEU� D�FODVHL�IUDF LH��QLFL�IXQF LH�SULHWHQ���(D�HVWH�DSHODW� GH�IXQF LD�VLPSOLILF���)XQF LD�VLPSOLILF� HVWH�XWLOL]DW� SHQWUX�D�HYLWD�RE LQHUHD�XQRU�YDORUL�PDUL�SHQWUX�GDWHOH�PHPEUH�QUW úL�QPW���LQFOXGH��LRVWUHDP�K!FODVV�IUDF LH^ LQW�QUW�QPW�� ���QXP�U�WRU�QXPLWRU

YRLG�VLPSOLILF������ ��PHWRG� GH�VLPSOLILFDUH�D�IUDF LHLSXEOLF�

IUDF LH�LQW�QUWL ���LQW�QPWL ���� ���FRQVWUXFWRU�LQL LDOL]DUHaIUDF LH�� ^FRXW���'(6758&725���?Q��`� ��GHVWUXFWRULQW��QXP�U�WRU�� ^UHWXUQ�QUW�`LQW�QXPLWRU�� ^UHWXUQ�QPW�`GRXEOH�YDORDUH�� ^UHWXUQ��GRXEOH�QUW��GRXEOH�QPW�`YRLG�DILúDUH���IULHQG�IUDF LH�RSHUDWRU��FRQVW�IUDF LH��FRQVW�IUDF LH��IULHQG�IUDF LH�RSHUDWRU��FRQVW�IUDF LH��FRQVW�IUDF LH��IULHQG�IUDF LH�RSHUDWRU �IUDF LH��IUDF LH��IULHQG�IUDF LH�RSHUDWRU��IUDF LH��IUDF LH��IUDF LH�RSHUDWRU� �FRQVW�IUDF LH��IUDF LH�RSHUDWRU�� �FRQVW�IUDF LH��IUDF LH�RSHUDWRU�� �FRQVW�IUDF LH��IUDF LH�RSHUDWRU� �FRQVW�IUDF LH��IUDF LH�RSHUDWRU�� �FRQVW�IUDF LH��

`�LQW�FPPGF�LQW�[�LQW�\� ��FDOFXOHD]� úL�UHWXUQHD]� FPPGF�SHQWUX�[��\

^LQW�]��LI��[ ��__�\ ���UHWXUQ���LI��[��� [ �[�LI��\��� \ �\�ZKLOH��[� ��^

LI��\![� ^] [�[ \�\ ]�`[� \�

`UHWXUQ�\�`YRLG�IUDF LH��VLPSOLILF���

^LQW�FG�LI��QPW��� ^QUW �QUW�QPW �QPW�`LI��QPW!��^ FG FPPGF�QUW�QPW��LI��FG!�� ^QUW� FG��QPW� FG�` ``

IUDF LH��IUDF LH�LQW�QUL��LQW�QPL�

Page 184: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

^QUW QUL��QPW QPL��VLPSOLILF�����FRXW���&RQVWUXFWRU�?Q��`IUDF LH�RSHUDWRU���FRQVW�IUDF LH�I���FRQVW�IUDF LH�I��

^LQW�GF��IUDF LH�I�GF FPPGF�I��QPW�I��QPW��I�QPW �I��QPW�GF� I��QPW�I�QUW I��QUW �I��QPW�GF��I��QUW �I��QPW�GF��I�VLPSOLILF����UHWXUQ�I�`

IUDF LH�RSHUDWRU���FRQVW�IUDF LH�I���FRQVW�IUDF LH�I��^LQW�GF��IUDF LH�I�GF FPPGF�I��QPW�I��QPW��I�QPW �I��QPW�GF� I��QPW�I�QUW I��QUW �I��QPW�GF��� I��QUW �I��QPW�GF��I�VLPSOLILFD���UHWXUQ�I�`

IUDFWLH�RSHUDWRU� ��IUDFWLH�I���IUDFWLH�I��^�LQW�GF�IUDFWLH�I�GF FPPGF�I��QUW�I��QPW��LI��GF!�� ^I��QUW� GF�I��QPW� GF�`GF FPPGF�I��QUW�I��QPW��LI��GF!�� ^I��QUW� GF�I��QPW� GF�`I�QUW I��QUW I��QUW��I�QPW I��QPW I��QPW�UHWXUQ�I��`

IUDFWLH�RSHUDWRU����IUDFWLH��I���IUDFWLH��I��^�LQW�GF�IUDFWLH�I�GF FPPGF�I��QUW�I��QUW��LI��GF!�� ^I��QUW� GF�I��QUW� GF�`GF FPPGF�I��QPW�I��QPW��LI��GF!�� ^I��QPW� GF�I��QPW� GF�`I�QUW I��QUW I��QPW��I�QPW I��QPW I��QUW�UHWXUQ�I�`

YRLG�IUDFWLH��DILVDUH��^FRXW���I ���QUW�����QPW��?Q�`

IUDFWLH�IUDFWLH��RSHUDWRU �FRQVW�IUDFWLH�I��^�QPW I��QPW�QUW I��QUW��UHWXUQ� WKLV�`

IUDFWLH�IUDFWLH��RSHUDWRU� �FRQVW�IUDFWLH�I��^�LQW�GF FPPGF�QPW�I��QPW��QPW �QPW�GF� I��QPW�QUW QUW �I��QPW�GF��I��QUW �QPW�GF��VLPSOLILFD���UHWXUQ� WKLV�`

IUDFWLH�IUDFWLH��RSHUDWRU� �FRQVW�IUDFWLH�I��^�LQW�GF FPPGF�QPW�I��QPW��QPW �QPW�GF� I��QPW�QUW QUW �I��QPW�GF��I��QUW �QPW�GF��VLPSOLILFD���UHWXUQ� WKLV�`

IUDFWLH�IUDFWLH��RSHUDWRU� �FRQVW�IUDFWLH�I��^�LQW�GF�GF FPPGF�QUW�I��QPW��LI��GF!�� ^QUW� GF�I��QPW� GF�`GF FPPGF�I��QUW�QPW��LI��GF!�� ^I��QUW� GF�QPW� GF�`QUW QUW I��QUW�QPW QPW I��QPW�VLPSOLILFD���UHWXUQ� WKLV�`

IUDFWLH�RSHUDWRU�� �FRQVW�IUDFWLH�I��^�LQW�GF�GF FPPGF�QUW�I��QUW��LI��GF!�� ^QUW� GF�I��QUW� GF�`GF FPPGF�I��QPW�QPW�� LI��GF!�� ^I��QPW� GF�QPW� GF�`QUW QUW I��QPW��QPW QPW I��QUW�UHWXUQ� WKLV�`

YRLG�PDLQ��^� GRXEOH�Q���Q��IUDFWLH�I������I�DILVDUH���

IUDFWLH�I�������IUDFWLH�VXP I�I��VXP�DILVDUH���FRXW���128$�$),6$5(�?Q���VXP�FRXW���1XPDUDWRU����FLQ!!Q��FRXW���1XPLWRU����FLQ!!Q��IUDFWLH�I��Q���Q����I��DILVDUH���I�� I��I��DILVDUH���I� I I���I��DILVDUH���IUDFWLH�I�� I��DILVDUH���

`2EVHUYD LL�� 1X�D� IRVW�QHFHVDU� GHILQLUHD�XQXL�FRQVWUXFWRU�GH�FRSLHUH� úL� QLFL� VXSUDvQF�UFDUHD�RSHUDWRUXOXL�GH� DWULEXLUH��

GHRDUHFH�FODVD�IUDF LH�QX�FRQWLQH�SRLQWHUL�F�WUH�GDWH�DORFDWH�GLQDPLF��ÌQ�DPEHOH�VLWXD LL�VH�IDFH�R�FRSLHUH�ELW�FX� ELW�� FRQIRUP� SURFHGXULL� VWDQGDUG� GH� FRSLHUH� D� VWUXFWXULORU� GLQ� OLPEDMXO� &�� ÌQWU�R� DWULEXLUH� FXP� DU� IL�I� I� �XQGH�I���I GH�WLS�IUDFWLH���VH�UHDOL]HD]� FRSLHUHD�ELW�FX�ELW�D�IUDF LHL�I vQ�IUDF LD�I���

Page 185: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

� 2SHUDWRULL�ELQDUL�VLPSOL������� ��� DX�IRVW�VXSUDvQF�UFD L�SULQ�IXQF LL�SULHWHQH��SHQWUX�D�SXWHD�IL� IRORVL L� vQ�H[SUHVLL�GH�WLSXO�Q�I��vQ�FDUH�Q HVWH�RSHUDQG�GH�WLS�LQW úL�I HVWH�RSHUDQG�GH�WLS�IUDF LH��'DF� DFHúWL�RSHUDWRUL�DU� IL� IRVW� VXSUDvQF�UFD L� SULQ� PHWRGH� DOH� FODVHL� IUDF LH�� DU� IL� SXWXW� IL� XWLOL]D L� GRDU� vQ� H[SUHVLLOH� vQ� FDUHRSHUDQGXO�VWkQJ HUD�GH�WLS�IUDF LH�

� 2SHUDWRULL�ELQDUL�FRPSXúL�� ��� �� ��� DX�IRVW�VXSUDvQF�UFD L�SULQ�IXQF LL�PHPEUH��GHRDUHFH�RSHUDQGXO�VWkQJ HVWH�vQWRWGHDXQD�GH�WLS�IUDF LH�

� ÌQ�SURJUDPXO�GH�WHVW�IUDF LLOH�I úL�I� DX�IRVW�LQL LDOL]DWH�FX�YDORULOH���VL����UHVSHFWLY���VL����)UDF LD�I� D�IRVW�LQL LDOL]DW� FX���úL����GDWRULW� SDUDPHWULORU�LPSOLFL L�DL�FRQVWUXFWRUXOXL�FODVHL��$FHVW�OXFUX�VH�REVHUY� vQ�XUPD�DSHOXOXL�IXQF LHL�DILVDUH SHQWUX�RELHFWHOH�I��I���I��

� ÌQ�FD]XO�XQHL�DWULEXLUL�GH�IRUPD�I Q� ��XQGH�I�HVWH�IUDF LH�VL�Q�HVWH�GH�WLS�LQW��vQDLQWH�GH�DWULEXLUHD�SURSULX�]LV� DUH�ORF�R�FRQYHUVLH�D�OXL�Q vQ�IUDF LH��ÌQWUHJXO�Q�HVWH�FRQYHUWLW�DXWRPDW�vQ�IUDF LH��Q�����$FHODúL�HIHFW�V�DU�IL�RE LQXW�vQ�XUPD�XQHL�FRQYHUVLL�H[SOLFLWH���IUDFWLH��Q�

� 3HQWUX� XQ� RELHFW� GLQ� FODVD� IUDF LH�� FRQVWUXFWRUXO� SRDWH� IL� DSHODW� H[SOLFLW�� I IUDFWLH������ �vQ� ORF� GH�IUDFWLH�I������ ��

3HQWUX�D�HYLWD�OXFUXO�FX�ILúLHUH�FDUH�DX�VXWH�GH�OLQLL�GH�FRG��VH�IRORVHVF�GRX � DERUG�UL�D� 6H�FUHD]� ILúLHUXO�VXUV� QXPLW�IUDFWLH�K �KHDGHU�DO�XWLOL]DWRUXOXL��FDUH�FRQ LQH�GHFODUDUHD�FODVHL�IUDF LH�

6H� FUHD]� ILúLHUXO� IUDFWLH�FSS vQ� FDUH� VH� LPSOHPHQWHD]� PHWRGHOH� FODVHL� IUDF LH�� ÌQ� DFHVW� ILúLHU� VH�LQFOXGH�KHDGHU�XO��IUDFWLH�K��6H�FUHD]� XQ�DO�WUHLOHD�ILúLHU�FDUH�WHVWHD]� WLSXO�GH�GDWH�IUDF LH��vQ�FDUH�VH�LQFOXGH�ILúLHUXOXL��IUDFWLH�FSS���6H�FRPSLOHD]���VH�OLQNHGLWHD]� úL�VH�ODQVHD]� vQ�H[HFX LH�ILúLHUXO�H[HFXWDELO�RE LQXW�

E� 6H�FRQVWUXLHúWH�XQ�SURLHFW��'H�H[HPSOX��GDF� VH� OXFUHD]� VXE�XQ�PHGLX� LQWHJUDW�� FXP�DU� IL�%RUODQG&�� VH�FUHD]� FHOH� WUHL� ILúLHUH� �IUDFWLH�K FDUH� FRQ LQH� GHFODUDUHD� FODVHL�� IUDFWLH�FSS FDUH� LPSOHPHQWHD]�PHWRGHOH�FODVHL�úL� ILúLHUXO�GH� WHVW��WHVWBIUDFWLH�FSS����)LúLHUXO�KHDGHU�IUDFWLH�K YD�IL� LQFOXV�DWkW� vQ�IUDFWLH�FSS�� FkW� úL� vQ� WHVWBIUDFWLH�FSS�� 'LQ� PHQLXO� �3URMHFW� VH� VHOHFWHD]� �2SHQ�3URMHFW��� DSRL� � FRPDQGD� �$GG� LWHP«��� DFUH� SHUPLWH� DG�XJDUHD� ILúLHUHORU� IUDFWLH�FSS VL�WHVWBIUDFWLH�FSS�

3HQWUX� D� HYLWD� LQFOXGHUHD� DFHOXLDúL� ILúLHU� KHDGHU� GH� PDL� PXOWH� RUL�� VH� IRORVHVF� GLUHFWLYHOH� GH� FRPSLODUH�FRQGL LRQDW��([HPSOX�

�LIQGHI BIUDFWLHBK�LQFOXGH��IUDFWLH�K��GHILQH�BIUDFWLHBK�HQGLI

([HUFL LX� 6H�GHILQHúWH�WLSXO�úLU��FX�GDWH�PHPEUH��SULYDWH��9 LQW�OXQJ

/XQJLPHD�SURSULX�]LV� �QU��GH�FDUDFWHUH�GLQ�úLU���I�U� WHUPLQDWRU9 FKDU� VLUXO

$GUHVD�vQFHSXW�úLU��úLUXO�SRLQWHU�F�WUH�vQFHSXW�úLU�0HWRGH�9 VLU���

&RQVWUXFWRU�YLG9 VLU��FKDU� ��

&RQVWUXFWRU� GH� LQL LDOL]DUH� FDUH� SULPHúWH� FD� SDUDPHWUX� XQ� SRLQWHU� F�WUH� XQ� úLU� GH� FDUDFWHUH� �DORFDUH�GLQDPLF���

9 VLU�FRQVW�VLU��&RQVWUXFWRU� GH� FRSLHUH�� SULPHúWH� FD� DUJXPHQW� R� UHIHULQ �� F�WUH� XQ� RELHFW� GLQ� FODVD� úLU� úL� UHDOL]HD]�FRSLHUHD�

9 aVLU���

Page 186: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

'HVWUXFWRU�FDUH�HOLEHUHD]� PHPRULD�DORFDW� GLQDPLF�9 LQW�OXQJLPH���

5HWXUQHD]� YDORDUHD�GDWHL�PHPEUH�OXQJ��QU��GH�FDUFWHUH�GLQ�úLU��9 FRQVW�FKDU� FRQWLQXW���

5HWXUQHD]� FRQ LQXWXO�XQXL�RELHFW�GH�WLS�úLU�9 VLU�RSHUDWRU �FRQVW�VLU��

6XSUDvQF�UFDUHD� RSHUDWRUXOXL� GH� DWULEXLUH� SULQWU�R� IXQF LH� PHPEU��� $� IRVW� QHFHVDU� VXSUDvQFDUFDUHD�RSHUDWRUXOXL�GH�DWULEXLUH�GDWRULW� IDSWXOXL�F� DFHDVW� FODV� FRQ LQH�FD�GDWH�PHPEUH��SRLQWHUL�

9 VLU�RSHUDWRU� �FRQVW�VLU��2SHUDWRU�VXSUDvQFDUFDW�SULQ�IXQF LH�PHPEU� FDUH�UHDOL]HD]� FRQFDWHQDUHD�RELHFWXOXL�FXUHQW� �RSHUDQGXO�LPSOLFLW��GH�WLS�úLU��FX�RELHFWXO�GH�WLS�úLU�SULPLW�FD�SDUDPHWUX�

9 IULHQG�VLU�RSHUDWRU��FRQVW�VLU�V���FRQVW�VLU�V���6XSUDvQFDUF� RSHUDWRUXO�GH�DGXQDUH�SULQWU�R� IXQF LH�SULHWHQ���$FHVWD�FRQFDWHQHD]� RELHFWHOH� GH� WLS� úLU�SULPLWH�FD�SDUDPHWUL��5HWXUQHD]� úLUXO�RE LQXW�vQ�XUPD�FRQFDWHQ�ULL�

9 IULHQG�RVWUHDP�RSHUDWRU���RVWUHDP���FRQVW�VLU��6XSUDvQFDUF� RSHUDWRUXO�LQVHUWRU�SULQWU�R�IXQF LH�SULHWHQ� D�FODVHL�úLU�

9 IULHQG�LVWUHDP�RSHUDWRU!!�LVWUHDP���VLU��6XSUDvQFDUF� RSHUDWRUXO�H[WUDFWRU�SULQWU�R�IXQF LH�SULHWHQ� D�FODVHL�úLU�

���),6,(58/�VLU�K�LQFOXGH��LRVWUHDP�K!FODVV�VLU^� LQW�OXQJ������ ��OXQJLPHD�SURSULX�]LVD��IDUD�WHUPLQDWRU

FKDU� VLUXO��� ��DGUHVD�LQFHSXW�VLU��VLUXO�SRLQWHU�FDWUH�LQFHSXW�VLU�SXEOLF�

VLU��� ��FRQVWUXFWRU�YLG��FRQVWUXLHVWH�XQ�VLU�YLGVLU��FKDU� ����� ��FRQVWUXFWRU�LQLWLDOL]DUH�SULPHVWH�FD�DUJ��XQ�VLU�VWDQGDUGVLU�FRQVW�VLU�����

���FRQVWUXFWRU�FRSLHUH��SULPHVWH�FD�DUJ��R�UHIHULQWD�FDWUH�XQ�RELHFW�GLQ�FOV��VLU�VL�WUHEXLH�VD�I DFD�R�FRSLHUHaVLU�������������������� ��GHVWUXFWRULQW�OXQJLPH�� ��PHWRGD�FDUH�UHWXUQ��QU�GH�FDU�GLQ�FRPSRQHQWD�VLUXOXLFRQVW�FKDU� FRQWLQXW�� ��PHWRGD�LQOLQH�UHWXUQHD]D�FRQWLQXWXO�VLUXOXL�FXUHQWVLU�RSHUDWRU �FRQVW�VLU�� � VXSUDLQFDUFDUH�RSHUDWRU�DWULEXLUH�QHFHVDU�GDW��IDSWXOXL�FD��

LQ�FOV�VLU��H[LVWD�XQ�SRLQWHU�FDWUH�GDWD�PHPEUD��VLUXO��VXSUDLQFDUFDW�SULQ�I �FWLH�PHPEUD��SWU�FD�LQWRWGHDXQD�PHPEUXO�VWDQJ�HVWH�XQ�RELHFW�GLQ�FODVD�VLU� �

VLU�RSHUDWRU� �FRQVW�VLU��� ��FRQFDWHQHD]D DUJXPHQWXO�SULPLW�OD�VLUXO�FXUHQWIULHQG�VLU�RSHUDWRU��FRQVW�VLU��FRQVW�VLU�� ��FRQFDWHQHD]D�DUJXPHQWHOHIULHQG�RVWUHDP�RSHUDWRU���RVWUHDP��FRQVW�VLU�� ��VXSUDLQFDUFDUH�RSHUDWRU�LQVHUWRUIULHQG�LVWUHDP�RSHUDWRU!!�LVWUHDP��VLU�� ��VXSUDLQFDUFDUH�RSHUDWRU�H[WUDFWRU

`����),6,(58/�VLU�FSS��FRQ LQH�GHILQL LLOH�IXQF LLORU�GLQ�FODVD�úLU��LIQGHI�BVLUBK�LQFOXGH��VLU�K��GHILQH�BVLUBK�HQGLI�LIQGHI�BVWGLRBK�LQFOXGH��VWGLR�K��GHILQH�BVWGLRBK�HQGLI

Page 187: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

�LIQGHI�BVWULQJBK�LQFOXGH��VWULQJ�K��GHILQH�BVWULQJBK�HQGLI�LIQGHI�BLRVWUHDPBK�LQFOXGH��LRVWUHDP�K��GHILQH�BLRVWUHDPBK�HQGLIVLU��VLU��

^VLUXO ��OXQJ ���FRXW���&RQVWUXFWRU�YLG?Q��`VLU��VLU�FKDU� V�

^FRXW���$SHO�FRQVWUXFWRU?Q��OXQJ VWUOHQ�V��LI��OXQJ!��^VLUXO QHZ�FKDU>OXQJ��@�

LI��VLUXO� ���VWUFS\�VLUXO�V��HOVH����OXQJ ��

`HOVH�VLUXO ��

`VLU��VLU�FRQVW�VLU�V�

^FRXW���&RQVWUXFWRU�FRSLHUH?Q��LI��V�OXQJ!��^

VLUXO QHZ�FKDU>V�OXQJ��@�LI��VLUXO� ��^

VWUFS\�VLUXO�V�VLUXO��OXQJ V�OXQJ�

`HOVH�OXQJ ��

`HOVH�^OXQJ ��VLUXO ��``

VLU��aVLU��^FRXW���'HVWUXFWRU?Q��LI��VLUXO� �� GHOHWH�VLUXO�`

LQW�VLU��OXQJLPH��^UHWXUQ�OXQJ�`

FRQVW�FKDU� VLU��FRQWLQXW��^UHWXUQ�VLUXO�`

VLU�VLU��RSHUDWRU �FRQVW�VLUV�^FRXW���2SHUDWRU�GH�DWULEXLUH?Q��LI��VLUXO� ����GHOHWH�VLUXO�LI��V�OXQJ!��^

VLUXO QHZ�FKDU>V�OXQJ��@�LI��VLUXO� ��^

VWUFS\�VLUXO�V�VLUXO��OXQJ V�OXQJ�

`HOVH�OXQJ ��

`HOVH�^VLUXO ���OXQJ ��`UHWXUQ� WKLV�`

VLU��VLU��RSHUDWRU� �FRQVW�VLU�V�^�LI��V�OXQJ!��^

FKDU� SV��LQW�OXQJ���OXQJ� OXQJ�V�OXQJ���SV QHZ�FKDU>OXQJ���@�LI��SV� ��^

Page 188: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

VWUFS\�SV�VLUXO���VWUFDW�SV�V�VLUXO��GHOHWH�VLUXO��VLUXO SV�OXQJ OXQJ��`

`UHWXUQ� WKLV�`

VLU�RSHUDWRU��FRQVW�VLU�V���FRQVW�VLU�V��^�VLU�V�V�OXQJ V��OXQJ�V��OXQJ��V�VLUXO QHZ�FKDU>V�OXQJ��@�LI��V�VLUXO� ��^

LI��V��OXQJ!��VWUFS\�V�VLUXO�V��VLUXO��

HOVH�VWUFS\�V�VLUXO�����LI��V��OXQJ!��

VWUFDW�V�VLUXO�V��VLUXO��`HOVH�^V�OXQJ ���V�VLUXO ��`UHWXUQ�V�`

RVWUHDP�RSHUDWRU���RVWUHDP�LHV��FRQVW�VLU�V�^�LI��V�OXQJ!���LHV��V�VLUXO���UHWXUQ�LHV��`

LVWUHDP�RSHUDWRU!!�LVWUHDP�LQWU��VLU�V�^�FKDU�V�>���@�SULQWI��$VWHSW�VLU�����VFDQI���V���V���V V��UHWXUQ�LQWU�`

���),6,(58/�WHVWBVLU�FSS���3URJUDP�GH�WHVW�SHQWUX�FODVD�úLU�LQFOXGH��VLU�FSS��LQFOXGH��FRQLR�K!YRLG�PDLQ���

^�FRQVW�FKDU� S�FOUVFU���FRXW���'HFODUDWLL�RELHFWH�GLQ�FOV�VLU ?Q��VLU�V���6,5�,1,7,$/,=$7�����V��V����V���V��JHWFK���FRXW���?Q$ILVDUL?Q��FRXW���V� ���V���?Q�����FRXW���V� ���V���?Q����FRXW���V� ���V���?Q�FRXW���V� ���V���?Q�V� V��FRXW���?Q$WULEXLUH��V� V���V� ���V���?Q�JHWFK���V� �3URED�GH�DWULEXLUH��FRXW���V� ���V���?Q�FRXW���?Q&RQFDWHQDUH�V���RE��FXUHQW��FX�V��?Q��V�� V��FRXW���V� ���V���?Q�FRXW���?Q&RQFDWHQDUH�V��FX�V���UH]XOWDW�LQ�V�?Q��V� V��V��FRXW���V� ���V���?Q�JHWFK���VLU�T�FRXW���$VWHSW�FDU��GLQ�VLUXO�T���FLQ!!T�FRXW���1U�FDU��LQWURGXVH�LQ�VLU����T�OXQJLPH���� ?Q�FRXW���&RQWLQXWXO�VLUXOXL����T�FRQWLQXW����?Q�JHWFK����`

$úD�FXP�VH�REVHUY� GLQ�H[HUFL LXO�SUH]HQWDW��vQ�FRUSXO�FRQVWUXFWRUXOXL�VH�DORF� PHPRULH�GLQDPLF��FX�RSHUDWRUXO�QHZ���'HVWUXFWRUXO�HOLEHUHD]� PHPRULD�DORFDW� GLQDPLF��FX�RSHUDWRUXO�GHOHWH��

�������6835$Ì1&�5&$5($�23(5$7258/8,�'(�,1'(;$5(� >�@2SHUDWRUXO�GH�LQGH[DUH�HVWH�XQ�RSHUDWRU�ELQDU�úL�DUH�IRUPD�JHQHUDO ���QXPH>H[SUHVLH@��6� FRQVLGHU�P FODVD�YHFWRU��GHILQLW� DVWIHO�

FODVV�YHFWRU^SULYDWH�

LQW�QUFRPS����������� ��QU��FRPSRQHQWHGRXEOH� WDEFRPS� ��WDEORXO�FRPSRQHQWHORU��DGUHVD�GH�vQFHSXW

SXEOLF�GRXEOH�RSHUDWRU>@�LQW��

Page 189: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

`3HQWUX� WLSXO� DEVWUDFW� YHFWRU�� RSHUDWRUXO� GH LQGH[DUH� SRDWH� IL� VXSUDGHILQLW�� DVWIHO� vQFkW� V� SHUPLW� DFFHVDUHD�HOHPHQWXOXL� GH� LQGLFH� Q�� ÌQ� DFHVW� FD]�� RSHUDWRUXO� GH� LQGH[DUH� VH� SRDWH� VXSUDGHILQL� SULQWU�R� IXQF LH�PHPEU� D�FODVHL��GHRDUHFH�RSHUDQGXO�VWkQJ�HVWH�GH�WLSXO�FODVHL���úL�SRDWH�IL�IRORVLW�VXE� IRUPD���Y>Q@ �XQGH�Y�HVWH�RELHFW�DO�FODVHL� YHFWRU�� Q�H[SUHVLH� vQWUHDJ����([SUHVLD�Y>Q@ HVWH� HFKLYDOHQW� FX�Y�RSHUDWRU>@�Q� �DSHOXO� H[SOLFLW� DO�IXQF LHL�RSHUDWRU�>@���7UDQVIHUXO�SDUDPHWUXOXL�F�WUH� IXQF LD�FDUH�VXSUDvQFDUF� RSHUDWRUXO�VH�SRDWH�IDFH�SULQ�YDORDUH VDX�SULQ�UHIHULQ ���ÌQ�PRG�REOLJDWRULX��IXQF LD�WUHEXLH�V� UHWXUQH]H�UHIHULQ D�F�WUH�HOHPHQWXO DIODW�SH�SR]L LD�Q��SHQWUX�D�SHUPLWH�HYHQWXDOHOH�PRGLILF�UL�DOH�HOHPHQWXOXL��GHRDUHFH�YHFWRU>Q@ HVWH�OYDOXH���3HQWUX� XQ� WLS� DEVWUDFW�� SURWRWLSXO� IXQF LHL� FDUH� VXSUDGHILQHúWH� RSHUDWRUXO� GH� LQGH[DUH� HVWH� �FRQVW SURWHMHD]�DUJXPHQWXO�OD�PRGLILF�ULOH�DFFLGHQWDOH��

WLSBHOHPHQW����RSHUDWRU�>�@��FRQVW�LQW��ÌQ�FD]XO�vQ�FDUH�RSHUDWRUXO�VH�VXSUDvQFDUF� SULQWU�R�IXQF LH�SULHWHQ���SURWRWLSXO�IXQF LHL�HVWH�

WLSBHOHP� RSHUDWRU��WLS��LQW��([HUFL LX� 6� GHILQLP�FODVD�YHFWRU DUH�FD�GDWH�PHPEUH��SULYDWH���ILJXUD��������

9 LQW�QUFRPS� � QXP�UXO�HOHPHQWHORU�YHFWRUXOXL9 LQW�HUU���������� � LQGLFH�GH�HURDUH9 GRXEOH� WDEFRPS� � DGUHVD�GH�vQFHSXW�D�WDEORXOXL�FRPSRQHQWHORU

0HWRGH�9 YHFWRU�LQW�QUF �����

&RQVWUXFWRU�LQL LDOL]DUH�FX�SDUDPHWUX�LPSOLFLW��QXP�U�HOHPHQWH����&UHD]� GLQDPLF�XQ�YHFWRU�GH�HOHPHQWH�UHDOH��GRXEOH��úL�LQL LDOL]HD]� HOHPHQWHOH�FX�YDORDUHD���

9 YHFWRU�FRQVW�YHFWRU����&RQVWUXFWRU� GH� FRSLHUH�� 3H� ED]D� YHFWRUXOXL� SULPLW� FD� DUJXPHQW�� FUHD]� XQ� QRX� YHFWRU� �GH� DFHHDúL�GLPHQVLXQH��FX�DFHOHDúL�YDORUL�DOH�FRPSRQHQWHORU��

9 YLUWXDO�aYHFWRU����'HVWUXFWRU��HOLEHUHD]� PHPRULD�DORFDW� GLQDPLF�OD�FUHDUHD�XQXL�RELHFW�GLQ�FODVD�YHFWRU�

9 LQW�GLPHQV���FRQVW�5HWXUQHD]� GLPHQVLXQHD��QXP�UXO�HOHPHQWHORU��SHQWUX�RELHFWXO�FXUHQW�

9 GRXEOH�RSHUDWRU>@�LQW����������6XSUDvQFDUFD�RSHUDWRUXO�GH�LQGH[DUH >@�SULQ�IXQF LH�PHPEU� �PHWRG����5HWXUQHD]� UHIHULQ D�F�WUH�HOHPHQWXO�FX�QXP�UXO�GH�RUGLQH�LQGLFDW�FD�DUJXPHQW�

9 YHFWRU�RSHUDWRU �FRQVW�YHFWRU���6XSUDvQFDUFDUHD� RSHUDWRUXOXL� GH� DWULEXLUH� SULQWU�R� IXQF LH� PHPEU��� $� IRVW� QHFHVDU� VXSUDvQFDUFDUHD�RSHUDWRUXOXL�GH�DWULEXLUH�GDWRULW� IDSWXOXL�F� DFHDVW� FODV� FRQ LQH�SRLQWHUL�F�WUH�GDWHOH�PHPEUH�

9 LQW�QUHURUL���FRQVW�0HWRG� FRQVWDQW� �QX�SRDWH�PRGLILFD�RELHFWXO�FXUHQW��FDUH�UHWXUQHD]� YDORDUHD�GDWHL�PHPEUH�HUU�

9 YRLG�DQXODUL���0HWRGD�FDUH�DQXOHD]� LQGLFHOH�GH�HURDUH�

9 LQW�FRPSDUDUH�FRQVW�YHFWRU��FRQVW�0HWRGD�FRQVWDQW� FDUH�FRPSDU� RELHFWXO�FXUHQW��RSHUDQG�VWkQJ��DUJXPHQW�LPSOLFLW��FX�RELHFWXO�SULPLW FD�SDUDPHWUX� �WRW� YHFWRU��� 5HWXUQHD]� R� YDORDUH� vQWUHDJ��� FDUH� HVWH�� �� GDF� YHFWRULL� DX� QXP�U� GH�FRPSRQHQWH� GLIHULW�� �� GDF� RELHFWXO� FXUHQW� DUH� �� HOHPHQWH� VDX� GDF� YHFWRULL� FRPSDUD L� DX� DFHOHDúL�HOHPHQWH����GDF� YHFWRULL�DX�FHO�SX LQ�XQ�HOHPHQW�GLIHULW��0HWRGD�QX�PRGLILF� RSHUDQGXO�VWkQJ��0RG�GH�DSHODUH���D�FRPSDUDUH�E�� �XQGH�D��E�YHFWRUL��

9 IULHQG�LQW�SURGVFDO�FRQVW�YHFWRU�Y���FRQVW�YHFWRU�Y���GRXEOH�S��)XQF LH�SULHWHQ� D�FODVHL�YHFWRU�FDUH�FDOFXOHD]� úL�UHWXUQHD]� YDORDUHD�SURGXVXOXL�VFDODU�SHQWUX�YHFWRULL�Y��úL�Y���WUDQVPLúL�FD�DUJXPHQWH�

Page 190: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

S ¦�

�@>� @>�QUFRPS

NNYNY

9 IULHQG�LQW�VXPD�FRQVW�YHFWRU�Y���FRQVW�YHFWRU�Y���YHFWRU�Y��)XQF LH�SULHWHQ� FDUH�FDOFXOHD]� YHFWRUXO�VXP� Y�

5HWXUQHD]� R�YDORDUH�vQWUHDJ�����GDF� QXP�UXO�GH�HOHPHQWH�GLQ�Y��HVWH�GLIHULW�GH�QXP�UXO HOHPHQWHORU�GLQ�Y�����GDF� Y��DUH���HOHPHQWH��VDX�GDF� V�D�FDOFXODW�VXPD����GDF� Y�DUH���HOHPHQWH

9 IULHQG�LQW�GLIHUHQWD�FRQVW�YHFWRU�Y���FRQVW�YHFWRU�Y���YHFWRU�Y��)XQF LH�SULHWHQ� FDUH�FDOFXOHD]� YHFWRUXO�GLIHUHQ ��Y�

5HWXUQHD]� R� YDORDUH� vQWUHDJ��� �� GDF� QXP�UXO� GH� HOHPHQWH� GLQ� Y�� HVWH� GLIHULW� GH� GH� QXP�UXOHOHPHQWHORU�GLQ�Y�����GDF� Y��DUH���HOHPHQWH��VDX�GDF� V�D�FDOFXODW�GLIHUHQ D����GDF� Y�DUH���HOHPHQWH

9 IULHQG�RVWUHDP�RSHUDWRU���RVWUHDP�LHV��FRQVW�YHFWRU��2SHUDWRU�GH�DILúDUH�VXSUDvQFDUFDW�SULQ�IXQF LH�SULHWHQ���$SHOHD]� PHWRGD�SULYDW� FRQVWDQW� DILúDUH�

9 YLUWXDO�YRLG�DILVDUH�RVWUHDP��FRQVW�&XYkQWXO�YLUWXDO FDUH�DSDUH�vQ�DQWHWXO�IXQF LHL�LQGLF� IDSWXO�F� PHWRGD�HVWH�R�IXQF LH�YLUWXDO���(D�SRDWH�IL�HYHQWXDO�UHGHILQLW� �FX�DFHODúL�SURWRWLS��úL�vQ�FODVHOH�GHULYDWH�GLQ�FODVD�YHFWRU��ÌQ�FD]XO�XQHL�UHGHILQLUL��IXQF LD� DU� IL� VXSXV� �OHJ�ULL� GLQDPLFH��� FHHD� FH� vQVHDPQ� F� VHOHF LD� HL� VH� YD� IDFH� DELD� vQ�PRPHQWXO�H[HFX LHL�

9 GRXEOH�RSHUDWRU� �FRQVW�YHFWRU�Y���FRQVW�2SHUDWRU�GH�vQPXO LUH�VXSUDvQF�UFDW�SULQ�PHWRG� FRQVWDQW� FDUH�UHWXUQHD]� R�YDORDUH�UHDO� UHSUH]HQWkQG�SURGXVXO�VFDODU�GLQWUH�RELHFWXO�FXUHQW�úL�FHO�SULPLW�FD�DUJXPHQW��ÌQ�IXQF LH�QX�VH�FUHD]� R�FRSLH�D�OXL�Y���VH�OXFUHD]� FX�Y��GLQ�SURJUDPXO�DSHODQW��SDUDPHWUX�WUDQVPLV�SULQ�UHIHULQ ���

9 YHFWRU�RSHUDWRU��FRQVW�YHFWRU��FRQVW�2SHUDWRU�GH� DGXQDUH� VXSUDvQF�UFDW�SULQ�PHWRG� FRQVWDQW� FDUH� UHWXUQHD]� XQ�YHFWRU� �vQWRDUFH�R� FRSLH�FDUH�SRDWH� IL�XWLOL]DW� vQ�SURJUDPXO�DSHODQW�� UHSUH]HQWkQG�VXPD�GLQWUH�RELHFWXO�FXUHQW� úL�FHO�SULPLW�FDDUJXPHQW�������

9 YHFWRU�RSHUDWRU��FRQVW�YHFWRU��FRQVW�2SHUDWRU� GH� VF�GHUH� VXSUDvQF�UFDW� SULQ�PHWRGD� FRQVWDQW� FDUH� UHWXUQHD]� XQ�YHFWRU� �vQWRDUFH� R� FRSLH�FDUH�SRDWH�IL�XWLOL]DW� vQ�SURJUDPXO�DSHODQW��UHSUH]HQWkQG�GLIHUHQ D�GLQWUH�RELHFWXO�FXUHQW�úL�FHO�SULPLW�FD�DUJXPHQW�������

9 YHFWRU�RSHUDWRU� �FRQVW�YHFWRU�E��2SHUDWRU�VXSUDvQF�UFDW�SULQ�PHWRG���GHRDUHFH�vQWRWGHDXQD�RSHUDQGXO�VWkQJ�HVWH�GH�WLSXO�YHFWRU��(VWH�IRORVLW�vQ�H[SUHVLL�FXP�DU�IL� D� E �D�úL�E�GH�WLSXO�YHFWRU��

9 YHFWRU�RSHUDWRU� �FRQVW�YHFWRU���2SHUDWRUXO�� VXSUDvQF�UFDW�SULQ�PHWRG���GHRDUHFH�vQWRWGHDXQD�RSHUDQGXO�VWkQJ�HVWH�GH�WLSXO�YHFWRU��

9 LQW�VRUW�FKDU $��0HWRG� FDUH� WHVWHD]� DUJXPHQWXO� SULPLW�� 'DF� DFHVWD� HVWH� YDOLG� �$� VDX� '�� DSHOHD]� PHWRGD�TXLFNVRUW��SHQWUX�RUGRQDUHD�FUHVF�WRDUH�VDX�GHVFUHVF�WRDUH�D�DOHPHQWHORU�XQXL�YHFWRU�

9 YRLG�TXLFNVRUW�LQW��LQW��FKDU��0HWRGD� HVWH� SURWHMDW� úL UHDOL]HD]� RUGRQDUHD� FUHVF�WRDUH� �DUJXPHQWXO� $�� VDX� GHVFUHVF�WRDUH��DUJXPHQWXO�'��

@>�@>�@> NYNYNY �

@>�@>�@> NYNYNY �

YHFWRU�Y

Y�QUFRPS

Y�HUU

Y�WDEFRPS

)LJXUD��������2ELHFWXO�Y��GH�WLS�YHFWRU

Page 191: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

6H�SUH]LQW� YDULDQWD�GH�OXFUX�vQ�FDUH�VH�FUHD]� XQ�SURLHFW����),6,(58/�YHFWRU�K�LIQGHI�BLRVWUHDPBK�LQFOXGH��LRVWUHDP�K!�GHILQH�BLRVWUHDPBK�HQGLIFODVV�YHFWRU^SULYDWH�

LQW�QUFRPS����������� ��QU��FRPSRQHQWHLQW�HUU� ��LQGLFH�HURDUHGRXEOH� WDEFRPS� ��WDEORXO�FRPSRQHQWHORU��DGUHVD�GH�vQFHSXW

SXEOLF�YHFWRU�LQW�QUF ��� ��FRQVWUXFWRU�LQLWLDOL]DUH�SHQWUX�XQ�YHFWRU�YLGYHFWRU�FRQVW�YHFWRU��� ��FRQVWU��FRSLHUHaYHFWRU��� ��GHVWUXFWRULQW�GLPHQV���FRQVW ��PHWRGD�FRQVWDQWD

^UHWXUQ�QUFRPS�`GRXEOH�RSHUDWRU>@�LQW�� ��VXSUDLQFDUF�RSHUDWRU�LQGH[DUHYHFWRU�RSHUDWRU �FRQVW�YHFWRU�� ��VXSUDLQFDUFDUH�RSHUDWRU�GH�DWULEXLUHLQW�QUHURUL���FRQVW

^UHWXUQ�HUU�`YRLG�DQXODUL��

^HUU ��`LQW�FRPSDUDUH�FRQVW�YHFWRU��FRQVW� ��FRPSDUD���YHFWRULIULHQG�LQW�SURGVFDO�FRQVW�YHFWRU��FRQVW�YHFWRU��GRXEOH��IULHQG�LQW�VXPD�FRQVW�YHFWRU��FRQVW�YHFWRU��YHFWRU��IULHQG�LQW�GLIHUHQWD�FRQVW�YHFWRU��FRQVW�YHFWRU��YHFWRU��IULHQG�RVWUHDP�RSHUDWRU���RVWUHDP�LHV��FRQVW�YHFWRU��GRXEOH�RSHUDWRU� �FRQVW�YHFWRU��FRQVW�YHFWRU�RSHUDWRU��FRQVW�YHFWRU��FRQVW�

��LQWRDUFH�FRSLH�FDUH�SRDWH�IL�XWLOL]DWD�LQ�SURJU��DSHODQWYHFWRU�RSHUDWRU��FRQVW�YHFWRU��FRQVW�YHFWRU�RSHUDWRU� �FRQVW�YHFWRU�� ��D� EYHFWRU�RSHUDWRU� �FRQVW�YHFWRU���LQW�VRUW�FKDU $��

SULYDWH�YRLG�DILVDUH�RVWUHDP��FRQVW�YRLG�TXLFNVRUW�LQW�LQW�FKDU��

`�

���),6,(58/�YHFWRU�FSS�LIQGHI�BYHFWRUBK�LQFOXGH��YHFWRU�K��GHILQH�BYHFWRUBK�HQGLI�LIQGHI�BVWULQJBK�LQFOXGH��VWULQJ�K!�GHILQH�BVWULQJBK

Page 192: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

�HQGLI�LIQGHI�BFW\SHBK�LQFOXGH��FW\SH�K!�GHILQH�BFW\SHBK�HQGLIYHFWRU��YHFWRU�LQW�QUF�

^HUU ��FRXW���&RQVWUXFWRU�YHFWRU?Q��LI��QUF!��^ QUFRPS QUF� WDEFRPS QHZ�GRXEOH>QUFRPS��@�

LI��WDEFRPS �� QUFRPS ��HOVHIRU��LQW�L ��L� QUFRPS�L����WDEFRPS>L@ ����LQLWLDOL]DUH�HOHPHQWH�YHFWRU�FX��`

HOVH^ QUFRPS �� WDEFRPS ���``

YHFWRU��YHFWRU�FRQVW�YHFWRU�Y�^�HUU Y�HUU���FRXW���&RQVWUXFWRU�FRSLHUH�?Q��LI��Y�QUFRPS!��^QUFRPS Y�QUFRPS��WDEFRPS QHZ�GRXEOH>QUFRPS��@�

LI��WDEFRPS ��^�QUFRPS ����WDEFRPS �����HUU ���`HOVH^IRU�LQW�N ��N� QUFRPS�N������WDEFRPS>N@ Y�WDEFRPS>N@�`

`HOVH^��QUFRPS �����WDEFRPS ���` `

YHFWRU��aYHFWRU��^FRXW���'HVWUXFWRU�?Q���LI��WDEFRPS� �����GHOHWH�WDEFRPS��`

GRXEOH�YHFWRU��RSHUDWRU>@�LQW�L�^�LI��L���__�L! QUFRPS�^HUU����UHWXUQ�WDEFRPS>QUFRPS@����`

HOVH��������UHWXUQ�WDEFRPS>L@���`LQW�YHFWRU��FRPSDUDUH�FRQVW�YHFWRUY��FRQVW��Z�FRPSDUDUH�Y�

^�LQW�N�LI��QUFRPS� Y�QUFRPS��UHWXUQ���LI��QUFRPS ����������UHWXUQ���IRU��N ��N�QUFRPS��WDEFRPS>N@ Y�WDEFRPS>N@�N���LI��N�QUFRPS�������UHWXUQ����� ��YHFWRULL�DX�FHO�SXWLQ�XQ�HOHP��GLIHULW

UHWXUQ���`

��Y�DILVDUH�FRXW�YRLG�YHFWRU��DILVDUH�RVWUHDP�LHV��FRQVW

^�LHV��>�IRU��LQW�L ��L��QUFRPS����L������LHV��WDEFRPS>L@�������LI��QUFRPS!��������LHV��WDEFRPS>QUFRPS��@�LHV��@�

`RVWUHDP�RSHUDWRU���RVWUHDP�LHV��FRQVW�YHFWRU�Y�

^�Y�DILVDUH�LHV�����UHWXUQ�LHV��`YHFWRU�YHFWRU��RSHUDWRU �FRQVW�YHFWRU�Y�

^�FRXW���2SHUDWRU�DWULEXLUH�?Q��LI��WDEFRPS� ����������GHOHWH�WDEFRPS�QUFRPS ����HUU ����WDEFRPS ��LI��Y�QUFRPS!��^

WDEFRPS QHZ�GRXEOH>Y�QUFRPS��@�LI��WDEFRPS� ��^

Page 193: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

QUFRPS Y�QUFRPS���HUU Y�HUU�IRU��LQW�N ��N� QUFRPS�N���

WDEFRPS>N@ Y�WDEFRPS>N@�`

`UHWXUQ� WKLV�

`LQW�SURGVFDO�FRQVW�YHFWRU�Y���FRQVW�YHFWRU�Y���GRXEOH�S���S 680$�Y�>N@Y�>N@�

^�S ��LI �Y��QUFRPS� Y��QUFRPS������UHWXUQ���LI��Y��QUFRPS �� UHWXUQ���IRU��LQW�N ��N�Y��QUFRPS�N�����������S� Y��WDEFRPS>N@ Y��WDEFRPS>N@����VDX��S� Y�>N@ Y�>N@�SHQWUX�FD�V�D�VXSUDLQFDUFDW�RSHUDWRUXO�GH��LQGH[DUH��PRG�DSHO�M SURGVFDO�Z�Y�S����PRG�DSHO�SURGVFDO�Z�Y�S��

UHWXUQ���`

LQW�VXPD�FRQVW�YHFWRU�Y���FRQVW�YHFWRU�Y���YHFWRU�Y�^�Y�QUFRPS Y�HUU ��LI��Y�WDEFRPS� ����������GHOHWH�Y�WDEFRPS�Y�WDEFRPS ��LI��Y��QUFRPS� Y��QUFRPS������UHWXUQ���LI��Y��QUFRPS �� UHWXUQ���Y�WDEFRPS QHZ�GRXEOH>Y��QUFRPS��@�LI��Y�WDEFRPS ����������UHWXUQ���Y�QUFRPS Y��QUFRPS�IRU��LQW�N ��N� Y��QUFRPS�N���Y�WDEFRPS>N@ Y��WDEFRPS>N@�Y��WDEFRPS>N@�

UHWXUQ���`

LQW�GLIHUHQWD�FRQVW�YHFWRU�Y���FRQVW�YHFWRU�Y���YHFWRU�Y�^�Y�QUFRPS Y�HUU ��LI��Y�WDEFRPS� ����������GHOHWH�Y�WDEFRPS�Y�WDEFRPS ��LI��Y��QUFRPS� Y��QUFRPS���������UHWXUQ���LI��Y��QUFRPS �������UHWXUQ���Y�WDEFRPS QHZ�GRXEOH>Y��QUFRPS��@�LI��Y�WDEFRPS �� UHWXUQ���Y�QUFRPS Y��QUFRPS�IRU��LQW�N ��N� Y��QUFRPS�N����Y�WDEFRPS>N@ Y��WDEFRPS>N@�Y��WDEFRPS>N@�

UHWXUQ���`

GRXEOH�YHFWRU��RSHUDWRU �FRQVW�YHFWRU�E��FRQVW��] D E��D�RSHUDQGXO�GLQ�VWkQJD

^�GRXEOH�] ����LI��QUFRPS� E�QUFRPS�^

���HUU���FRXW���1U��FRPSRQHQWH�GLIHULW��1X�VH�SRDWH�IDFH�SURGXV�VFDODU� ?Q��UHWXUQ���`

HOVH�LI��QUFRPS!��IRU��LQW�N ��N�QUFRPS�N�����]� WDEFRPS>N@ E�WDEFRPS>N@�

UHWXUQ�]�`

YHFWRU�YHFWRU��RSHUDWRU��FRQVW�YHFWRU�E��FRQVW��F D�E

Page 194: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

^LI��QUFRPS� E�QUFRPS�� ^YHFWRU�F�F�HUU ��UHWXUQ�F�`LI��QUFRPS �� ^YHFWRU�F�UHWXUQ�F�`YHFWRU�F�QUFRPS��IRU��LQW�N ��N�QUFRPS�N����F�WDEFRPS>N@ WDEFRPS>N@�E�WDEFRPS>N@�UHWXUQ�F�`

YHFWRU�YHFWRU��RSHUDWRU��FRQVW�YHFWRU�E��FRQVW��F D�E

^LI��QUFRPS� E�QUFRPS�^YHFWRU�F�F�HUU ��UHWXUQ�F�`LI��QUFRPS ���������^YHFWRU�F�UHWXUQ�F�`YHFWRU�F�QUFRPS��IRU��LQW�N ��N�QUFRPS�N����F�WDEFRPS>N@ WDEFRPS>N@�E�WDEFRPS>N@�UHWXUQ�F�`

YHFWRU�YHFWRU��RSHUDWRU� �FRQVW�YHFWRU�E�^�LI��QUFRPS� E�QUFRPS��HUU���HOVH

LI��QUFRPS!��IRU��LQW�N ��N�QUFRPS�N����WDEFRPS>N@� E�WDEFRPS>N@�

UHWXUQ� WKLV�`

YHFWRU�YHFWRU��RSHUDWRU� �FRQVW�YHFWRU�E�^�LI��QUFRPS� E�QUFRPS��HUU���

HOVHLI��QUFRPS!��

IRU��LQW�N ��N�QUFRPS�N����WDEFRPS>N@� E�WDEFRPS>N@�UHWXUQ� WKLV�`

YRLG�YHFWRU��TXLFNVRUW�LQW�L��LQW�L��FKDU�PRGVRUW�^LQW�L�M��GRXEOH�D�\�L L��M L��D WDEFRPS>�L��L����@�GR^

VZLWFK��PRGVRUW�^�FDVH�$��ZKLOH��WDEFRPS>L@�D��L���

ZKLOH��WDEFRPS>M@!D��M���EUHDN�

FDVH�'��ZKLOH��WDEFRPS>L@!D��L���ZKLOH��WDEFRPS>M@�D��M���

`LI��L� M�

^\ WDEFRPS>L@�WDEFRPS>L@ WDEFRPS>M@�WDEFRPS>M@ \�L���M���``�ZKLOH��L� M��LI��L��M��TXLFNVRUW�L��M�PRGVRUW��LI��L�L���TXLFNVRUW�L�L��PRGVRUW��`

LQW�YHFWRU��VRUW�FKDU�PRGVRUW�^�PRGVRUW WRXSSHU�PRGVRUW��LI��PRGVRUW� $��PRGVRUW� '��� UHWXUQ���LI��QUFRPS ��� UHWXUQ���LI��QUFRPS ���UHWXUQ���TXLFNVRUW���QUFRPS���PRGVRUW��UHWXUQ���`

��),6,(58/�WHVWBYHF�FSS�LIQGHI�BYHFWRUBK�LQFOXGH��YHFWRU�K�

Page 195: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

�GHILQH�BYHFWRUBK�HQGLIYRLG�PDLQ��^LQW�LHU�

YHFWRU�Y�����Z�����]� GRXEOH�W>��@ ^��������������������`�LQW�N�L��L���GRXEOH�S�S��FRXW���Y ���Y��?Q�FRXW���Z ���Z��?Q�FRXW���] ���]��?Q�FRXW���Y>�@ ���Y>�@��?Q�IRU��N ��N����N���

^�Y>N@ W>N@�FRXW���LQWU��Z>���N���@ ��FLQ!!Z>N@�`FRXW���9HFW��Y�QHRUGRQDW�?Q���Y��?Q�FRXW���1U��HURUL����Y�QUHURUL����?Q�LHU Y�VRUW�$��FRXW���9HFW��Y�RUGRQDW�FUHVFDWRU����Y�� ?Q�FRXW���LHU ���LHU��?Q�FRXW���9HFW��Z�QHRUGRQDW�?Q���Z��?Q�LHU Z�VRUW�'��FRXW���9HFW��Z�RUGRQDW�GHVFUHVFDWRU����Z��?Q�FRXW���LHU ���LHU��?Q�YHFWRU�FF�Y��FRXW���FF ���FF��?Q�LQW�L� SURGVFDO�Y�Z�S�� FRXW���3URGXVXO�VFDODU ���S��?Q�FRXW���3URGXV�VFDODU ����Y Z���?Q�L� VXPD�Y�Z�]��FRXW���9HFWRU�VXPD����]��?Q�FRXW���9HFWRU�VXPD�����Y�Z���?Q�L� GLIHUHQWD�Y�Z�]��FRXW���9HFWRU�GLIHUHQWD����]��?Q�FRXW���9HFWRU�GLIHUHQWD�����Y�Z���?Q�FRXW���,QDLQWH�GH�DWULEXLUH�?Q��FRXW���] ���]��?Q�FRXW���Y ���Y��?Q�] Y�FRXW���'XSD�DWULEXLUH�?Q��FRXW���] ���]��?Q�FRXW���Y ���Y��?Q�]� Y�FRXW���] ���]��?Q�FRXW���Y ���Y��?Q�LQW�WHVW ]�FRPSDUDUH�]��LI��WHVW �� FRXW���6LUXUL�HJDOH�?Q��HOVH� FRXW���6LUXUL�GLIHULWH�?Q��WHVW ]�FRPSDUDUH�Y��LI��WHVW �� FRXW���6LUXUL�HJDOH�?Q��HOVH� FRXW���6LUXUL�GLIHULWH�?Q��

`

�������6835$Ì1&�5&$5($�23(5$725,/25�1(: ù,�'(/(7($YDQWDMXO�DORF�ULL�GLQDPLFH�D�PHPRULHL�úL�D�HOLEHU�ULL�DFHVWHLD�FX�DMXWRUXO�RSHUDWRULORU�QHZ úL�GHOHWH��ID ��GH�XWLOL]DUHD� IXQF LLORU� PDOORF�� FDOORF VDX� IUHH �YH]L� FDSLWROXO� ������� FRQVW� vQ� IDSWXO� F� RSHUDWRULL� DORF��HOLEHUHD]���PHPRULH�SHQWUX�RELHFWH��GDWH�GH�WLS�DEVWUDFW��$FHVW�OXFUX�HVWH�SRVLELO�GHRDUHFH�DFHúWL�RSHUDWRUL�DX�R�VXSUDvQF�UFDUH�JOREDO���VWDQGDUG��ÌQ� FD]XO� vQ� FDUH� VXSUDvQF�UFDUHD� VWDQGDUG� HVWH� LQVXILFLHQW��� XWLOL]DWRUXO� SRDWH� VXSUDvQF�UFD� RSHUDWRULL� SULQ��PHWRGH���LPSOLFLW���VWDWLFH��3HQWUX�RSHUDWRUXO�QHZ��IXQF LD�FDUH�VXSUDvQFDUF� RRSHUDWRUXO�QHZ DUH�SURWRWLSXO�

YRLG�� �QXPHBFODVD��RSHUDWRU�QHZ �VL]HBW�OXQJLPH��)XQF LD�UHWXUQHD]� XQ�SRLQWHU�JHQHULF�D�F�UXL�YDORDUH�HVWH�DGUHVD�GH�vQFHSXW�D�]RQHL�GH�PHPRULH�DORFDWH�GLQDPLF��7LSXO� VL]HBW HVWH� GHILQLW� vQ� VWGOLE�K �YH]L� FDSLWROXO� ������� /D� DSOLFDUHD� RSHUDWRUXOXL�� QX� VH� LQGLF� QLFL� R�YDORDUH� SHQWUX� SDUDPHWUXO� OXQJLPH �P�ULPHD� ]RQHL� GH� PHPRULH� QHFHVDUH� RELHFWXOXL� SHQWUX� FDUH� VH� DORF�GLQDPLF�PHPRULH���GHRDUHFH�FRPSLODWRUXO�R�GHWHUPLQ���DXWRPDW�0RGXO�GH�XWLOL]DUH�SHQWUX�RSHUDWRUXO�QHZ�

QXPHBFODVD� S� �QHZ�QXPHBFODVD�6DX� QXPHBFODVD� S� �QHZ�QXPHBFODVD�S���S���S���

Page 196: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

$SOLFDUHD�RSHUDWRUXOXL�QHZ VXSUDGHILQLW�GH�XWLOL]DWRU�GHWHUPLQ���DXWRPDW��DSHOXO�FRQVWUXFWRUXOXL�FRUHVSXQ]�WRU�FODVHL�� VDX� DO� FRQVWUXFWRUXOXL� LPSOLFLW�� ÌQ� D� GRXD� IRUP��� OD� DORFDUHD� GLQDPLF� D�PHPRULHL� DSDU� úL� SDUDPHWULL�FRQVWUXFWRUXOXL��S���S���S�����2SHUDWRUXO GHOHWH VH�VXSUDGHILQHúWH�SULQWU�R�IXQF LH�FX�SURWRWLSXO�

YRLG�QXPHBFODVD��RSHUDWRU�GHOHWH �YRLG� ��/D�DSOLFDUHD�RSHUDWRUXOXL�GHOHWH VH�DSHOHD]���DXWRPDW��GHVWUXFWRUXO�FODVHL�([HPSOH�

FODVV�F�^GRXEOH�Q���Q��

SXEOLF�F���^Q� ���Q� ��`

`�����������YRLG�PDLQ���^�F�� SF� QHZ�F�� ��VH�DORF� PHPRULH�SHQWUX�S�VWUDUHD�XQXL�RELHFW�GH�WLS�F�F�� SF� QHZ�F�������� ��RGDW� FX�DORFDUHD�GLQDPLF���VH�UHDOL]HD]� úL�LQL LDOL]DUHD`

2SHUDWRULL�QHZ��GHOHWH�SHUPLW�DORFDUHD�GLQDPLF� úL�SHQWUX�WDEORXUL�� ÌQ�DFHVWH�VLWXD LL��VH�XWLOL]HD]� vQWRWGHDXQD�RSHUDWRULL�VXSUDvQF�UFD L�JOREDO�SUHGHILQL L�úL�VH�DSHOHD]� FRQVWUXFWRUXO�I�U� SDUDPHWUL��GDF� DFHVWD�H[LVW���([HPSOX�

FODVV�F�^GRXEOH�Q���Q��

SXEOLF�F���^Q� ���Q� ��`F��GRXEOH�[��GRXEOH�\�

^Q� [��Q� \�``�F�� SFW��SFW� QHZ�F�>���@� � 6H� UH]HUY� PHPRULH� SWU�� ���� RELHFWH� GH� WLS� F��� 6H� DSHOHD]� FRQVWUXFWRUXO�LPSOLFLW�GH�����GH�RUL� �

`([HPSOX�

�LQFOXGH��LRVWUHDP�K!FODVV�QXPDU^� GRXEOH� Q�SXEOLF�

QXP�U��GRXEOH�QU���aQXP�U���GRXEOH�YDO��^UHWXUQ� Q�`

`�QXP�U��QXP�U�GRXEOH�QU��

^Q QHZ�GRXEOH�QU���`QXP�U��aQXP�U�� ^�GHOHWH�Q�`YRLG�PDLQ��

^QXP�U�D�������E���������QXP�U� S�� S�� S� QHZ�QXP�U��������FRXW��S���?Q� FRXW��S���?Q� S� D� FRXW���S� ���S���?Q� GHOHWH�S�� `

�������6835$Ì1&�5&$5($23(5$7258/8,��� �

Q ����D

Q ����E

Q �����S�

)LJXUD��������2ELHFWHOH�D��E��S� GH�WLS�QXP�U�úL�SRLQWHU�VSUH�QXP�U

Page 197: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

6XSUDvQF�UFDUHD�RSHUDWRUXOXL��DSHO�GH�IXQF LH� SHUPLWH�FUHDUHD�XQXL�RSHUDWRU�ELQDU��QHVWDWLF��GH�IRUPD�H[SUHVLH��OLVWDBSDUDPBHIHFWLYL��

$YDQWDMHOH�XQXL�DVWIHO�GH�RSHUDWRU�VXQW�� (YDOXDUHD�úL�YHULILFDUHD�OLVWHL�GH�DUJXPHQWH�vQ�PRG�VLPLODU�XQHL�IXQF LL�RELúQXLWH�� 0RGXO�GH�IXQF LRQDUH�D�PHFDQLVPXOXL�GH�DSHO��'HúL�RSHUDWRUXO�HVWH�ELQDU��FHO�GH�DO�GRLOHD�RSHUDQG�ILLQG�R�

OLVW� GH�DUJXPHQWH��LQFOXVLY�OLVW� YLG����IXQF LD�RSHUDWRU�SRDWH�DYHD�RULFk L�SDUDPHWUL�ÌQ� FD]XO� vQ� FDUH� QXPHOH� IXQF LHL� HVWH� XQ� SRLQWHU� F�WUH� R� DQXPLW� IXQF LH� �YH]L� SRLQWHUL� F�WUH� IXQF LL��� DSHOXO�IXQF LHL�VH�UHDOL]HD]� SULQ�

� SRLQWBI���OLVWDBSDUDPBHIHFWLYL��)XQF LD� FDUH� VXSUDvQFDUF� RSHUDWRUXO� WUHEXLH� V� ILH�PHWRG� QHVWDWLF��� 6XSUDvQF�UFDUHD� RSHUDWRUXOXL� �� � VH�XWLOL]HD]� vQ� PRG� IUHFYHQW� OD� GHILQLUHD� DúD�QXPLWXOXL� LWHUDWRU�� ,WHUDWRULL� VH� XWLOL]HD]� vQ� OHJ�WXU� FX� WLSXUL�DEVWUDFWH�GH�GDWH�� FDUH� FRQ LQ�FROHF LL� GH�HOHUPHQWH� �OLVWH�� DUERUL�� WDEHOH�GH�GLVSHUVLH�� HWF����3H� OkQJ� SURWHF LD�GDWHORU��LWHUDWRULL�RIHU� XQ�PLMORF�VLPSOX�GH�DFFHV�OD HOHPHQWHOH�XQHL�FROHF LL��I�U� D�LQWUD�vQ�GHWDOLLOH�OHJDWH�GH�LPSOHPHQWDUHD�FROHF LHL��LQGHSHQGHQ ��D�XWLOL]�ULL�XQHL�FROHF LL�úL�LPSOHPHQW�ULL�XQHL�FROHF LL���ÌQ�SULQFLSLX��XQ�LWHUDWRU� VH� LPSOHPHQWHD]� SULQWU�R� FODV� DWDúDW� XQXL� WLS� DEVWUDFW� FDUH� FRQ LQH�R� FROHF LH�GH� HOHPHQWH��)LH��GH�H[HPSOX��FODVD�FRQWDLQHU FDUH�HVWH�R�FROHF LH�GH�RELHFWH�GH� WLS�RDUHFDUH��FDUH�SRDWH�IL� LPSOHPHQWDW � FD�XQ�WDEORX� GH� RELHFWH�� FD� R� OLVW� GH� QRGXUL�� FD� XQ� DUERUH� ELQDU�� HWF�� ÌQ� IXQF LH� GH� DFHDVW� RUJDQL]DUH�� FODVD�FRQWDLQHU FRQ LQH�R�GDW� PHPEU� GH�WLS�RELHFW VDX�XQ�SRLQWHU�F�WUH RELHFW úL�HVWH�FDSDELO�V� OLYUH]H��SH�UkQG��RELHFWHOH�HOHPHQWH�DOH�FROHF LHL�

��������6835$Ì1&�5&$5($23(5$7258/8,��!6XSUDvQF�UFDUHD�RSHUDWRUXOXL�XQDU��! VH�UHDOL]HD]� SULQWU�R�PHWRG� QHVWDWLF�� ([SUHVLD�RELHFW��!�H[SUHVLH YD�IL�LQWHUSUHWDW� FD��RELHFW�RSHUDWRU�!����!H[SUHVLH'H�DFHHD��IXQF LD�RSHUDWRU�WUHEXLH�V� UHWXUQH]H�ILH�XQ�SRLQWHU�OD�XQ�RELHFW�DO�FODVHL��ILH�XQ�RELHFW�GH�XQ�WLS�SHQWUX�FDUH�HVWH�VXSUDGHILQLW�RSHUDWRUXO��!�([HPSOX�

�LQFOXGH��LRVWUHDP�K!W\SHGHI�VWUXFW�H[^ LQW�PHPEUX� `�FODVV�H[�^

H[� SRLQWHU�SXEOLF�

YRLG�VHW�H[�S� ^SRLQWHU S�`H[� �RSHUDWRU��!��YRLG� ^UHWXUQ�SRLQWHU�`

`�FODVV�H[�^

H[�� SRLQWHU�SXEOLF�

YRLG�VHW�H[��S��^SRLQWHU S�`H[�� �RSHUDWRU��!��YRLG� ^UHWXUQ�SRLQWHU�`

`�YRLG�PDLQ��^H[�$��H[��%��H[��&��%�VHW�$��%�!PHPEUX ��� ��DSHO�DO�IXQF LHL�H[���RSHUDWRU�!��FRXW��%�!PHPEUX��?Q� `

Page 198: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

([HUFL LX� 6H�LPSOHPHQWHD]�FODVD�PDWULFH��0DWULFHD�HVWH�SULYLW� FD�XQ�YHFWRU�GH�OLQLL�'DWH�PHPEUH��SURWHFWHG��

9 LQW�'LP��'LP�� ���QU��OLQLL��QU��FRORDQH9 GRXEOH� WDE� ���SRLQWHU�F�WUH�WDEORXO�FRPSRQHQWHORU9 LQW�HUU� ���LQGLFH�GH�HURDUH

0HWRGH�9 PDWULFH��LQW�GLP� ���LQW�GLP� ���&RQVWUXFWRU�PDWULFH��FX�DORFDUH�GLQDPLF��9 PDWULFH�FRQVW�PDWULFH�� &RQVWUXFWRU�GH�FRSLHUH9 aPDWULFH��� 'HVWUXFWRU��FX�UROXO�GH�D�HOLEHUD�PHPRULD�DORFDW� GLQDPLF�9 LQW�SXQH�LQW�LQG���LQW�LQG���GRXEOH�HOHP��

,QL LDOL]HD]� HOHPHQWXO�GH�LQGLFL��LQG���LQG���FX�YDORDUHD�WUDQVPLV� FD�DUJXPHQW��DO�WUHLOHD�SDUDPHWUX���ÌQWRDUFH�YDORDUHD�vQWUHDJ� ��GDF� LQGLFLL�VXQW�LQFRUHF L�

9 LQW�GLP���FRQVW� 0HWRG� FRQVWDQW� FDUH�UHWXUQHD]� QXP�UXO�GH�OLQLL�9 LQW�GLP����FRQVW� 0HWRG� FRQVWDQW� FDUH�UHWXUQHD]� QXP�UXO�GH�FRORDQH�9 LQW�QUHURUL���FRQVW�0HWRG� FRQVWDQW� �QX�SRDWH�PRGLILFD�RELHFWXO�FXUHQW��FDUH�UHWXUQHD]� YDORDUHD�GDWHL�PHPEUH�HUU�9 YRLG�DQXODUL��� 0HWRG� FDUH�DQXOHD]� LQGLFHOH�GH�HURDUH�9 GRXEOH�HOHP�LQW�LQG���LQW�LQG���FRQVW�

0HWRG� FRQVWDQW� FDUH�UHWXUQHD]� YDORDUHD�HOHPHQWXOXLOXL�GH�LQGLFL��LQG��LQG���9 IULHQG�RVWUHDP�RSHUDWRU���RVWUHDP���FRQVW�PDWULFH��

6XSUDvQF�UFDUHD�RSHUDWRUXOXL�GH�LQVHU LH�SULQWU�R�IXQF LH�PHPEU���$SHOHD]� PHWRGD�DILúDUH�9 YRLG�DILúDUH�RVWUHDP��FRQVW�9 PDWULFH�RSHUDWRU �FRQVW�PDWULFH��6XSUDvQF�UFDUHD� RSHUDWRUXOXL� GH� DWULEXLUH� SULQWU�R� IXQF LH� PHPEU��� $� IRVW� QHFHVDU�

VXSUDvQF�UFDUHD�RSHUDWRUXOXL�GH�DWULEXLUH�GDWRULW� IDSWXOXL�F� DFHDVW� FODV� FRQ LQH�SRLQWHUL�F�WUH�GDWHOH�PHPEUH�

9 LQW�GLPWDE��FRQVW�0HWRG� FRQVWDQW� FDUH�UHWXUQHD]� QXP�UXO�GH�HOHPHQWH�GLQ�PDWULFH��'LP� 'LP���

9 YLUWXDO�LQW�FRPSDUDUH�FRQVW�PDWULFH��FRQVW �0HWRG� FRQVWDQW� FDUH�FRPSDU� RELHFWXO�FXUHQW�FX�RELHFWXO�SULPLW�FD�DUJXPHQW��������

9 PDWULFH�RSHUDWRU��FRQVW�PDWULFH��FRQVW�2SHUDWRU�GH� DGXQDUH� VXSUDvQF�UFDW�SULQ�PHWRG� FRQVWDQW� FDUH� UHWXUQHD]� R�PDWULFH� �vQWRDUFH�R� FRSLH�FDUH�SRDWH� IL�XWLOL]DW� vQ�SURJUDPXO�DSHODQW�� UHSUH]HQWkQG�VXPD�GLQWUH�RELHFWXO�FXUHQW� úL�FHO�SULPLW�FD�DUJXPHQW�������

9 PDWULFH�RSHUDWRU��FRQVW�PDWULFH��FRQVW�2SHUDWRU� GH� VF�GHUH� VXSUDvQF�UFDW� SULQ�PHWRG� FRQVWDQW� FDUH� UHWXUQHD]� R�PDWULFH� �vQWRDUFH� R� FRSLH�FDUH�SRDWH� IL�XWLOL]DW� vQ�SURJUDPXO�DSHODQW�� UHSUH]HQWkQG�VXPD�GLQWUH�RELHFWXO�FXUHQW� úL�FHO�SULPLW�FD�DUJXPHQW�

9 PDWULFH�RSHUDWRU� �FRQVW�PDWULFH��2SHUDWRU� VXSUDvQF�UFDW� SULQ� PHWRG��� GHRDUHFH� vQWRWGHDXQD� RSHUDQGXO� VWkQJ� HVWH� GH� WLSXO�PDWULFH�� (VWH�IRORVLW�vQ�H[SUHVLL�FXP�DU IL����D� E���D�úL�E�GH�WLSXO�PDWULFH��

9 PDWULFH�RSHUDWRU� �FRQVW�PDWULFH��2SHUDWRUXO� � � VXSUDvQF�UFDW�SULQ�PHWRG��� GHRDUHFH� vQWRWGHDXQD�RSHUDQGXO� VWkQJ�HVWH�GH� WLSXO�PDWULFH��(VWH�IRORVLW�vQ�H[SUHVLL�FXP�DU�IL����D� E���D�úL�E�GH�WLSXO�PDWULFH��

9 IULHQG PDWULFH�RSHUDWRU �GRXEOH��FRQVW�PDWULFH��2SHUDWRU�VXSUDvQF�UFDW�SULQ�IXQF LH�SULHWHQ���SHQWUX�D�SXWHD�IL�XWLOL]DW�vQ�H[SUHVLL�Q 0��XQGH�Q�HVWH�GH�WLS�UHDO�VDX�vQWUHJ�úL�0�GH�WLSXO�PDWULFH�

9 PDWULFH�RSHUDWRU �FRQVW�PDWULFH��FRQVW�2SHUDWRU� VXSUDvQF�UFDW� SULQ� IXQF LH�PHPEU��� FDUH� vQPXO HúWH�RELHFWXO� FXUHQW� �WLS�PDWULFH�� FX�RELHFWXO�SULPLW�FD�DUJXPHQW��WRW�WLS�PDWULFH��

Page 199: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

9 LQW�LQGWDE�LQW�L�LQW�M��FRQVW�0HWRG� FDUH� UHWXUQHD]� LQGLFHOH� GLQ� WDEORXO� XQLGLPHQVLRQDO� �PDWULFHD� HVWH� SULYLW� FD� XQ� WDEORX�XQLGLPHQVLRQDO��FX�HOHPHQWHOH�PHPRUDWH�vQWU�XQ�WDEORX�XQLGLPHQVLRQDO��vQWkL�HOHPHQWHOH�SULPHL�OLQLL��vQ�FRQWLQXDUH�HOHPHQWHOH�FHOHL�GH�D�GRXD�OLQLL��HWF���SHQWUX�HOHPHQWXO>L@>M@�

9 LQW�HULQG�LQW��LQW��FRQVW� 0HWRG� FDUH�WHVWHD]� HYHQWXDOHOH�HURUL�GH�LQGH[DUH�9 PDWULFH�WUDQVS���FRQVW� 0HWRGD�FDOFXOHD]� úL�UHWXUQHD]� PDWULFHD�WUDQVSXV� SHQWUX�RELHFWXO�

FXUHQW��1X�PRGLILF� RELHFWXO�FXUHQW�9 GRXEOH�RSHUDWRU������LQW�L��LQW�M��

6XSUDvQF�UFDUHD�RSHUDWRUXOXL���� SULQ�PHWRG� D�FODVHL�FDUH�UHWXUQHD]� YDORDUHD�HOHPHQWXOXL�GH�LQGLFL�L�úL�M�SHQWUX�RELHFWXO�FXUHQW��VDX���vQ�FD]XO�vQ�FDUH�DSDUH�R�HURDUH�GH�LQGH[DUH��YH]L�úL�PHWRGD� HOHP���$SHOXO�PHWRGHL�HOHP��$�HOHP������ HVWH�HFKLYDOHQW�FX�DSHOXO�$�������

��),6,(58/��PDWULFH�K�LIQGHI�BLRVWUHDPBK�LQFOXGH��LRVWUHDP�K!�GHILQH�BLRVWUHDPBK�HQGLIFODVV�PDWULFH^

LQW�'LP��'LP��GRXEOH� WDE�LQW�HUU�

SXEOLF�PDWULFH��LQW�GLP� ��LQW�GLP� ���PDWULFH�FRQVW�PDWULFH��aPDWULFH���LQW�SXQH�LQW�LQG���LQW�LQG���GRXEOH�HOHP��

��SXQH�HOHP��HOHP�SH�SR]��GH�LQGLFL��LQG���LQG����vQWRDUFH���GDF� LQGLFLL�VXQW�LQFRUHF LIULHQG�RVWUHDP�RSHUDWRU���RVWUHDP���FRQVW�PDWULFH��PDWULFH�WUDQVS���FRQVW�PDWULFH�RSHUDWRU �FRQVW�PDWULFH��LQW�GLP���FRQVW ^UHWXUQ�'LP��`LQW�GLP����FRQVW ^UHWXUQ�'LP��`LQW�GLPWDE���FRQVW�LQW�QUHURUL���FRQVW ^UHWXUQ�HUU�`YRLG�DQXOHURUL�� ^HUU ��`GRXEOH�HOHP�LQW�LQG���LQW�LQG���FRQVW� ��vQWRDUFH�YDO��HOHP�OXL�GH�LQGLFL��LQG��LQG��LQW�FRPSDUDUH�FRQVW�PDWULFH��FRQVW�PDWULFH�RSHUDWRU��FRQVW�PDWULFH��FRQVW�PDWULFH�RSHUDWRU��FRQVW�PDWULFH��FRQVW�PDWULFH�RSHUDWRU� �FRQVW�PDWULFH��PDWULFH�RSHUDWRU� �FRQVW�PDWULFH��IULHQG�PDWULFH�RSHUDWRU �GRXEOH��FRQVW�PDWULFH��PDWULFH�RSHUDWRU �FRQVW�PDWULFH��FRQVW����375�0$75,&,�6,0(75,&(�GRXEOH�RSHUDWRU���LQW�L��LQW�M��

SULYDWH�LQW�LQGWDE�LQW�L�LQW�M��FRQVW

^UHWXUQ�L 'LP��M�`��LQGLFHOH�GLQ�WDE�DO�XQXL�HOHP�

LQW�HULQG�LQW��LQW��FRQVW���WHVW�HU��GH�LQGH[DUH

YRLG�DILVDUH�RVWUHDP��FRQVW�

Page 200: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

PDWULFH�LQY���FRQVW�`����),6,(58/�PDWULFH�FSS�LIQGHI�BPDWULFHBK�LQFOXGH��PDWULFH�K��GHILQH�BPDWULFHBK�HQGLIPDWULFH��PDWULFH��LQW�G��LQW�G�����FRQVWUXFWRU�PDWULFH

^LQW�N�GWDE� HUU ��LI��G�� ��__�G�� �� ^'LP� ��'LP� ��WDE ��`HOVH^ GWDE G� G�� WDE QHZ�GRXEOH>GWDE@�

LI��WDE� �� ^�'LP� G��'LP� G��IRU��N ��N�GWDE�N��� WDE>N@ ��FRXW���&RQVWUXLW�PDWU��GH�GLP�����G� G���?Q�`HOVH�^'LP� ��'LP� ��HUU ��FRXW���&RQVWUXLW�PDWU��GH�GLP������ ?Q�`

``

PDWULFH��PDWULFH�FRQVW�PDWULFH�0���FRQVWUXFWRU�FRSLHUH

^FRXW���&RQVWUXFWRU�FRSLHUH�?Q��HUU ��LQW�N�GWDE�LI��0�'LP�� ��__�0�'LP�� �� ^'LP� ��'LP� ��WDE ��`HOVH^ GWDE 0�'LP� 0�'LP��WDE QHZ�GRXEOH>GWDE@�

LI��WDE� ��^�'LP� 0�'LP���'LP� 0�'LP��IRU��N ��N�GWDE�N���

WDE>N@ 0�WDE>N@�`

HOVH�^'LP� ��'LP� ��```

PDWULFH��aPDWULFH��^�LI��WDE� ���GHOHWH�>@�WDE�`

LQW�PDWULFH��SXQH�LQW�L�LQW M��GRXEOH�YDO�^�LQW�LUHW��LUHW HULQG�L�M���LI��LUHW� �� UHWXUQ�LUHW�WDE>LQGWDE�L�M�@ YDO��UHWXUQ���`

LQW�PDWULFH��HULQG�LQW�L�LQW�M��FRQVW^�LI��'LP� ��__'LP� �� UHWXUQ���LI��L���__�L! 'LP��__�M���__�M! 'LP�� UHWXUQ���UHWXUQ���`

YRLG�PDWULFH��DILVDUH�RVWUHDP��LHV��FRQVW^�LQW�L�M�LI��WDE� ��^LHV��?Q�IRU��L ��L�'LP��L���^

IRU��M ��M�'LP��M���LHV��WDE>LQGWDE�L�M�@����

FRXW��?Q�```

RVWUHDP�RSHUDWRU���RVWUHDP�LHV��FRQVW�PDWULFH�0�

Page 201: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

^�0�DILVDUH�LHV��UHWXUQ�LHV�`PDWULFH�PDWULFH��RSHUDWRU �FRQVW�PDWULFH�0�

^�LQW�N�GWDE�YGWDE�FRXW���2SHUDWRU�DWULEXLUH�?Q��HUU 0�HUU�GWDE 0�'LP� 0�'LP����GLPHQV��0LI��GWDE ��^�'LP� ��'LP� ��

LI��WDE ��^GHOHWH�>@�WDE�WDE ��``HOVH^�YGWDE 'LP� 'LP��

LI��YGWDE� GWDE�^GHOHWH�>@�WDE�WDE QHZ�GRXEOH�>GWDE@�

LI��WDE� ��^'LP� ��'LP� ��HUU ��``LI��WDE� ��^

'LP� 0�'LP��'LP� 0�'LP��IRU��N ��N�GWDE�N���

WDE>N@ 0�WDE>N@�``UHWXUQ� WKLV� `

LQW�PDWULFH��FRPSDUDUH�FRQVW�PDWULFH�0��FRQVW^�LQW�N�GWDE�LI��0�'LP�� 'LP��__�0�'LP�� 'LP���UHWXUQ���GWDE 'LP� 'LP��IRU��N ��N�GWDE�N���LI��0�WDE>N@� WDE>N@����UHWXUQ���

UHWXUQ��� `PDWULFH�PDWULFH��RSHUDWRU��FRQVW�PDWULFH�%��FRQVW

^�PDWULFH�&�LQW�N�GWDE�LI��'LP�� %�'LP��__�'LP�� %�'LP��&�HUU ��HOVH^GWDE 'LP� 'LP����&�WDE QHZ�GRXEOH�>GWDE@�LI��&�WDE �����^&�'LP� ���&�'LP� ���&�HUU ���`HOVH�����^&�'LP� 'LP��&�'LP� 'LP��

LI��GWDE� ��IRU��N ��N�GWDE�N���� &�WDE>N@ WDE>N@�%�WDE>N@�

``UHWXUQ�&� `

PDWULFH�PDWULFH��RSHUDWRU��FRQVW�PDWULFH�%��FRQVW^�PDWULFH�&�LQW�N�GWDE�LI��'LP�� %�'LP��__�'LP�� %�'LP����������&�HUU ��HOVH^GWDE 'LP� 'LP��&�WDE QHZ�GRXEOH�>GWDE@�LI��&�WDE �������^&�'LP� ���&�'LP� ���&�HUU ���`HOVH��� ^&�'LP� 'LP��&�'LP� 'LP��

LI��GWDE� ��IRU��N ��N�GWDE�N����&�WDE>N@ WDE>N@ �%�WDE>N@�

``

UHWXUQ�&� `PDWULFH�PDWULFH��RSHUDWRU� �FRQVW�PDWULFH�%�

^�LQW�GWDE�LI��'LP�� %�'LP��__�'LP�� %�'LP��� HUU���HOVH�^�GWDE 'LP� 'LP��

LI��GWDE� ��IRU��LQW�N ��N�GWDE�N������WDE>N@� %�WDE>N@�

Page 202: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

`UHWXUQ� WKLV� `

PDWULFH�PDWULFH��RSHUDWRU� �FRQVW�PDWULFH�%�^�LQW�GWDE�LI��'LP�� %�'LP��__�'LP�� %�'LP��

HUU���HOVH�^� GWDE 'LP� 'LP��LI��GWDE� ��

IRU��LQW�N ��N�GWDE�N������WDE>N@ � %�WDE>N@�`UHWXUQ� WKLV� `

PDWULFH�RSHUDWRU �GRXEOH�D��FRQVW�PDWULFH�%�^�LI��%�WDE ����^�PDWULFH�&��&�HUU %�HUU��UHWXUQ�&�`^�LQW�N�GWDE�� PDWULFH�&�%�'LP���%�'LP���LI��%�WDE ������^&�HUU ��UHWXUQ�&�`GWDE &�'LP� &�'LP���IRU��N ��N�GWDE�N�����&�WDE>N@ D %�WDE>N@�UHWXUQ�&�``

PDWULFH�PDWULFH��RSHUDWRU �FRQVW�PDWULFH�%��FRQVW^�LI��'LP�� %�'LP���������^�PDWULFH�&��&�HUU ���UHWXUQ�&�`LI��WDE ���%�WDE ����^PDWULFH�&��UHWXUQ�&�`LI��WDE ��__�%�WDE ����^PDWULFH�&��&�HUU ���UHWXUQ�&�`^�LQW�L�M�N��GRXEOH�6��PDWULFH�&�'LP���%�'LP���LI��&�WDE �����^�&�HUU ���UHWXUQ�&�`IRU��L ��L�'LP��L���

IRU��M ��M�%�'LP��M���^�6 ��

IRU��N ��N�'LP��N���6� WDE>LQGWDE�L�N�@ %�WDE>%�LQGWDE�N�M�@�

&�WDE>&�LQGWDE�L�M�@ 6�`

UHWXUQ�&�`

`PDWULFH�PDWULFH��WUDQVS���FRQVW

^�LQW�L�M�GWDE��GWDE 'LP� 'LP��LI��GWDE ����������^PDWULFH�&��&�HUU HUU��UHWXU Q�&��`^�PDWULFH�&�'LP��'LP���LI��&�WDE ����������^&�HUU ���UHWXUQ�&��`IRU��L ��L�&�'LP��L���

IRU��M ��M�&�'LP��M���&�WDE>&�LQGWDE�L�M�@ WDE>LQGWDE�M�L�@�

UHWXUQ�&�``

GRXEOH�PDWULFH��HOHP�LQW�L�LQW�M��FRQVW^�LI��HULQG�L�M����������UHWXUQ���UHWXUQ�WDE>LQGWDE�L�M�@�`

LQW�PDWULFH��GLPWDE���FRQVW^�UHWXUQ�'LP� 'LP���`

� 375��0$75,&,�6,0(75,&(�GRXEOH�PDWULFH��RSHUDWRU����LQW�L��LQW�M�

^�LI��HULQG�L�M����UHWXUQ���UHWXUQ�WDE>LQGWDE�L�M�@�

` �

Page 203: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

���),6,(58/�WHVWBPDWULFH�FF�LIQGHI�BLRVWUHDPBK�LQFOXGH��LRVWUHDP�K!�GHILQH�BLRVWUHDPBK�HQGLI�LIQGHI�BPDWULFHBK�LQFOXGH��PDWULFH�K��GHILQH�BPDWULFHBK�HQGLIYRLG�PDLQ��^LQW�0�1��FRXW����1U��OLQLL����FLQ!!0��FRXW����1U��FRORDQH����FLQ!!1�^PDWULFH�$�0�1��%������PDWULFH�&���LQW�L�M��GRXEOH�YDO����LQWURGXF�PDWU��$�0�1�IRU��L ��L�0�L���

IRU��M ��M�1�M����^FRXW���$>���L�������M���@ ���FLQ!!YDO�$�SXQH�L�M�YDO���`

FRXW���0DWU��LQWURGXVD�?Q��FRXW��$��?Q�PDWULFH�(�$�����DSHO�FRQVWU��FRSLHUHFRXW���( ���(��?Q��PDWULFH�' $�������������������� ��FRQVWU��FRSLHUHFRXW���' ���'��?Q��PDWULFH�)�0�1��FRXW���,QDLQWH�GH�DWULE��) ?Q��FRXW��)��?Q�) $�FRXW���'XSD�DWULE�) ?Q���)��?Q�LQW�FRPS )�FRPSDUDUH�$��LI��FRPS ������FRXW���0DWULFL�LGHQWLFH?Q���HOVH�LI��FRPS ���������FRXW���0DWULFL�GH�GLP��GLIHULWH� ?Q��HOVH����FRXW���0DWU��FX�HOHP��GLIHULWH�?Q��(�SXQH�������������FRPS (�FRPSDUDUH�$��LI��FRPS ������FRXW���0DWULFL�LGHQWLFH?Q���HOVH�LI��FRPS ���������FRXW���0DWULFL�GH�GLP��GLIHULWH �?Q��HOVH����FRXW���0DWU��FX�HOHP��GLI�?Q��FRXW���$�$ ����$�$���?Q�FRXW���$�$ ����$�$���?Q�$� (��FRXW���$ ���$��?Q�FRXW���' $����' $���?Q�FRXW���$ ���$��?Q�FRXW���$ $ ����$ $���?Q��FRXW���$�WUDQVS�����?Q�`PDWULFH�*���� `

��������&219(56,,([LVW� XUP�WRDUHOH�WLSXUL�GH�FRQYHUVLL�� &RQYHUVLL�LPSOLFLWH�� &RQYHUVLL�H[SOLFLWH�&RQYHUVLLOH�LPSOLFLWH DX�ORF�vQ�XUP�WRDUHOH�VLWXD LL�� ÌQ�FD]XO�DSOLF�ULL�RSHUDWRUXOXL�GH�DWULEXLUH��RSHUDQGXO�GUHSW�HVWH�FRQYHUWLW�OD�WLSXO�RSHUDQGXOXL�VWkQJ�� /D� �DSHOXO�XQHL� IXQF LL��'DF� WLSXO�SDUDPHWULORU�HIHFWLYL� �GH�DSHO��GLIHU� GH� WLSXO�SDUDPHWULORU� IRUPDOL��VH�

vQFHDUF� FRQYHUVLD�WLSXOXL�SDUDPHWULORU�HIHFWLYL�OD�WLSXO�SDUDPHWULORU�IRUPDOL�� /D� UHYHQLUHD� GLQWU�R� IXQF LH�� 'DF� IXQF LD� UHWXUQHD]� R� YDORDUH� vQ� SURJUDPXO� DSHODQW�� OD� vQWkOQLUHD��

LQVWUXF LXQLL�UHWXUQ H[SUHVLH� VH�vQFHDUF� FRQYHUVLD�WLSXOXL�H[SUHVLHL�OD�WLSXO�VSHFLILFDW�vQ�DQWHWXO�IXQF LHL�&RQYHUVLLOH�H[SOLFLWH SRW�IL��D� WLSBSUHGHILQLWB�� �!� WLSBSUHGHILQLWB�E� WLSBSUHGHILQLW����� �!� WLSBGHILQLWBGHBXWLOL]DWRU��FODV��

Page 204: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

F� FODV� �!� WLSBSUHGHILQLWG� FODV�B� �!� FODV�B�

����������&219(56,,�',1�7,3�35('(),1,7��Ì1�7,3�35('(),1,7�3HQWUX�UHDOL]DUHD�XQRU�DVWIHO�GH�FRQYHUVLL��VH�IRORVHúWH�RSHUDWRUXO�XQDU�GH�FRQYHUVLH�H[SOLFLW � �FDVW���GH�IRUPD�

�WLS��RSHUDQG([HPSOX�

LQW�N��GRXEOH�[�[� ��GRXEOH��N����N����� � ÌQ� � VLWXD LD� vQ� FDUH� VH� GRUHúWH� RE LQHUHD� � UH]XOWDWXOXL� UHDO� DO� vPS�U LULL� vQWUHJXOXL� N� OD� N���� WUHEXLH�UHDOL]DW� R�FRQYHUVLH�H[SOLFLW���YH]L�FDSLWROXO������ �

ÌQ�OLPEDMXO�&���DFHODúL�HIHFW�VH�SRDWH�RE LQH�úL�DVWIHO��[ �GRXEOH��N�����N����

GHRDUHFH�VH�DSHOHD]� H[SOLFLW�FRQVWUXFWRUXO�WLSXOXL�GRXEOH�

����������&219(56,,�',1�7,3�35('(),1,7�Ì1�&/$6 �$VWIHO�GH�FRQYHUVLL�VH�SRW�UHDOL]D�DWkW� LPSOLFLW��FkW�úL�H[SOLFLW��vQ�FD]XO�vQ�FDUH�SHQWUX�FODVD�UHVSHFWLY� H[LVW� XQ�FRQVWUXFWRU�FX�SDUDPHWUL�LPSOLFL L��GH��WLSXO�SUHGHILQLW��([HPSOX� 3HQWUX�FODVD��IUDF LH GHILQLW� vQ�FXUVXULOH�DQWHULRDUH�

FODVV��IUDF LH^LQW�QUW��QPW�

SXEOLF�IUDF LH��LQW�QUW� ����LQW�QPW� ���������� �

`�IUDF LH�I�I� ������ � &RQYHUVLH� ,03/,&,7��� vQDLQWHD� DWULEXLULL� VH� FRQYHUWHúWH� � RSHUDQGXO� GUHSW� �GH� WLS� LQW�� OD� WLSXO�RSHUDQGXOXL�VWkQJ��WLS�IUDF LH��� �I� �IUDFWLH������ &RQYHUVLH�(;3/,&,7���VH�FRQYHUWHúWH�vQWUHJXO����vQWU�XQ�RELHFW�DO�FODVHL�IUDF LH��QUW ���úL�QPW ���� �

`

����������&219(56,,�',1�&/$6� Ì1�7,3�35('(),1,7$FHVW�WLS�GH�FRQYHUVLH�VH�UHDOL]HD]� SULQWU�XQ�RSHUDWRU�VSHFLDO��FDVW��FDUH�FRQYHUWHúWH�RELHFWXO�GLQ�FODV� OD�WLSXO�SUHGHILQLW��2SHUDWRUXO�GH�FRQYHUVLH�H[SOLFLW� VH�VXSUDvQFDUF� SULQWU�R�IXQF LH�PHPEU� QHVWDWLF��

QXPHBFODVD���RSHUDWRU�QXPHBWLSBSUHGHILQLW����/D�DSOLFDUHD�RSHUDWRUXOXL�VH�IRORVHúWH�XQD�GLQ�FRQVWUXF LLOH�

�QXPHBWLSBSUHGHILQLW�RELHFW�QXPHBWLSBSUHGHILQLW��RELHFW��

([HPSOX� 3HQWUX�FODVD�IUDF LH��V� VH�VXSUDvQFDUFH�RSHUDWRUXO�GH�FRQYHUVLH�H[SOLFLW���FDUH�V� UHDOL]H]H�FRQYHUVLL�IUDF LH��!�LQW�

�LQFOXGH��LRVWUHDP�K!FODVV�IUDF LH^

ORQJ�QUW��QPW�

Page 205: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

SXEOLF�IUDF LH�LQW�Q ���LQW��P ����������^QUW Q��QPW P�`IULHQG�RVWUHDP�RSHUDWRU���RVWUHDP���FRQVW�IUDF LH���RSHUDWRU�LQW��� ^UHWXUQ�QUW�QPW�` ��FRQYHUVLH�IUDF LH��!�LQW

`�RVWUHDP�RSHUDWRU���RVWUHDP�LHV��FRQVW�IUDF LH�I�

^LHV�����I�QUW�����I�QPW����?Q���UHWXUQ�LHV�`YRLG�PDLQ��^ IUDF LH�D�������E�����F���LQW��L ���M �������F D����F ������

FRXW���IUDF LH������?Q���FRXW����LQW�D ����LQW�D��?Q����FRQYHUVLH�H[SOLFLW�FRXW���LQW�D� ���LQW�D���?Q�����FRQYHUVLH�H[SOLFLW�LQW�[ D� ��FRQYHUVLD�VH�IDFH�LPSOLFLW��vQDLQWH�GH�DWULEXLUH

`

����������&219(56,,�',1�&/$6���Ì1�&/$6��&RQYHUVLD� GLQ� WLSBDEVWUDFWB� vQ� WLSBDEVWUDFWB� �GLQ� FODV�� vQ� FODV����� VH� UHDOL]HD]� FX� DMXWRUXO� XQXL�FRQVWUXFWRU�DO�FODVHL���FDUH�SULPHúWH�FD�SDUDPHWUL�RELHFWH�GLQ�FODVD����IUDF LH��!�FRPSOH[��([HPSOX�

�LQFOXGH��LRVWUHDP�K!FODVV�IUDF LH^

LQW��QUW��QPW�SXEOLF�

IUDF LH�LQW�QU ���LQW�QP �� ^QUW QU��QPW QP�`RSHUDWRU�LQW���FRQVW ^UHWXUQ�QUW�QPW�` ��FRQYHUVLH�IUDF LH��!�LQWIULHQG�RVWUHDP�RSHUDWRU���RVWUHDP��FRQVW�IUDF LH��IULHQG�FODVV�FRPSOH[�

� FOV��FRPSOH[�HVWH�FODVD�SULHWHQD�SWU��FODVD�IUDF LH��ILHFDUH�IXQF LH�GLQ�FRPSOH[�HVWH�SULHWHQD�SHQWUX�IUDF LH �LQW�vQWUHJ��^UHWXUQ�QUW�QPW�`

`�RVWUHDP�RSHUDWRU����RVWUHDP�RVWU��FRQVW�IUDF LH�I�

^RVWU�����I�QUW�����I�QPW����?Q��UHWXUQ�RVWU�`FODVV�FRPSOH[^

GRXEOH�UH��LP�SXEOLF�

FRPSOH[��GRXEOH�U ���GRXEOH�L ����������^UH U��LP L�`FRPSOH[��IUDF LH�I� ^UH �GRXEOH�I�QUW�I�QPW��LP ��`

���FRQYHUVLH�IUDF LH�!FRPSOH[RSHUDWRU�GRXEOH���FRQVW ^UHWXUQ�UH�`��FRQYHUVLH�FRPSOH[�!GRXEOHIULHQG�RVWUHDP�RSHUDWRU���RVWUHDP���FRQVW�FRPSOH[���

`�RVWUHDP�RSHUDWRU���RVWUHDP�LHV��FRQVW�FRPSOH[�]�

^LHV�����]�UH�����]�LP���� ?Q���UHWXUQ�LHV�`YRLG�PDLQ��^ FRPSOH[�D�������������E�����F��G��H��T��V��LQW�L ����M ���N�

GRXEOH�[ ����������\ ���������X��]��F L��IUDFWLH�U��������U������W�G [����FRQYHUVLH�GRXEOH�!FRPSOH[ �FRQVWUXFWRU�FRPSOH[�FX�DUJ��GRXEOH�H FRPSOH[�\�M�����DSHO�H[SOLFLW�DO�FRQVWU��FRPSOH[��vQWkL�FRQYHUVLH�M�GH�OD�LQW�OD�GRXEOHN D� ��FRQYHUVLH�FRPSOH[�!GRXEOH�!LQW

Page 206: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

X D� ��FRQYHUVLH�FRPSOH[�!GRXEOH] �GRXEOH�D��� ��FRQYHUVLH�FRPSOH[�!GRXEOHFRXW���U ���U����T ���T��?Q�FRXW���LQW�U� ���LQW�U������LQW�U ����LQW�U�� ?Q���FRQYHUVLH�IUDFWLH�!LQWFRXW���U ���U��?Q� FRXW��U�LQWUHJ����?Q�V U� ���FRQYHUVLH�IUDF LH�!FRPSOH[FRXW����FRPSOH[�U ����FRPSOH[�U����FRPSOH[��U� ���FRPSOH[��U���?Q����FRQYHUVLH�IUDF LH�!FRPSOH[

`

Ì175(%�5,�ù,�(;(5&,�,,&KHVWLXQL�WHRUHWLFH�� &XP�VH�UHDOL]HD]� FRQYHUVLD�GLQ�FODV���vQ�FODV��"�'D L�XQ�H[HPSOX��� 3ULQ�FH�PRGDOLW� L�VH�SRW�VXSUDvQF�UFD�RSHUDWRULL"�� ÌQ�FH�VLWXD LL�VH�UHDOL]HD]� FRQYHUVLLOH�LPSOLFLWH"�� &XP�VH�SRDWH�UHDOL]D�FRQYHUVLD�GLQWU�XQ�WLS�DEVWUDFW��FODV���vQWU�XQ�WLS�SUHGHILQLW"�([HPSOX��� &H�REVHUYD LL�SXWH L�IDFH�vQ�OHJDWXU� FX�DULWDWHD�XQXL�RSHUDWRU�úL�PRGXO�GH�VXSUDvQFDUFDUH�D�DFHVWXLD"�� &XP�VH�UHDOL]HD]� FRQYHUVLD�GLQ�WLS�SUHGHILQLW�vQ�FODV�"�� &H�UHVWULF LL�LPSXQH�PHFDQLVPXO�GH�VXSUDvQF�UFDUH�D�RSHUDWRULORU"�� ÌQ�FD]XO�VXSUDGHILQLULL�PHWRGHORU��FXP�VH�SRDWH�UHDOL]D�VHOHF LD�XQHL�PHWRGH "

Page 207: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

&KHVWLXQL�SUDFWLFH�� 3HQWUX�WRDWH�WLSXULOH�GH�GDWH�LPSOHPHQWDWH��V� VH�FRPSOHWH]H�SURJUDPHOH�GH�WHVW��DVWIHO�vQFkW�V�

VH�YHULILFH�WR L�RSHUDWRULL�VXSUDvQF�UFD L��� 3HQWUX� FODVD� IUDF LH�� V� VH� VXSUDvQFDUFH� RSHUDWRUXO� XQDU� ��� SULQWU�R� IXQF LH� PHPEU� úL�

RSHUDWRUXO��� SULQWU�R�IXQF LH�SULHWHQ���6� VH�FRPSOHWH]H�IXQF LD�PDLQ��DVWIHO�vQFkW�V� VH�WHVWH]H�WR L�RSHUDWRULL�VXSUDGHILQL L�

�� )LH� FODVD� FRPSOH[�� FX� GDWHOH� PHPEUH� SDUWH� UHDOD� úL� SDUWH� LPDJLQDU ��� 6� VH� VXSUDvQFDUFH�RSHUDWRUXO�H[WUDFWRU��6� VH�VXSUDvQFDUFH�RSHUDWRUXO�ELQDU�GH�vPS�U LUH��FDUH�UHDOL]HD]� RSHUD LL�GH� IRUPD� F�G�� XQGH� F� HVWH� FRPSOH[� úL� G� HVWH� UHDO�� 6� VH� VXSUDvQFDUFH� RSHUDWRUXO� GH� VF�GHUH�SULQWU�R�IXQF LH�PHPEU��

�� )LH�FODVD�IUDF LH��FX�PHPEULL�QXPLWRU�úL�QXP�U�WRU��6� VH�VXSUDvQFDUFH�RSHUDWRUXO���ELQDU�DVWIHO�vQFkW� V� VH� SRDWD� UHDOL]D� RSHUD LL� GH� IRUPD� E�I�� XQGH� E� HVWH� vQWUHJ�� LDU� I� HVWH� IUDF LH�� 6� VH�VXSUDvQFDUFH�RSHUDWRUXO����FDUH�UHDOL]HD]� LQFUHPHQWDUHD�XQHL�IUDF LL�

�� )LH� FODVD� úLU�� GHFODUDW� FRQIRUP� PRGHOXOXL� GLQ� FXUV�� 6� VH� GHILQHDVFD� SHQWUX� DFHDVWD� XQ�FRQVWUXFWRU�GH�FRSLHUH��6� VH�VXSUDvQFDUFH�RSHUDUDWRUXO� FDUH�FRPSDU� GRX� úLUXUL�

�� )LH�FODVD�IUDF LH��FX�PHPEULL�QXPLWRU�úL�QXP�U�WRU��6� VH�VXSUDvQFDUFH�RSHUDWRUXO�LQVHUWRU��6�VH�VXSUDvQFDUFH�RSHUDWRUXO�ELQDU�GH�vQPXO LUH��SULQWU�R�IXQF LH�PHPEU��

�� )LH�FODVD�FRPSOH[��6� VH�VXSUDvQFDUFH�RSHUDWRUXO�GH�vQPXO LUH�D���QXPHUH�FRPSOH[H��SULQWU�R�IXQF LH�SULHWHQ���6� VH�VXSUDvQFDUFH�RSHUDWRUXO�GH�vQPXO LUH��DVWIHO�vQFkW�VD�ILH�SRVLELOH�RSHUD LL�GH� IRUPD� F D�� XQGH� D� HVWH� XQ� vQWUHJ�� LDU� F� HVWH� XQ� RELHFW� GH� WLS� DEVWUDFW� FRPSOH[�� 6 � VH�VXSUDvQFDUFH�RSHUDWRUXO�GH�vPS�U LUH�D�GRX� RELHFWH�FRPSOH[H��SULQWU�R�IXQF LH�PHPEU���6� VH�VXSUDvQFDUFH� RSHUDWRUXO� ± XQDU� FDUH� VFKLPE� VHPQXO� S�U LORU� UHDOH� úL� LPDJLQDUH� DOH� XQXL�FRPSOH[�

�� )LH� FODVD� úLU��6� VH� VXSUDvQFDUFH�RSHUDWRUXO��� FDUH� UHDOL]HD]� FRQFDWHQDUHD� D��� úLUXUL��6� VH�LPSOHPHQWH]H� PHWRGD� FDXW�BQUBDSDUL LL FDUH� FDXW� GH� FkWH� RUL� DSDUH� XQ� FDUDFWHU�WUDQVPLV�FD�DUJXPHQW�vQWU�XQ�úLU�úL�UHWXUQHD]� QXP�UXO�GH�DSDUL LL�VDX���vQ�FD]XO�vQ�FDUH�DFHO�FDUDFWHU� QX� HVWH� J�VLW�� 6� VH� VXSUDvQFDUFH� RSHUDWRUXO � FDUH� WUDQVIRUP� FDUDFWHUHOH� GLQ�FRQ LQXWXO�úLUXOXL GLQ�OLWHUH�PDUL�vQ�OLWHUH�PLFL��6� VH�GHILQHDVF� GHVWUXFWRUXO�SHQWUX�úLU��6� VH�VXSUDvQFDUFH�RSHUDWRUXO�ELQDU�ù,�ORJLF��SH�FXYkQW��FDUH�GLQ�GRX� úLUXUL�V��úL�V���FRQVWUXLHúWH�XQ�DOW�úLU��FDUH�FRQ LQH�FDUDFWHUHOH�FRPXQH�OXL�V��VL�V���6� VH�VXSUDGHILQHDVF� RSHUDWRUXO � �FDUH�WHVWHD]� H[LVWHQ D�XQXL�FDUDFWHU��GDW�FD�DUJXPHQW��vQWU�XQ�úLU��'DF� DFHO�FDUDFWHU�HVWH�FRQ LQXW�vQ�úLU��VH�UHWXUQHD]� YDORDUHD����DOWIHO� ± YDORDUHD����6� VH�VXSUDvQFDUFH�RSHUDWRULL� UHOD LRQDOL�FDUH�FRPSDU� OH[LFRJUDILF�FRQ LQXWXO�D�GRX� úLUXUL��6� VH�VXSUDvQFDUFH�RSHUDWRUXO�± XQDU�FDUH�UHDOL]HD]� FRQYHUVLD� WXWXURU� FDUDFWHUHORU� DOIDEHWLFH�GLQ� FRQ LQXWXO�XQXL�RELHFW�GH� WLS� úLU�� GLQ�OLWHUH�PDUL�vQ�OLWHUH�PLFL��

�� )LH�FODVD�YHFWRU��6� VH�VXSUDvQFDUFH�RSHUDWRUXO���FDUH�UHDOL]HD]� DGXQDUHD�D���YHFWRUL��6� VH�VXSUDvQFDUFH�RSHUDWRUXO� �FDUH�UHDOL]HD]� SURGXVXO�VFDODU�D���YHFWRUL�

��� 6� VH� GHILQHDVF� WLSXO� DEVWUDFW� GDW� FDOHQGDULVWLF��� 'DWD� FDOHQGDULVWLF� VH� YD� LQWURGXFH� VXE�IRUPD�]]�OO�DDDD��ILLQG�YDOLGDW� �VH�YD� LQH�FRQW�GH�DQLL�ELVHF L���6H�YRU�VXSUDvQF�UFD�RSHUDWRULL�LQVHUWRU��H[WUDFWRU��D� ��DGXQ� OD�GDW� XQ�QXP�U�GH�]LOH��� ��VFDGH�GLQWU�R�GDW� XQ�QXP�U�GH�]LOH��� � �FRPSDU� ��GDWH��� � �UHWXUQHD]� QXP�UXO� GH� ]LOH� GLQWUH� GRX� GDWH��� �� �DGXQ� GRX�GDWH�������LQFUHPHQWHD]� OXQD���úL��� �GHFUHPHQWHD]� OXQD��

��� 6� VH�DGDXJH�OD�FODVHOH�SXQFW�úL�VHJPHQW�PHWRGH�GH�GHVHQDUH��GH�URWLUH�D�XQXL�VHJPHQW�vQ�MXUXO�YkUIXOXL�

��� 6� VH�VFULH�XQ�SURJUDP�FDUH� WUDQVODWHD]� FRRUGRQDWHOH�YkUIXULORU�XQXL� WULXQJKL��úL�GHVHQHD]�WULXQJKLXO� vQDLQWH� úL� GXS� WUDQVOD LH�� IRORVLQGX�VH� R� FODV� SXQFW�� 6H� YD� PRGLILFD� XOWHULRU�

Page 208: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

SURJUDPXO�GHFODUkQGX�VH�R�FODVD�WULXQJKL�FDUH�FRQ LQH�FD�PHPEUL���RELHFWH�GH�WLSXO�SXQFW��6H�YD�PRGLILFD�SURJUDPXO��DVWIHO�vQFkW�FODVD�WULXQJKL�V� DLE� FD�PHPEUX�XQ�YHFWRU�GH�SXQFWH�

��� 3HQWUX�FODVD�úLU��V� VH�VXSUDvQFDUFH�XUP�WRULL�RSHUDWRUL�LQW�LQWUBS�FRQVW�VLU�V��FRQVW�

'HWHUPLQ� SULPD�DSDUL LH�D�úLUXOXL�V�vQ�úLUXO�FXUHQW��'DF� V�HVWH�VXEúLU��UHWXUQHD]�LQGLFHOH�SULPXOXL�FDUDFWHU�DO�DFHVWHL�LQWU�UL��DOWIHO��UHWXUQHD]� ���

LQW�LQWUBQ�FRQVW�VLU�V��FRQVW�XQVLJQHG�Q� FRQVW�'HWHUPLQ� D�Q�D�DSDUL LH�D�úLUXOXL�V�vQ�úLUXO�FXUHQW��5HWXUQHD]� LQGLFHOH�SULPXOXL�FDUDFWHU�DO�DFHVWHL�LQWU�UL��DOWIHO��UHWXUQHD]� ���

VLU�VWUHJFDU��XQVLJQHG�L��XQVLJQHG�Q��FRQVW�5HWXUQHD]� úLUXO�UH]XOWDW�SULQ�úWHUJHUHD�GLQ�RELHFWXO�FXUHQW�D�FHO�PXOW�Q�FDUDFWHUH��vQFHSkQG� FX� SR]L LD� L�� 'DF� L� VDX� Q� VXQW� HURQDWH�� VH� UHWXUQHD]� RELHFWXO� FXUHQW�QHPRGLILFDW�

VLU�RSHUDWRU�� �FRQVW�VLU�V��FRQVW�5HWXUQHD]� RELHFWXO� UH]XOWDW� SULQ� HOLPLQDUHD� VXIL[XOXL� V� GLQ� úLUXO� FXUHQW��5HWXUQHD]� úLUXO�FXUHQW�GDF� V�QX�HVWH�VXIL[����SHQWUX�PHPRULH�LQVXILFLHQW��

VLU�RSHUDWRU����FRQVW�VLU�V��FRQVW�5HWXUQHD]� RELHFWXO� UH]XOWDW� SULQ� HOLPLQDUHD� SUHIL[XOXL� V� GLQ� úLUXO� FXUHQW��5HWXUQHD]� úLUXO�FXUHQW�GDF� V�QX�HVWH�SUHIL[����SHQWUX�PHPRULH�LQVXILFLHQW��

VLU�RSHUDWRU� ��FRQVW�VLU�V��FRQVW�5HWXUQHD]� RELHFWXO�UH]XOWDW�SULQ�HOLPLQDUHD�SULPHL�LQWU�UL�D�OXL�V�vQ�úLUXO�FXUHQW�

VLU�RSHUDWRU����FRQVW�VLU�V��FRQVW�5HWXUQHD]� RELHFWXO�UH]XOWDW�SULQ�HOLPLQDUHD�XOWLPHL�LQWU�UL�D�OXL�V�vQ�úLUXO�FXUHQW�

VLU�RSHUDWRU�����FRQVW�VLU�V���FRQVW�VLU�V���LQW�SR]��5HWXUQHD]� RELHFWXO�UH]XOWDW�SULQ�vQORFXLUHD�XQHL�LQWU�UL�D�OXL�V���FX�V���'DF� SR]�HVWH�R��VH�VXEVWLXLH�SULPD�LQWUDUH��DOWIHO� � XOWLPD�LQWUDUH��'DF� V��QX�HVWH�VXEúLU�DO�RELHFWXOXL�FXUHQW��VH�UHWXUQHD]� RELHFWXO�FXUHQW�

VLU�RSHUDWRU�����FRQVW�VLU�V���FRQVW�VLU�V���FRQVW�5HWXUQHD]� RELHFWXO�UH]XOWDW�SULQ�vQORFXLUHD�vQ�RELHFWXO�FXUHQW�D�WXWXURU�LQWU�ULORU�OXL�V���FX�V��

����&5($5($�,(5$5+,,/25�'(�&/$6(

�������� �������0HFDQLVPXO�PRúWHQLULL ���� �������0RúWHQLUHD�PXOWLSO��������0RGXO�GH�GHFODUDUH�D�FODVHORU�GHULYDWH ���� ������ � 5HGHILQLUHD�PHPEULORU� XQHL�

ED]����� �������&RQVWUXFWRULL�FODVHORU�GHULYDWH ���� vQ�FODVD�GHULYDW����� �������0RúWHQLUHD�VLPSO� ���� �������0HWRGH�YLUWXDOH���� ��������

�����������0(&$1,608/�02ù7(1,5,,���� 0RúWHQLUHD� HVWH� R� FDUDFWHULVWLF� D� OLPEDMHORU� GH� SURJUDPDUH� RULHQWDWH� RELHFW�� FDUH� SHUPLWH�

UHIRORVLUHD� FRGXOXL� úL� H[WLQGHUHD� IXQF LRQDOLW� LL� FODVHORU� H[LVWHQWH� �YH]L� FDSLWROXO� ����0HFDQLVPXO� PRúWHQLULL� SHUPLWH� FUHDUHD� XQHL� LHUDUKLL� GH� FODVH� úL� WUHFHUHD� GH� OD� FODVHOH�

��

FODVH� GH�
Page 209: C++ Tutorial(Romaneste)

� ��� �

JHQHUDOH� OD� FHOH� SDUWLFXODUH�� �8Q� � FRQFHSW� � SRDWH� IL� LPSOHPHQWDW� SULQWU�R� FODV���� $FHDVW�SURSULHWDWH� VH� PDQLIHVW� SULQ� IDSWXO� F� GLQ� RULFH� FODV� SXWHP� GHULYD� DOWH� FODVH�� 3URFHVXO�LPSOLF� OD� vQFHSXW� GHILQLUHD� FODVHL� GH� ED]� FDUH� VWDELOHúWH� FDOLW� LOH� FRPXQH� DOH� WXWXURU�RELHFWHORU�FH�YRU�GHULYD�GLQ�ED]� �LHUDUKLF�VXSHULRDU����3ULQ�PRúWHQLUH��XQ�RELHFW�SRDWH�SUHOXD�SURSULHW� LOH�RELHFWHORU�GLQ�FODVD�GH�ED]��

0RúWHQLUHD�SRDWH�IL�� 8QLF� �R�FODV� DUH�GRDU�R�VXSHUFODV���UH]XOWkQG�R�VWUXFWXU� DUERUHVFHQW���� 0XOWLSO� �R�FODV� DUH�PDL�PXOWH�VXSHUFODVH��UH]XOWkQG�R�VWUXFWXU� GH�UH HD��

,QIRUPD LD� FRPXQ� DSDUH� vQ� FODVD� GH� ED]��� LDU� LQIRUPD LD� VSHFLILF� � vQ� FODVD� GHULYDW��� &ODVD�GHULYDW� UHSUH]LQW� R�VSHFLDOL]DUH�D�FODVHL�GH�ED]���2ULFH�FODV� GHULYDW� PRúWHQHúWH GDWHOH�PHPEUX�úL�PHWRGHOH�FODVHL�GH�ED]���'HFL�DFHVWHD�QX WUHEXLH�UHGHFODUDWH�vQ�FODVD�GHULYDW��ÌQ�OLPEDMXO�&���vQFDSVXODUHD�SRDWH�IL�IRU DW� SULQ�FRQWUROXO�DFFHVXOXL��GHRDUHFH�WRDWH�GDWHOH�úL�IXQF LLOH�PHPEUH�VXQW�FDUDFWHUL]DWH�SULQWU�XQ�QLYHO�GH�DFFHV��1LYHOXO�GH�DFFHV�OD�PHPEULL�XQHL�

FODVH�SRDWH�IL�

HPEULL�FODVHL�GH�ED]� GHYLQ�PHPEULL�DL�FODVHL�

SXEOLF��SURWHFWHGVDX�SULYDWH

&ODVD�%

&ODVD�$SURWHFWHGSULYDWH

SXEOLF

FODV� GHULYDW�

)LJXUD��������$FFHVXO�OD�PHPEULL�XQHL�FODVH��0RúWHQLUHD�SXEOLF���SURWHMDW� VDX�SULYDW�

&kQG�R�FODV� PRúWHQHúWH�PHPEULL�XQHL�DOWH�FODVH��P

� SULYDWH�� PHPEULL� �GDWH� úL� PHWRGH�� OD�FDUH�DFFHVXO�HVWH�SULYDWH�SRW�IL�DFFHVD L�GRDU�SULQ�PHWRGHOH�FODVHL��QLYHO�DFFHV�LPSOLFLW��

� SURWHFWHG��DFHúWL�PHPEUL�SRW�IL�DFFHVD L�SULQ�IXQF LLOH�PHPEUH�DOH�FODVHL�úL�IXQF LLOH�PHPEUH�DOH�FODVHL�GHULYDWH�

� SXEOLF� PHPEULL� OD� FDUH� DFFHVXO� HVWH�SXEOLF� SRW� IL� DFFHVD L� GLQ� RULFH� SXQFW� DO�GRPHQLXOXL�GH�H[LVWHQ ��D� FODVHL�UHVSHFWLYH�

� IULHQG� DFHúWL� PHPEUL� SRW� IL� DFFHVD L�SULQ� IXQF LLOH�PHPEUH� DOH� IXQF LHL� SULHWHQH�VSHFLILFDWH�

ÌQ�OLPEDMXO�&����QLYHOXO�GH�DFFHV�SRDWH�SUHFL]D�úL�WLSXO�GH�PRúWHQLUH��ILJXUD��������

� 3XEOLF��� XQGH� vQ� FODVD� GHULYDW� QLYHOXO� GH�DFFHV� DO�PHPEULORU�HVWH� DFHODúL� FD� vQ�FODVD�GH�ED]��

� 3ULYDW��� XQGH� PHPEULL� SURWHFWHG� úL� SXEOLF�GLQ� FODVD� ED]� GHYLQ� SULYDWH� vQ� FODVD�GHULYDW��

� 3URWHMDW� �OD�FRPSLODWRDUHOH�PDL�QRL��

3DJH���� RI����

GHULYDWH��0RúWHQLUHD�SURWHMDW� HVWH�LQWHUPHGLDU� FHOHL�SXEOLFH�úL�FHOHL�SULYDWH��ÌQ�FD]XO�PRúWHQLULL�SURWHMDWH��FRPSDUDWLY�FX�PRúWHQLUH�SULYDW���VLQJXUD�GLIHUHQ ��HVWH�F� PHPEULL�SXEOLFL�DL�FODVHL�GH�ED]� GHYLQ� SURWHMD L� vQ� WLPSXO� GHULY�ULORU� XOWHULRDUH�� ÌQ� IXQF LH� GH� PRGLILFDWRULL� GH� DFFHV� OD�PHPEULL�FODVHL�GH�ED]���OD�PHPEULL�FODVHL�GHULYDWH�úL�GH�WLSXO PRúWHQLULL��OXFUXULOH�VH�SRW�UH]XPD�DVWIHO��WDEHOXO��������7DEHOXO������

0RGLILFDWRU�DFFHV�OD�PHPEULL�FODVHL�GH�ED]�

$FFHVXO�vQ�FODVD�GHULYDW��QRXO�DFFHV��GREkQGLW�SULQ�PRúWHQLUH�SXEOLF�

$FFHVXO�vQ�FODVD�GHULYDW��QRXO�DFFHV��GREkQGLW�SULQ�PRúWHQLUH�SURWHMDW�

$FFHVXO�vQ�FODVD�GHULYDW��QRXO�DFFHV��GREkQGLW�SULQ�

PRúWHQLUH�SULYDW�SULYDWH SULYDWH SULYDWH SULYDWH

Page 210: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

SXEOLF SXEOLF SURWHFWHG SULYDWHSURWHFWHG SURWHFWHG SURWHFWHG SULYDWH$úD� FXP� VH� REVHUY��� vQ� WRDWH� FD]XULOH�� HOHPHQWHOH� SULYDWH� DOH� FODVHL� GH� ED]� U�PkQ� SDUWLFXODUH�DFHVWHLD�úL�QX�VXQW�DFFHVLELOH�FODVHORU�GHULYDWH��FHOH�SURWHMDWH�VXQW�DFFHVLELOH�FODVHL�GHULYDWH�

�������02'8/�'(�'(&/$5$5(�$�&/$6(/25�'(5,9$7(/D�PRGXO�JHQHUDO��OD�GHFODUDUHD�XQHL�FODVH�GHULYDWH��VH�VSHFLILF � R�OLVW� D�FODVHORU�GH�ED]���SUHFHGDWH�GH�PRGLILFDWRUXO�GH�DFFHV�FDUH�SUHFL]HD]� WLSXO�PRúWHQLULL���FODVV��QXPHBFOVBGHULY!���PRGLILFDWRUBGHBDFFHV!��QXPHBFODV�BGHBED]�!^ ��FRUSXO�FODVHL�GHULYDWH�� HOHPHQWH�VSHFLILFH�FODVHL�GHULYDWH`�([HPSOX� 'HFODUDUHD�FODVHL�GHULYDWH�DQJDMDW��FX�FODVD�GH�ED]� SHUVRDQD �PRúWHQLUH�VLPSO���

FODVV�SHUVRDQD^���FRUSXO�FODVHL�GH�ED]�

`�FODVV�DQJDMDW��SURWHFWHG�SHUVRDQD^

GRXEOH�VDODULX�`�

([HPSOX� 'HFODUDUHD� FODVHL� GHULYDWH� LQWHUID ��� FX� FODVHOH� GH� ED]� IHUHDVWU� úL� PHQLX�PRúWHQLUH�PXOWLSO���

FODVV�IHUHDVWUD^��PHPEULL�FODVHL

`�FODVV�PHQLX^

��PHPEULL�FODVHL`�FODVV�LQWHUIDWD��SXEOLF�IHUHDVWUD��SXEOLF�PHQLX^

��PHPEULL�FODVHL`�

ÌQ�FHHD�FH�SULYHúWH�IRORVLUHD��FRPSLODUHD�úL�HGLWDUHD�GH�OHJ�WXUL��FODVHL�GHULYDWH�vQ�VHQVXO�SURJUDP�ULL��FODVD�GH�ED]� úL�FHD�GHULYDW� SRW�DSDUH�vQ�DFHOD L�ILVLHU�VXUV���VDX�GHFODUDWH�vQ�ILúLHUH�GLIHULWH��ILJXUD��������

�������&216758&725,,�&/$6(/25�'(5,9$7(&RQVWUXFWRULL�úL�GHVWUXFWRULL�VXQW�IXQF LL�PHPEUH�FDUH�QX VH�PRúWHQHVF��/D�LQVWDQ LHUHD�XQXL�RELHFW�GLQ�FODVD�GHULYDW� VH�DSHOHD]� PDL�LQWkL�FRQVWUXFWRULL�FODVHORU�GH�ED]��� vQ�RUGLQHD�vQ�FDUH�DFHúWLD�DSDU�vQ�OLVWD�GLQ�GHFODUDUHD�FODVHL�GHULYDWH��/D�GLVWUXJHUHD�RELHFWHORU��VH�DSHOHD] � vQWkL�GHVWUXFWRUXO�FODVHL�GHULYDWH��DSRL�GHVWUXFWRULL�FODVHORU�GH�ED]��7UDQVPLWHUHD� DUJXPHQWHORU� XQHL� IXQF LL� FRQVWUXFWRU� GLQ� FODVD� GH� ED]� VH� IDFH� IRORVLQG� R� IRUP�H[WLQV� D�GHFODUD LHL� FRQVWUXFWRUXOXL� FODVHL� GHULYDWH�� FDUH� WUDQVPLWH� DUJXPHQWHOH� XQXL� VDX�PDL�PXOWRU�FRQVWUXFWRUL�GLQ�FODVD�GH�ED]��

Page 211: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

ÌQ�JHQHUDO��FODVHOH�XWLOL]HD]� FRQVWUXFWRUL�GHILQL L�GH�SURJUDPDWRU��ÌQ�FD]XO�vQ�FDUH�DFHúWLD�OLSVHVF��FRPSLODWRUXO�JHQHUHD]� DXWRPDW�XQ�FRQVWUXFWRU�LPSOLFLW�SHQWUX�FODVD�UHVSHFWLY���$FHODúL�OXFUX�VH�vQWkPSO� úL�vQ�FD]XO�FRQVWUXFWRULORU�GH�FRSLHUH�/D�LQVWDQ LHUHD�XQXL�RELHFW�GLQ�FODV� GHULYDW���R�SDUWH�GLQ�YDORULOH�SULPLWH�FD�SDUDPHWUL�IRORVHVF�OD�LQL LDOL]DUHD�GDWHORU�PHPEUX�DOH�FODVHORU�GH�ED]���LDU�UHVWXO�LQL LDOL]HD]� GDWHOH�PHPEUX�VSHFLILFH�FODVHL�GHULYDWH�

�������02ù7(1,5($�6,03/�3HQWUX�D�HYLGHQ LD�DVSHFWHOH�SUH]HQWDWH��V� FRQVLGHU�P�XUP�WRDUHOH�H[HPSOH��vQ�FDUH�PRúWHQLUHD�HVWH�VLPSO��([HPSOX�6H�FRQVWUXLHúWH�LHUDUKLD�GH�FODVH�GLQ�ILJXUD�������

�LQFOXGH��LRVWUHDP�K!FODVV�ED]�^

LQW�D�SURWHFWHG�

GRXEOH�Z�YRLG�VHWHD]�BD�LQW�D��^D D��`YRLG�VHWHD]�BZ�LQW�Z��^Z Z��`

SXEOLF�LQW�F�ED]D��LQW�D���GRXEOH�Z���LQW�F��

^D D���Z Z���F F��FRXW���&RQVWUXFWRU�FOV��ED] �?Q��`

'HFODUDUHD�FODVHL�GH�ED]�

'HILQLUHD�FODVHL�GH�ED]�

&RPSLODUH

'HFODUDUHD�FODVHL�GHULYDWH

'HILQLUHD�FODVHL�GHULYDWH

3URJUDPXO�GH�WHVW��XWLOL]HD]� FHOH�GRX� WLSXUL� &RPSLODUH

&RPSLODUH

0RGXO�RELHFW�DO�FODVHL�GH�ED]�

0RGXO�RELHFW�DO�FODVHL�GHULYDWH

0RGXO�RELHFW�DO�SURJUDPXOXL�GH�

WHVW

(GLWDUH�GH�

OHJ�WXUL)LúLHU�

H[HFXWD�ELO

)LJXUD��������(GLWDUHD�GH�OHJ�WXUL�OD�XWLOL]DUHD�FODVHL�GHULYDWH

SULYDWHSURWHFWHGSXEOLF

FODVD�ED]�

FODVD GHULY� FODVD�GHULY� FODVD�GHULY�

)LJXUD��������,HUDUKLH�GH�FODVH

Page 212: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

aED]���^FRXW���'HVWUXFWRU�ED]�?Q��`�������������

YRLG DUDW���^FRXW��D�����Z�����F��?Q�`

GRXEOH�FDOFXO��^UHWXUQ�D�Z�F�`

IULHQG�RVWUHDP��RSHUDWRU���RVWUHDP���FRQVW�ED] � ��`�FODVV�GHULY���SXEOLF�ED]�^

LQW�E�SXEOLF�

GHULY���LQW�D���GRXEOH�Z���LQW�F���LQW�E���ED]��D���Z���F��^E E���FRXW���&RQVWUXFWRU�GHULY�?Q��`

aGHULY���^FRXW���'HVWUXFWRU�GHULY�?Q��`

GRXEOH�FDOFXO��^UHWXUQ�Z�F�E�`� ���PHPEUXO�D�HVWH�vQFDSVXODW��QX�SRDWH�IL�IRORVLW��ILLQG�

SULYDWH���R�DOWHUQDWLY� SHQWUX�RE LQHUHD�VXPHL�WXWXURU�GDWHORU�PHPEUH�HVWH�

���GRXEOH�FDOFXO��^UHWXUQ�ED]���FDOFXO���E�`IULHQG�RVWUHDP�RSHUDWRU���RVWUHDP���FRQVW�GHULY����

`�FODVV�GHULY���SURWHFWHG�ED]�^

LQW�E�SXEOLF�

GHULY��LQW�D���GRXEOH Z���LQW�F���LQW�E���ED]��D���Z���F��^E E���FRXW���&RQVWUXFWRU�GHULY�?Q��`

aGHULY���^FRXW���'HVWUXFWRU�GHULY�?Q��`

GRXEOH�FDOFXO��^UHWXUQ�Z�F�E�`

IULHQG�RVWUHDP�RSHUDWRU���RVWUHDP���FRQVW�GHULY����`�FODVV�GHULY���SULYDWH�ED]�^

LQW�E�SXEOLF�

GHULY��LQW�D���GRXEOH�Z���LQW�F���LQW�E���ED]D�D���Z���F��^E E���FRXW���&RQVWUXFWRU�GHULY�?Q��`

aGHULY���^FRXW���'HVWUXFWRU�GHULY�?Q��`

GRXEOH�FDOFXO��^UHWXUQ�Z�F�E�`

IULHQG�RVWUHDP�RSHUDWRU���RVWUHDP���FRQVW�GHULY����`�RVWUHDP�RSHUDWRU���RVWUHDP�LHV��FRQVW�ED]D�E�

^LHV��E�D�����E�Z�����E�F��?Q��UHWXUQ�LHV�`RVWUHDP�RSHUDWRU���RVWUHDP�LHV��FRQVW�GHULY��G��

^LHV��G��Z�����G��F�����G��E��?Q�����D�SULYDWHUHWXUQ�LHV�`

Page 213: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

RVWUHDP�RSHUDWRU���RVWUHDP�LHV��FRQVW�GHULY��G��^LHV��G��Z�����G��F�����G��E��?Q�����D�SULYDWHUHWXUQ�LHV�`

RVWUHDP�RSHUDWRU���RVWUHDP�LHV��FRQVW�GHULY��G��^LHV��G��Z�����G��F�����G��E��?Q�����D�SULYDWHUHWXUQ�LHV�`

YRLG�PDLQ��^

ED]D�[������������� ���&RQVWUXFWRU�FOV��ED]DGHULY��\���������������� ���&RQVWUXFWRU�FOV��ED]D� &RQVWUXFWRU�

GHULY�GHULY��]���������������� ���&RQVWUXFWRU�FOV��ED]D &RQVWUXFWRU�

GHULY�GHULY��Y����������������� ��&RQVWUXFWRU�FOV��ED]D� &RQVWUXFWRU�

GHULY�FRXW���[ ���[��?Q���] ���]��?Q���Y ���Y��?Q�

���[ �� ����� ���[�D��[�Z��[�F����] ������ ��������Y ����������

FRXW���[�FDOFXO�� ���[�FDOFXO����?Q� ���[�FDOFXO�� ����FRXW���\�FDOFXO�� ���\�FDOFXO����?Q� ���\�FDOFXO�� ����FRXW���]�FDOFXO�� ���]�FDOFXO����?Q�� ���]�FDOFXO�� �����FRXW���Y�FDOFXO�� ���Y�FDOFXO����?Q�� ���Y�FDOFXO�� �����FRXW���[�F ���[�F��?Q�� ���[�F �FRXW���\�F ���\�F��?Q� ���\�F �

� � 'HVWUXFWRU�GHULY�� 'HVWUXFWRU�ED]D SWU��Y'HVWUXFWRU�GHULY�� 'HVWUXFWRU�ED]D SWU��]'HVWUXFWRU�GHULY�� 'HVWUXFWRU�ED]D SWU��\'HVWUXFWRU�ED]D SWU�[ �

`2EVHUYD LL�ÌQ�FODVD�GH�ED]� GDWD�PHPEU� D HVWH�SULYDWH��Z HVWH�SURWHFWHG úL�F HVWH�SXEOLF��ÌQ�FODVD�GH�ED]��� FkW� úL� vQ� FODVHOH GHULYDWH� H[LVW� FRQVWUXFWRUL� FDUH� LQL LDOL]HD]� GDWHOH� PHPEUX�� 0HPEULL�SULYDWH GLQWU�R�FODV� GH�ED]� �FODVD�ED]���vQ�FD]XO�QRVWUX��SRW�IL�IRORVL L�GRDU�vQ�FDGUXO�DFHVWHLD��GH�PHWRGHOH�VDOH���QX�úL�vQ�FODVHOH�GHULYDWH�&ODVD�GHULY��

0HPEULL�SULYD L�PRúWHQL L�GLQ�FODVD�ED]� VXQW�LQDFFHVLELOL��D H[LVW���GDU�HVWH�vQFDSVXODW���3HQWUX�D�SXWHD�IL�DFFHVD L��VH�IRORVHVF�PHWRGHOH�FODVHL�ED]� �PHWRGD�FDOFXO���'HRDUHFH�vQ� FODVD�GHULY� H[LVW� R�PHWRG� FX�DFHODúL�QXPH�FX�DO�XQHL�PHWRGH�GLQ� FODVD�GH�ED]��UHGHILQLUHD�XQHL�PHWRGH�vQ�FODVD�GHULYDW����VH�IRORVHúWH�RSHUDWRUXO�GH�UH]ROX LH�

ED]D��FDOFXO��� VDX \�ED]D��FDOFXO���&ODVD�GHULY��

'HRDUHFH�PRúWHQLUHD� HVWH�SURWHMDW���PHPEULL� SXEOLFL� VDX�SURWHMD L� GLQ� FODVD�ED]� GHYLQ�SURWHMD L�vQ�FODVD�GHULY�� 'H�DFHHD��GDF� vQ�IXQF LD�PDLQ DP�vQFHUFD�IRORVLUHD��

FRXW��]�ED]D��FDOFXO��� �� PHWRGD� FDOFXO LQDFFHVLELO��� HD� GHYHQLQG�SURWHMDW� vQ�FODVD�GHULY��

&ODVD�GHULY��

Page 214: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

'HRDUHFH� PRúWHQLUHD� HVWH� SULYDW��� PHPEULL� SXEOLF� VDX� SURWHFWHG� GLQ� FODVD� ED]� DX�GHYHQLW� SULYD L� vQ� FODVD�GHULY��� 6H� SRW� IRORVL� WR L�PHPEULL� FODVHL� GH� ED]��� FX� H[FHS LD�FHORU�SULYD L��D��

/D� FRQVWUXLUHD� XQXL� RELHFW� GLQWU�R� FODV� GHULYDW� GLQ� FODVD� ED]��� VH� DSHOHD]� PDL� vQWvL�FRQVWUXFWRUXO�GLQ� FODVD�GH�ED]��� DSRL� FRQVWUXFWRUXO� FODVHL�GHULYDWH�$VWIHO�� XQ�RELHFW� \ GLQ�FODVDGHULY� LQFRUSRUHD]� XQ�RELHFW�GHMD�LQL LDOL]DW�FX�DMXWRUXO�FRQVWUXFWRUXOXL�GLQ�FODVD�ED]��'DF� SHQWUX�FODVD�GHULY� GHILQHDP�XQ�FRQVWUXFWRU�GH�IRUPD���

GHULY��LQW�D���GRXEOH�E���LQW�F���LQW�E��^D D���E E���F F���G G��`QX�HUD�FRUHFW��GHRDUHFH��FODVD�ED]� QX�DUH�FRQVWUXFWRUL�I�U� SDUDPHWUL��GHFL�QX�H[LVW� FRQVWUXFWRU�LPSOLFLW�� LDU�GDWD�D HVWH� LQDFFHVLELO� vQ�GHULY���$SHODUHD� FRQVWUXFWRUXOXL� VH� UHDOL]HD]� DSHOkQG�H[SOLFLW�FRQVWUXFWRUXO�GLQ�FODVD�ED]��([HUFL LX� )LH�FODVD�SXQFW�úL�FODVD�SXQFW�FRORUDW��GHULYDW� GLQ�FODVD�SXQFW��0HWRGD�DILVDUH HVWH�UHGHILQLW� vQ�FODVD�GHULYDW� �SXQFWBFRO��

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��FRQLR�K!FODVV�SXQFW^

LQW�[��\� ��GDWH�PHPEUX�SULYDWH��LQDFFHVLELOH�vQ�FODVD�SXQFWBFROSXEOLF�

SXQFW��LQW�DEV ���LQW�RUG ��^[ DEV��\ RUG��FRXW���&RQVWU�SXQFW�

���[�������\��?Q�`SXQFW��FRQVW�SXQFW�S�

^[ S�[��\ S�\��FRXW���&RQVWU�FRSLHUH�SXQFW����FRXW��[�������\���?Q��`

aSXQFW��^FRXW���'HVWU�SXQFW����[�������\���?Q��`

YRLG�DILVDUH��^FRXW���3����[�������\����?Q��`

`�FODVV�SXQFWBFRO�SXEOLF�SXQFW^

VKRUW�FXO� ��GDWH�PHPEUX�SULYDWHSXEOLF�

SXQFWBFRO��LQW��LQW��VKRUW��SXQFWBFRO��FRQVW�SXQFWBFRO��S��SXQFW��S�

^FXO S�FXO��FRXW���&RQVWU�FRSLHUH�SXQFW�FRO����FXO��?Q�`

aSXQFWBFRO��^FRXW���'HVWU�SXQFW�FRORUDW����FXO���?Q��`

YRLG�DILVDUH��^FRXW��������������������?Q���FRXW���3XQFW�FRORUDW���SXQFW��DILVDUH���FRXW���&XORDUH����FXO���?Q�������������������?Q��`

`�SXQFWBFRO��SXQFWBFRO�LQW�DEV ���LQW�RUG ���VKRUW�FO ���SXQFW�DEV��RUG�

^FXO FO��FRXW���&RQVWU�SXQFW�FRORUDW�����FXORDUH ���FXO��?Q�`

YRLG�PDLQ��

Page 215: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

^FOUVFU���SXQFWBFRO�$������������ ��&RQVWU�SXQFW������� &RQVWU�SXQFW�FRORUDW�FXORDUH �SXQFWBFRO�%������ ��&RQVWU�SXQFW����� &RQVWU�SXQFW�FRORUDW�FXORDUH �SXQFWBFRO�&������ ��&RQVWU�SXQFW������ &RQVWU�SXQFW�FRORUDW�FXORDUH �SXQFWBFRO�'� ���&RQVWU�SXQFW����� &RQVWU�SXQFW�FRORUDW�FXORDUH �'�DILVDUH���

� ����������������� DSHOXO�PHWRGHL�DILVDUH D�FODVHL�SXQFWBFRO3XQFW�FRORUDW�3�����&XORDUH��������������������� �

'�SXQFW��DILVDUH��� ���3������DSHOXO�PHWRGHL�DILVDUH D�FODVHL�SXQFWSXQFWBFRO� SS�SS QHZ�SXQFWBFRO��������� ��&RQVWU�SXQFW������ &RQVWU�SXQFW�FRORUDW�FXORDUH �

���RELHFW�GLQDPLF��VH�DSHOHD]D�FRQVWUXFWRULLGHOHWH�SS� ��'HVWU�SXQFW�FRORUDW�� 'HVWU�SXQFW������

���HOLEHUDUH�PHPRULHSXQFW�3��� ��&RQVWU�SXQFW����SXQFW�3� 3��� ��&RQVWU�FRSLHUH�SXQFW����SXQFWBFRO�&� &�� ��&RQVWU�FRSLHUH�SXQFW����� &RQVWU�FRSLHUH�SXQFW�FRO���`

��'HVWU�SXQFW�FRORUDW�� 'HVWU�SXQFW�������SHQWUX�&����'HVWU�SXQFW���� �SHQWUX�3����'HVWU�SXQFW���� �SHQWUX�3����'HVWU�SXQFW FRORUDW�� 'HVWU�SXQFW���� �SHQWUX�'���'HVWU�SXQFW�FRORUDW�� 'HVWU�SXQFW�������SHQWUX�&���'HVWU�SXQFW�FRORUDW�� 'HVWU�SXQFW���� �SHQWUX�%���'HVWU�SXQFW�FRORUDW�� 'HVWU�SXQFW��������SHQWUX�$�

�([HUFL LX� 6H�LPSOHPHQWHD]� LHUDKLD�GH�FODVH�GLQ�ILJXUD�������&ODVHOH�SHUVRDQD��VWXGHQW��VWXGHQWBEXUVLHU DX�FD�GDWH�PHPEUH�GDWH�GH�WLSXO�úLU �LPSOHPHQWDW�vQ�FDSLWROXO������LQFOXGH��VLU�FSS��LQFOXGH��FRQLR�K!�LQFOXGH��LRVWUHDP�K!FODVV�SHUVRDQ� ^�SURWHFWHG�

úLU�QXPHOH�SUHQXPHOH�FKDU�VH[XO�

SXEOLF�SHUVRDQD��� ��FRQVWUXFWRU�YLG

^QXPHOH ���SUHQXPHOH ���VH[XO P�FRXW���&RQVWU�3(56�YLG�?Q��`

SHUVRDQ��FRQVW�úLU�FRQVW�úLU�FRQVW�FKDU����FRQVWUXFWRU

SHUVRDQ� �FRQVW�SHUVRDQD��� ��FRQVWU��FRSLHUHYLUWXDO�aSHUVRDQ����� ��GHVWUXFWRUFRQVW�úLU�QXPH��FRQVW�

SHUVRDQDVLU�QXPHOH��SUHQXPHOH

FKDU�VH[XO

VWXGHQWVLU�IDFXOWDWHD��VSHFLDOL]DUHD

LQW�DQXO��JUXSD

VWXGHQWBEXUVLHUFKDU�WLSXOBEXUVHL

)LJXUD������

Page 216: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

FRQVW�úLUSUHQXPH���FRQVW�FKDU�VH[���FRQVW�YLUWXDO�YRLG�DILúDUH���IULHQG��RVWUHDP��RSHUDWRU���RVWUHDP���FRQVW�SHUVRDQD���IULHQG�LVWUHDP��RSHUDWRU!!�LVWUHDP����SHUVRDQD���

`�FODVV�VWXGHQW�SXEOLF�SHUVRDQ� ^�SURWHFWHG�

úLU�IDFXOWDWHD�VSHFLDOL]DUHD�LQW�DQXO�JUXSD�

SXEOLF�VWXGHQW�FRQVW�úLU�FRQVW�úLU�FRQVW�FKDU�FRQVW�úLU�FRQVW�úLU�FRQVW�LQW�FRQVW�LQW��VWXGHQW�FRQVW�SHUVRDQD�FRQVW�úLU�FRQVW�úLU�FRQVW�LQW�FRQVW�LQW��VWXGHQW�FRQVW�VWXGHQW��YLUWXDO�aVWXGHQW���FRQVW�úLU�IDFXOW��^UHWXUQ�IDFXOWDWHD�`FRQVW�úLU�VSHF��^UHWXUQ�VSHFLDOL]DUHD�`LQW�DQ��^UHWXUQ�DQXO�`LQW�JUXS��^UHWXUQ�JUXSD�`YLUWXDO�YRLG�DILúDUH���IULHQG��RVWUHDP��RSHUDWRU���RVWUHDP���FRQVW�VWXGHQW���� �7(0$�IULHQG�LVWUHDP��RSHUDWRU!!�LVWUHDP����VWXGHQW��� �`�FODVV�VWXGHQWBEXUVLHU�SXEOLF�VWXGHQW ^SURWHFWHG�

FKDU�WLSXOBEXUVHL�SXEOLF�

VWXGHQWBEXUVLHU�FRQVW�VWXGHQW�FKDU��VWXGHQWBEXUVLHU�FRQVW�VWXGHQWBEXUVLHU��YLUWXDO�aVWXGHQWBEXUVLHU���FKDU�WLSBEXUVD���^UHWXUQ�WLSXOBEXUVHL�`GRXEOH�YDORDUHBEXUVD���YLUWXDO�YRLG DILúDUH�����7(0$�IULHQG��RVWUHDP��RSHUDWRU���RVWUHDP���FRQVW�VWXGHQWBEXUVLHU�����7(0$�IULHQG�LVWUHDP��RSHUDWRU!!�LVWUHDP����VWXGHQWBEXUVLHU���

`����0(72'(/(�&/$6(,�3(562$1$SHUVRDQ���SHUVRDQ��FRQVW�úLU�QXPH�FRQVW�úLU�SUHQXPH�FRQVW�FKDU�VH[�

^QXPHOH QXPH�SUHQXPHOH SUHQXPH�VH[XO VH[�FRXW���&RQVWU��3(562$1�?Q��`

SHUVRDQD��SHUVRDQD�FRQVW�SHUVRDQD�SHUV�^�QXPHOH SHUV�QXPHOH�SUHQXPHOH SHUV�SUHQXPHOH�VH[XO SHUV�VH[XO�FRXW���&RQVWUXFWRU�FRSLHUH�3(562$1$?Q��`

SHUVRDQ���aSHUVRDQ���^FRXW���'HVWUXFWRU�3(562$1�?Q��`

FRQVW�úLU�SHUVRDQ���QXPH��FRQVW^UHWXUQ�QXPHOH�`

FRQVW�úLU�SHUVRDQ���SUHQXPH��FRQVW^UHWXUQ�SUHQXPHOH�`

Page 217: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

FKDU�SHUVRDQ���VH[��FRQVW^UHWXUQ�VH[XO�`

YRLG�SHUVRDQ���DILúDUH��^�FRXW���$ILúDUH�3(562$1��?Q��FRXW��QXPHOH���������SUHQXPHOH����� ��LI��WRXSSHU��VH[XO� 0� FRXW���6(;�EDUEDWHVF?Q��HOVH� FRXW���6(;�IHPHLHVF?Q��`

RVWUHDP��RSHUDWRU���RVWUHDP�PRQLWRU��FRQVW�SHUVRDQD�S�^PRQLWRU���?Q1XPH�SHUV����S�QXPHOH���?Q3UHQXPH�SHUV����S�SUHQXPHOH�FRXW���?Q6H[�SHUV���LI��S�VH[XO P� FRXW���%$5%$7(6&��HOVH FRXW���)(0(,(6&��UHWXUQ�PRQLWRU�`

LVWUHDP��RSHUDWRU!!�LVWUHDP��WDVWDW���SHUVRDQD�S�^WDVWDW!!S�QXPHOH!!S�SUHQXPHOH!!S�VH[XO���UHWXUQ�WDVWDW�`

���0(72'(/(�&/$6(,�678'(17VWXGHQW��VWXGHQW�FRQVW�úLUQXPH�FRQVW�úLUSUHQXPH�FRQVW�FKD U�VH[�FRQVW�úLU�IDFXOW�FRQVW�úLU�VSHF�FRQVW�LQW�DQ�FRQVW�LQW�JU��SHUVRDQD�QXPH�SUHQXPH�VH[�

^QXPHOH QXPH�SUHQXPHOH SUHQXPH�VH[XO VH[�IDFXOWDWHD IDFXOW��VSHFLDOL]DUHD VSHF��DQXO DQ��

JUXSD JU�FRXW���&RQVWUXFW�678'��?Q���`

VWXGHQW��VWXGHQW�FRQVW�SHUVRDQD�SHUV�FRQVW�úLU�IDFXOW�FRQVW�úLU�VSHF�FRQVW�LQW�DQ�FRQVW�LQW�JU��SHUVRDQD�SHUV�

^�QXPHOH SHUV�QXPH���SUHQXPHOH SHUV�SUHQXPH���IDFXOWDWHD IDFXOW��VSHFLDOL]DUHD VSHF�DQXO DQ�JUXSD JU��FRXW���&RQVWUXFW�678'��?Q��`

VWXGHQW��VWXGHQW�FRQVW�VWXGHQW�VWXG��SHUVRDQD�VWXG�QXPHOH�VWXG�SUHQXPHOH�VWXG�VH[XO�

^�IDFXOWDWHD VWXG�IDFXOWDWHD��VSHFLDOL]DUHD VWXG�VSHFLDOL]DUHD�DQXO VWXG�DQXO��JUXSD VWXG�JUXSD�FRXW���&RQVWUXFW�FRSLHUH�

678'�?Q���`VWXGHQW��aVWXGHQW��

^�FRXW���'HVWUXFWRU�VWXGHQW��?Q���`YRLG�VWXGHQW��DILúDUH��

^�FRXW��QXPHOH���������SUHQXPHOH��?Q�FRXW���6H[����VH[XO��?Q�FRXW���)DFXOWDWHD�����IDFXOWDWHD����6SHFLDOL]DUH��

���VSHFLDOL]DUHD��?Q�FRXW���$QXO�����DQXO����*UXSD����JUXSD��?Q� `

RVWUHDP��RSHUDWRU���RVWUHDP�PRQLWRU��FRQVW�VWXGHQW�V�^PRQLWRU���?Q1XPH�VWXG����V�QXPHOH���?Q3UHQXPH�

VWXG����V�SUHQXPHOH�FRXW���?Q6H[�VWXG������V�VH[XO P�"�%$5%$7(6&���)(0(,(6&���PRQLWRU���?Q)DFXOWDWH�����V�IDFXOWDWHD���FRXW���?Q6SHFLDOL]DUH�����V�VSHFLDOL]DUHD�PRQLWRU���?Q$QXO�����V�DQXO���?Q*UXSD�����V�JUXSD�UHWXUQ�PRQLWRU�`

��7(0$��IULHQG�LVWUHDP��RSHUDWRU!!�LVWUHDP����VWXGHQW�����0(72'(�&/$6(,�678'(17B%856,(5� ��7(0$VWXGHQWBEXUVLHU�VWXGHQW�FKDU��VWXGHQWBEXUVLHU�FRQVW�VWXGHQWBEXUVLHU�� �

Page 218: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

VWXGHQWBEXUVLHU��VWXGHQWBEXUVLHU�FRQVW�VWXGHQWVWXG�FKDUWLSBEXUV��VWXGHQW�VWXG�

^WLSXOBEXUVHL WLSBEXUV�`VWXGHQWBEXUVLHU��VWXGHQWBEXUVLHU�FRQVW�VWXGHQWBEXUVLHU�VWXG��VWXGHQW�VWXG�QXPHOH�VWXG�SUHQXPHOH�VWXG�VH[XO�VWXG�IDFXOWDWHD�VWXG�VSHFLDOL]DUHD�VWXG�DQXO�VWXG�JUXSD�

^WLSXOBEXUVHL VWXG�WLSXOBEXUVHL�`GRXEOH�VWXGHQWBEXUVLHU��YDORDUHBEXUVD��

^�GRXEOH�YDO�VZLWFK��WLSXOBEXUVHL�

^�FDVH�$� YDO ��������EUHDN�FDVH�%� YDO ��������EUHDN�

`UHWXUQ�YDO�`

VWXGHQWBEXUVLHU��aVWXGHQWBEXUVLHU��^FRXW���'HVFWUXFWRU�VWXGHQW�EXUVLHU?Q��`

YRLG�VWXGHQWBEXUVLHU��DILúDUH��^�VWXGHQW��DILúDUH���FRXW���7LS�EXUVD�����WLSXOBEXUVHL����9DORDUH��

���YDORDUHBEXUVD����?Q�`YRLG�PDLQ��

^FOUVFU���SHUVRDQD�[��323���,21��P�� ��&RQVWUXFWRU�3(562$1$

[�DILVDUH���FRXW��?Q� ���323� ,21PFRXW���$SDVD�WDVWD���?Q��JHWFK���SHUVRDQD�[��[�� ��&RQVWUXFWRU�FRSLHUH�

3(562$1$FRXW��[���?Q� ��1XPH�SHUV��323�3UHQXPH�SHUV��,21��6H[�SHUV��

%$5%$7(6&FRXW���$SDVD�WDVWD���?Q��JHWFK���FRXW���,QWURGXFHWL�LQI��GHVSUH�SHUVRDQD�?Q��SHUVRDQD�[��� ��&RQVWU�3(56�YLG�FLQ!![��FRXW��,QI�LQWURGXVH�?Q��FRXW��[��FRXW���$SDVD�WDVWD���?Q��JHWFK���

��[��DILVDUH����FRXW��?Q�VWXGHQW�V�[���1�,�(�����($������������

��&RQVWUXFWRU�FRSLHUH�3(562$1$ &RQVWUXFW�678'���V�DILVDUH���FRXW��?Q�

� �323���,21 6H[��P )DFXOWDWHD��1�,�(��6SHFLDOL]DUH��($��$QXO����*UXSD������ �FRXW���$SDVD�WDVWD���?Q��JHWFK���VWXGHQW�V��V��� ��&RQVWU��3(562$1$�&RQVWUXFW�FRSLHUH�

678'�FRXW��V���?Q�

� �1XPH�VWXG�323 3UHQXPH�VWXG�,21 6H[�VWXG�%$5%$7(6&)DFXOWDWH��1�,�(�6SHFLDOL]DUH��($ $QXO��� *UXSD������ �

FRXW���$SDVD�WDVWD���?Q��JHWFK���

Page 219: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

VWXGHQW�V���67$1����323,&$���P���0(&$1,&$����,�0�7��������������&RQVWU��3(562$1$ &RQVWUXFW�678'���FRXW��V���?Q�� � �1XPH�VWXG�323 3UHQXPH�VWXG�,21 6H[�

VWXG�%$5%$7(6&)DFXOWDWH��1�,�(� 6SHFLDOL]DUH��($ $QXO��� *UXSD������� �V� V��FRXW���,Q�XUPD�DWULEXLULL�V� ���V���?Q�� �,Q�XUPD�DWULEXLULL�V� �1XPH�VWXG�3233UHQXPH�VWXG�,21 6H[�VWXG�%$5%$7(6&)DFXOWDWH��1�,�(� 6SHFLDOL]DUH��($ $QXO��� *UXSD������� �V��DILVDUH����`

2EVHUYD LL��� 6� VH� FRPSOHWH]H� H[HPSOXO� FX� IXQF LLOH� GDWH� FD� WHP��� 6� VH� FRPSOHWH]H� SURJUDPXO� GH� WHVW�

�IXQF LD�PDLQ���� )XQF LD�DILúDUH HVWH� GHFODUDW� YLUWXDO� vQ� FODVD�GH� ED]� úL� UHGHILQLW� vQ� FODVD� GHULYDW���

5HGHILQLUHD�IXQF LHL�vQ�FODVD�GHULYDW� DUH�SULRULWDWH�ID ��GH�GHILQLUHD�IXQF LHL�GLQ�FODVD�GH�ED]���$VWIHO��R�IXQF LH�YLUWXDO� GHFODUDW� vQ�FODVD�GH�ED]� DF LRQHD]� FD�XQ�VXEVWLWXW�SHQWUX�S�VWUDUHD�GDWHORU�FDUH� VSHFLILF� R�FODV� JHQHUDO� GH�DF LXQL� úL�GHFODU� IRUPD� LQWHUIH HL��)XQF LD�DILúDUH�DUH�DFHODúL�SURWRWLS�SHQWUX�WRDWH�FODVHOH�vQ�FDUH�D�IRVW�U HGHILQLW� �YH]L�SDUDJUDIXO��������

������ �������02ù7(1,5($�08/7,3/���������

2�FODV� SRDWH�V� PRúWHQHDVF� PDL�PXOWH�FODVH�GH�ED]���FHHD�FH vQVHDPQ� F� WR L�PHPEULL�FODVHORU�GH� ED]� YRU� IL� PRúWHQL L� GH� FODVD� GHULYDW��� ÌQ� DFHDVW� VLWXD LH� DSDUH� PHFDQLVPXO� PRúWHQLULL�PXOWLSOH�� ÌQ� SDUDJUDIXO� ������ D� IRVW� SUH]HQWDW� PRGXO� GH� GHFODUDUH� D� XQHL� FODVH� FX� PDL� PXOWH�VXSHUFODVH�([HUFL LX� 6H�LPSOHPHQWHD]� LHUDKLD�GH�FODVH�GLQ�ILJXUD�������LQFOXGH��LRVWUHDP�K!FODVV�ED]�� ^SURWHFWHG�

LQW�[�SXEOLF�

ED]����LQW�[[�^[ [[�FRXW���&RQVWUXFWRU�FOV��ED]��?Q��FRXW��[��?Q�`

aED]D���^FRXW���'HVWUXFWRU�ED]��?Q���[��?Q�`

YRLG�DUDWD[��^FRXW���[ ���[��?Q�`

`�FODVV�ED]�� ^SURWHFWHG�

LQW�\�SXEOLF�

ED]����LQW�\\�^\ \\��FRXW���&RQVWUXFWRU�ED]��?Q���\��?Q�`

aED]����^FRXW���'HVWUXFWRU�ED]��?Q��`

YRLG�DUDWD\��^FRXW���\ ���\��?Q�``�

ED]�� ED]��

GHULYDW

)LJXUD��������6FKHP� GH�PRúWHQLUH�PXOWLSO�

Page 220: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

FODVV�GHULYDW��SXEOLF�ED]����SXEOLF�ED]���^SXEOLF�

GHULYDW�LQW�[[��LQW�\\��ED]���[[���ED]���\\�^FRXW���&RQVWUXFWRU�GHULYDW?Q���FRXW��[�����\��?Q�`

aGHULYDW��^FRXW���'HVWUXFWRU�GHULYDW?Q���FRXW��[�����\��?Q�`

LQW�DUDWD��^FRXW��[�����\��?Q�`YRLG�VHWHD]D�LQW�[[��LQW�\\�^[ [[��\ \\�`

`�YRLG�PDLQ��^GHULYDW�RELHFW������� &RQVWUXFWRU�FOV��ED]����� &RQVWUXFWRU�ED]��������&RQVWUXFWRU�GHULYDW������ �RELHFW�DUDWD��� ������RELHFW�VHWHD]D������RELHFW�DUDWD[��� ���[ �RELHFW�DUDWD\��� ���\ �RELHFW�DUDWD��� ������

� �'HVWUXFWRU�GHULYDW���� 'HVWUXFWRU�ED]���� 'HVWUXFWRU�ED]������ �`$úD� FXP� LOXVWUHD]� H[HPSOXO�� OD� GHFODUDUHD� RELHFWXOXL� RELHFW GH� WLSXO� GHULYDW V�DX� DSHODW�FRQVWUXFWRULL� � FODVHORU� GH� ED]� �ED]�� úL� ED]����� vQ� RUGLQHD� vQ� FDUH� DSDU� vQ� GHFODUDUHD� FODVHL�GHULYDWH��PDL� vQWkL�FRQVWUXFWRUXO�FODVHL� ED]���� vQ�FDUH�[�HVWH� GDW� PHPEUX�SURWHMDW� �DFFHVLELO�GLQ� FODVD� GHULYDW��� DSRL� FRQVWUXFWRUXO� FODVHL� ED]�� �� vQ� FDUH� \ HVWH� GDW� PHPEUX� SURWHMDW��DFFHVLELO� GLQ�FODVD�GHULYDW���DSRL�FRQVWUXFWRUXO�FODVHL�GHULYDW FDUH�OH�vQFRUSRUHD]� SH�DFHVWHD�vQWU�XQ�VLQJXU�RELHFW��&ODVD�GHULYDW�QX�DUH�GDWH�PHPEUH��FL�GRDU�PHWRGH��ILJXUD��������'XS� LHúLUHD�GLQ�EORFXO�vQ�FDUH�D�IRVW�GHFODUDW� YDULDELODRELHFW��VH�DSHOHD]� DXWRPDW�GHVWUXFWRULL��vQ�RUGLQH�LQYHUV� DSHO�ULL�FRQVWUXFWRULORU�

�����������5('(),1,5($�0(0%5,/25�81(,�&/$6(�'(�%$= � Ì1�&/$6$�

'(5,9$7����� $úD�FXP�V�D�REVHUYDW�GHMD�GLQ�H[HUFL LXO�DQWHULRU��XQLL�PHPEULL��ILH�GDWH�PHPEUX��ILH�PHWRGH��DL�XQHL�FODVH�GH�ED]� SRW�IL�UHGHILQL L�vQ�FODVHOH�GHULYDWH�GLQ�DFHDVWD�([HPSOX vQ�FDUH�VH�UHGHILQHVF�GDWHOH�PHPEUH�DOH�FODVHL�GH�ED]� vQ�FODVD�GHULYDW�FODVV�ED]�^SURWHFWHG�

GRXEOH�[��\�SXEOLF�

ED]��GRXEOH�[[ ���GRXEOH�\\ �� ^[ [[��\ \\�``�FODVV�GHULY�SXEOLF�ED]�^

RELHFW

�[

\

)LJXUD�������9DULDELOD�RELHFW GH�WLS�GHULYDW

Page 221: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

SURWHFWHG�GRXEOH�[��\�

SXEOLF�GHULY�GRXEOH�G[ ���GRXEOH�G\ ���GRXEOH�E[ ���GRXEOH�E\ ����ED]D�

�E[��E\�^[ G[� ���[�� PHPEUX�UHGHILQLW�vQ�FODVD�GHULYDW�\ G\� ���\�� PHPEUX�UHGHILQLW�vQ�FODVD�GHULYDW�`

YRLG�DUDW����FRQVW�`�YRLG�GHULY��DUDW����FRQVW

^FRXW���[�GLQ�FODV� GH�ED]�����ED]���[�FRXW���?W\�GLQ�FODVD�GH�ED]�����ED]���\��?Q�FRXW���[�GLQ�FODVD�GHULYDW�����[�FRXW���?W\�GLQ�FODVD�GHULYDW�����\��?Q��`

ÌQ�PHWRGD�DUDW� D�FODVHL�GHULY��SHQWUX�D�IDFH�GLVWLQF LH�vQWUH�GDWHOH�PHPEUX�DOH�FODVHL�GHULY úL�FHOH�DOH�FODVHL�ED]���VH�IRORVHúWH�RSHUDWRUXO�GH�UH]ROX LH�'DF� QH� vQWRDUFHP� OD� H[HPSOXO� vQ� FDUH� LPSOHPHQWDP� LHUDUKLD� GH� FODVH� SHUVRDQD�� VWXGHQW��VWXGHQWBEXUVLHU��UHPDUF�P�IDSWXO�F� PHWRGD�DILVDUH GLQ�FODVD�SHUVRDQD VXSUDvQF�UFDW� vQ�FODVHOH�GHULYDWH�VWXGHQW úL�VWXGHQWBEXUVLHU��5HGHILQLUHD�XQHL�PHWRGH�D�XQHL�FODVH�GH�ED]�vQWU�R�FODV� GHULYDW� VH�QXPHúWH�SROLPRUILVP�����)LH�VFKHPD�GH�PRúWHQLUH�SUH]HQWDW� vQ�ILJXUD���������� /D� GHFODUDUHD� XQXL� RELHFW� GLQ� FODVD� '�� PHPEULL� FODVHL� $ �LQW� D�� VXQW� PRúWHQL L� GH�

RELHFWXO�GLQ�FODVD�' vQ�GXEOX�H[HPSODU��ILJXUD���������3HQWUX�D�HYLWD�DFHDVW� VLWXD LH��FODVD $ YD� IL� GHFODUDW� YLUWXDO��� SHQWUX� FODVHOH� GHULYDWH� % úL� &�� 0HWRGD� DUDW� HVWH�UHGHILQLW� vQ�FODVHOH�%�&��' �SROLPRUILVP���YH]L�H[HUFL LXO�XUP�WRU�úL�ILJXUD��������

������������ ([HUFL LX��LQFOXGH��LRVWUHDP�K!FODVV�$^

LQW�D�SXEOLF�

)LJXUD������

[��RELHFW�GLQ�FODVD�'�

RELHFW�GLQ�FODVD�%RELHFW�GLQ�FODVD�$

LQW�DLQW�E

RELHFW�GLQ�FODVD�&RELHFW�GLQ�FODVD�$

LQW�DLQW�F

LQW�G

&ODVD�$LQW�D

&ODVD�%LQW�E

&ODVD�&LQW�F

&ODVD�'LQW�G

)LJXUD������

Page 222: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

$�LQW�DD�^D DD��FRXW���&RQVWUXFWRU�$���D��?Q�`

a$��^FRXW��´'HVWUXFWRU�$´�`

YRLG�DUDW���^FRXW���$�D ���D��?Q�`

`�FODVV�%��YLUWXDO�SXEOLF�$^

LQW�E�SXEOLF�

%�LQW�EE��LQW�DD ���$�DD��^E EE�FRXW���&RQVWUXFWRU�%���E��?Q�`

a%��^FRXW��´'HVWUXFWRU�%´�`

YRLG�DUDWD����������^FRXW���%�E ���E��?Q�`

`�FODVV�&��YLUWXDO�SXEOLF�$^

LQW�F�SXEOLF�

&��LQW�FF��LQW�DD ���$�DD�^F FF��FRXW���&RQVWUXFWRU�&���F��?Q�`

a&��^FRXW��´'HVWUXFWRU�&´�`

YRLG�DUDWD��^FRXW���&�F ���F��?Q�`

`�FODVV�'��SXEOLF�%��SXEOLF�&^

LQW�G�SXEOLF�

'�LQW�DD��LQW�EE��LQW�FF��LQW�GG��$�DD���%�EE���&�FF�^G GG�FRXW���&RQVWUXFWRU�'���G��?Q�`

a'��^FRXW��´'HVWUXFWRU�'´�`

YRLG�DUDW���^FRXW���'�G ���G��?Q�`

`�YRLG�PDLQ��^'�[������������ �&RQVWUXFWRU�$��&RQVWUXFWRU�%��&RQVWUXFWRU�&��&RQVWUXFWRU�'�� �[�DUDW���� ���DSHOXO�PHWRGHL�DUDW� GLQ�FODVD�'��SHQWUX�RELHFWXO�[ '�G �[�%��DUDW���� ���DSHOXO�PHWRGHL�DUDW� GLQ�FODVD�%� %�E �[�&��DUDW���� ���DSHOXO�PHWRGHL�DUDW� GLQ�FODVD�& &�F �[�$��DUDW���� ���DSHOXO�PHWRGHL�DUDW� GLQ�FODVD�$� $�D �` � �'HVWUXFWRU�' 'HVWUXFWRU�& 'HVWUXFWRU�% 'HVWUXFWRU�$

�[�� RELHFW�GLQ�FODVD�'RELHFW�GLQ�FODVD�$

LQW�DRELHFW�GLQ�FODVD�%

LQW�ERELHFW�GLQ�FODVD�&

LQW�FLQW�G

Page 223: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

([HUFL LX� )LH�XUP�WRUXO�SURJUDP�GH�WHVW�SHQWUX�LHUDUKLD�GH�FODVH�GLQ�ILJXUD����� ���vQ�FDUH�$ HVWH�FODV� YLUWXDO��YRLG�PDLQ��^$�X������ ���&RQVWUXFWRU�$ ��� ��SWU��RELHFWXO�X��GH�WS�$%�Y��������� ���&RQVWUXFWRU�$ �� &RQVWUXFWRU�%� � ��SWU��RELHFWXO�Y���GH�WLS�%&�Y��������� ���&RQVWUXFWRU�$ � &RQVWUXFWRU�& �� ��SWU��RELHFWXO�Y���GH�WLS�&'�Z�������������������&RQVWUXFWRU�$���� &RQVWUXFWRU�% � &RQVWUXFWRU�& ���

���&RQVWUXFWRU' �� ��SWU��RELHFWXO�Z��GH�WLS�'

���6H�DSHOHD]� PHWRGD�DUDW���SHQWUX�RELHFWXO�FXUHQWX�DUDW���� ���$�D ��Y��DUDW���� ���%�E �Y��DUDW���� ���&�F ��Z�DUDW���� ���'�G ��`� �'HVWUXFWRU�' 'HVWUXFWRU�& 'HVWUXFWRU�% 'HVWUXFWRU�$ ��SWU��RELHFWXO��Z'HVWUXFWRU�& 'HVWUXFWRU�$� ��SWU��RELHFWXO�Y�'HVWUXFWRU�% 'HVWUXFWRU�$ ��SWU��RELHFWXO�Y�'HVWUXFWRU�$ ��SWU��REHFWXO��X� �$úD�FXP�VH�REVHUY� GLQ�H[HPSOX��PHWRGD�DUDW� GLQ�FODVD�GH�ED]� $ D�IRVW�UHGHILQLW� vQ�FODVHOH�GHULYDWH %��&��'�� ÌQ� SOXV��PHWRGD� DUH� DFHHDúL� VHPQ�WXU� vQ� WRDWH� FODVHOH��'DF� QX� DU� IL� IRVW�UHGHILQLW� vQ�FODVHOH�GHULYDWH��PHWRGD�DUDW� �SXEOLF���GLQ�FODVD�GH ED]� $�DU�IL�IRVW�PRúWHQLW� GH�FODVHOH� GHULYDWH�� UHGHILQLUHD� D� IRVW� QHFHVDU� SHQWUX� D� SXWHD� YL]XDOL]D� úL� GDWHOH�PHPEUH� SURSULL�FODVHORU� GHULYDWH�� ÌQ� FD]XO� GH� ID ��� LGHQWLILFDUHD� PHWRGHL� DSHODWH� VH� UHDOL]HD]� FKLDU� vQ� HWDSD�FRPSLO�ULL�� GDWRULW� OHJ�WXULL� FX� RELHFWXO� SHQWUX� FDUH� D� IRVW� DSHODW��� 'H� H[HPSOX�� OD� DSHOXO�Z�DUDW��� VH�DSOLF� PHWRGD�GLQ�FODVD�' �RELHFWXO�Z HVWH�GH�WLS�'��&RQFOX]LRQkQG��LGHQWLILFDUHD�XQHL�PHWRGH�GLQ�FODVD�GH�ED]� UHGHILQLWH�vQ�FODVHOH�GHULYDWH��VH�IDFH�SULQ�XQD�GLQ�PRGDOLW� LOH�� 'LIHUHQ HOH�GH�VHPQ�WXU� DOH�PHWRGHL�UHGHILQLWH�� 3ULQ�OHJ�WXUD�FX�RELHFWXO�DVXSUD�F�UXLD�VH�DSOLF� PHWRGD��YH]L�DSHOXULOH�PHWRGHL�DUDW� SHQWUX�

RELHFWHOH�X��Y���Y���Z��� 3UH]HQ D�RSHUDWRUXOXL�GH� UH]ROX LH� �GH� H[HPSOX��GDF� SHQWUX�RELHFWXO�Z� VH�GRUHúWH� DSHODUHD�

PHWRGHL�DUDW� GLQ�FODVD�%��DSHOXO�YD�DFHD�IRUPD���Z�$��DUDW���� ���

Page 224: C++ Tutorial(Romaneste)

� ��� �

3DJH

8Q�SRLQWHU�F�WUH�R�FODV� GH�ED]� SRDWH�SULPL�FD�YDORDUH�DGUHVD�XQXL�RELHFW�GLQWU�R�FODV� GHULYDW��ILJXUD� �������� ÌQ� DFHDVW� VLWXD LH�� VH� DSHOHD]� PHWRGD� GLQ� FODVD� SRLQWHULORU�� úL� QX� GLQ� FODVD�RELHFWXOXL�VSUH�FDUH�SRLQWHD]� SRLQWHUXO�3HQWUX� H[HPSOLILFDUH��YRP�FRQVLGHUD� LHUDUKLD�GH� FODVH� �$��%��&��'��XOWHULRDU ��� úL� SURJUDPXO�GH�WHVW�YRLG�PDLQ��^$�X������ 3$�� ���&RQVWUXFWRU�$ ��%�Y��������� 3%�� ���&RQVWUXFWRU�$�� � &RQVWUXFWRU�% � ��SWU��Y�&�Y��������� 3&�� ���&RQVWUXFWRU�$��� &RQVWUXFWRU�&��� ��SWU��Y�'�Z����������������� 3'� ���&RQVWUXFWRU�$���� &RQVWUXFWRU�%�� �

���&RQVWUXFWRU�&� �� &RQVWUXFWRU�'����3$ X��3$�!DUDW���� ���6H�VHOHFWHD]� PHWRGD�DUDW� GLQ�FODVD�$$�D ��3$ Y���3$�!DUDW���� ���6H�VHOHFWHD]� PHWRGD�DUDW� GLQ�FODVD�$$�D �3% Y���3%�!DUDW���� ���6H�VHOHFWHD]� PHWRGD�DUDW� GLQ�FODVD�%%�E �3$ Z��3% Z��3' Z�X�DUDW���� ���$SHOXO�PHWRGHL�DUDW� SWU��RELHFWXO��FXUHQW��FODVD�$ $�D ��3$�!DUDW���� ���6H�VHOHFWHD]� PHWRGD�DUDW� GLQ�FODVD�$ $�D ��3%�!DUDW���� ���6H�VHOHFWHD]� PHWRGD�DUDW� GLQ�FODVD�% %�E �3'�!DUDW���� ���6H�VHOHFWHD]� PHWRGD�DUDW� GLQ�FODVD�' '�G ���`

SD

SE

SF

S

)

$úD� FXP� VH� REVHUY� GLQ� H[HPSOX��SD��SE��SF úL�SG VXQW� SRLQWHUL� GH�WLSXULOH�$��%��&��UHVSHFWLY�'�$� SD�%� SE�&� SF�'� SG�

ÌQ�XUPD�DWULEXLULL�SD Y��

SRLQWHUXO�SD �GH�WLS�$��YD�FRQ LQH�DGUHVD�RELHFWXOXL�Y� �GH�WLS�%���$SHOXO�PHWRGHL�DUDW� UHGHILQLWH�vQ�FODVD�GHULYDW� %

SD�!DUDW����YD�GHWHUPLQD�VHOHF LD�PHWRGHL�GLQ�FODVD�SRLQWHUXOXL �$���úL�QX�D��PHWRGHL�GLQ�FODVD�RELHFWXOXL�D�F�UXL�DGUHVD�R�FRQ LQH�SRLQWHUXO�

X

���� RI����

$�D ��D ��

%�E �VDX�%�Y�������

Y�D �

E �

&�F ��VDX�&�Y��������

Y�D �F ��

Z'�G ��VDX�'�Z������������

D ��

G ��E � F ��

G

LJXUD��������8Q�SRLQWHU�F�WUH�R�FODV� GH�ED]� LQL LDOL]DW�FX�DGUHVD�XQXL�RELHFW�GLQWU�R�FODV� GHULYDW�

Page 225: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

ÌQ� WRDWH� FD]XULOH� SUH]HQWDWH� DQWHULRU�� LGHQWLILFDUHD� PHWRGHL� UHGHILQLWH� VH� UHDOL]HD]� vQ� ID]D� GH�FRPSLODUH��(VWH� YRUED� GH�R� OHJDUH� LQ LDO��� �HDUO\� ELQGLQJ��� vQ� FDUH� WRDWH� LQIRUPD LLOH� QHFHVDUH�VHOHFW�ULL�PHWRGHL�VXQW�SUH]HQWDWH�GLQ�WLPS�úL�SRW�IL�XWLOL]DWH�GLQ�ID]D�GH�FRPSLODUH�

�������0(72'(�9,578$/($úD�FXP�V�D� VXEOLQLDW�� XQ�SRLQWHU� OD�R� FODV� GH�ED]� SRDWH�SULPL� FD�YDORDUH� DGUHVD�XQXL�RELHFW�GLQWU�R� FODV� GHULYDW��� 'HFL�� DYkQG� XQ� WDEORX� GH� SRLQWHUL� OD� RELHFWH� GH� WLS� $�� SXWHP� OXFUD� FX�WDEORXUL� GH� RELHFWH� HWHURJHQH�� FX� HOHPHQWH� GH� WLSXUL� GLIHULWH� �%�� &� VDX� '��� ÌQ� XQHOH� VLWXD LL��LQIRUPD LLOH�SULYLQG�WLSXO�RELHFWXOXL�OD�FDUH�SRLQWHD]� XQ�HOHPHQW�DO�WDEORXOXL�VXQW�GLVSRQLELOH�DELD�vQ�PRPHQWXO� H[HFX LHL� SURJUDPXOXL�� 2� UH]ROYDUH� D� LGHQWLILF�ULL�PHWRGHL� vQ�PRPHQWXO� H[HFX LHL�SURJUDPXOXL�R�FRQVWLWXLH�IXQF LLOH�YLUWXDOH��,GHQWLILFDUHD� XQHL� PHWRGH� VXSUDGHILQLWH�� vQ� PRPHQWXO� H[HFX LHL�� VH� QXPHúWH� OHJDUH� XOWHULRDU����ODWH�ELQGLQJ��'DF� GRULP� FD� VHOHFWDUHD�PHWRGHL� DUDW��� GLQ� H[HPSOXO� DQWHULRU�� V� VH� UHDOL]H]H� vQ�PRPHQWXO�H[HFX LHL��PHWRGD�YD�IL�GHFODUDW� PHWRG� YLUWXDO� �([HPSOX�

FODVV�$�^SXEOLF�

YLUWXDO YRLG�DUDW������vQ�ORF�GH�YRLG�DUDW��������� ����

`�FODVV�%���YLUWXDO�SXEOLF�$�^SXEOLF�

YLUWXDO YRLG�DUDW������vQ�ORF�GH�YRLG�DUDW��������� ����

`�FODVV�&����YLUWXDO�SXEOLF�$�^SXEOLF�

YLUWXDO YRLG�DUDW������vQ�ORF�GH�YRLG�DUDW��������� ����

`�FODVV�%���SXEOLF�%��SXEOLF�&^SXEOLF�

YLUWXDO YRLG�DUDW������vQ�ORF�GH�YRLG�DUDW��������� ����

`�ÌQ�XUPD�DFHVWHL�PRGLILF�UL��UH]XOWHOH�H[HFX LHL�SURJUDPXOXL�DQWHULRU�DU�IL�IRVW�YRLG�PDLQ��^$�X������ 3$�� ���&RQVWUXFWRU�$ ��%�Y��������� 3%�� ���&RQVWUXFWRU�$�� � &RQVWUXFWRU�%��� ��SWU��Y�&�Y��������� 3&�� ���&RQVWUXFWRU�$��� &RQVWUXFWRU�&��� ��SWU��Y�

Page 226: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

'�Z����������������� 3'� ���&RQVWUXFWRU�$���� &RQVWUXFWRU�%�� ����&RQVWUXFWRU�&� �� &RQVWUXFWRU�'����

3$ X��3$�!DUDW���� ���6H�VHOHFWHD]� PHWRGD�DUDW� GLQ�FODVD�$ $�D ��3$ Y���3$�!DUDW���� ���6H�VHOHFWHD]� PHWRGD�DUDW� GLQ�FODVD�% %�E �3% Y���3%�!DUDW���� ���6H�VHOHFWHD]� PHWRGD�DUDW� GLQ�FODVD�% %�E �3$ Z��3% Z��3' Z�X�DUDW���� ���$SHOXO�PHWRGHL�DUDW� SWU��RELHFWXO��FXUHQW��FODVD�$ $�D ��3$�!DUDW���� ���6H�VHOHFWHD]� PHWRGD�DUDW� GLQ�FODVD�' '�G ��3%�!DUDW���� ���6H�VHOHFWHD]� PHWRGD�DUDW� GLQ�FODVD�' '�G ��3'�!DUDW���� ���6H�VHOHFWHD]� PHWRGD�DUDW� GLQ�FODVD�' '�G ���`2EVHUYD LH��� 'HRDUHFH�PHWRGD�DUDW� HVWH�YLUWXDO��� V�D� VHOHFWDW�PHWRGD�SHQWUX�FODVD�RELHFWXOXL� VSUH�FDUH�

SRLQWHD]� SRLQWHUXO��� 'DF� vQ�FODVD�GH�ED]� VH�GHFODU� R PHWRG� YLUWXDO���vQ�FODVHOH�GHULYDWH PHWRGHOH�FX�DFHHDúL�

VHPQDWXU� YRU� IL� FRQVLGHUDWH LPSOLFLW YLUWXDOH �FKLDU� GDF� HOH� QX� VXQW� GHFODUDWH�� H[SOLFLW��YLUWXDOH��

ÌQ�FD]XO�XQHL�IXQF LL�GHFODUDWH�YLUWXDO� vQ�FODVD�GH�ED]� úL�UHGHILQLWH�vQ�FODVD�GHULYDW���UHGHILQLUHD�PHWRGHL� vQ� FODVD� GHULYDW� DUH� SULRULWDWH� ID �� GH� GHILQLUHD� HL� GLQ� FODVD� GH� ED]���$VWIHO�� R� IXQF LH�YLUWXDO� GHFODUDW� vQ� FODVD� GH� ED]� DFWLRQHD]� FD� XQ� VXEVWLWXW SHQWUX� S�VWUDUHD� GDWHORU� FDUH�VSHFLILF� R�FODV� JHQHUDO� GH�DF LXQL�úL�GHFODU� IRUPD�LQWHUIH HL��/D�SULPD�YHGHUH��UHGHILQLUHD�XQHL�IXQF LL� YLUWXDOH� vQWU�R� FODV� GHULYDW� SDUH� VLPLODU� FX� VXSUDvQF�UFDUHD� XQHL� IXQF LHL� RELúQXLWH��7RWXúL��QX�HVWH�DúD��GHRDUHFH�SURWRWLSXO�XQHL�PHWRGH�YLUWXDOH�UHGHILQLWH�WUHEXLH�V � FRLQFLG� FX�FHO�VSHFLILFDW� vQ� FODVD� GH� ED]��� ÌQ� FD]XO� VXSUDvQF�UF�ULL� XQHL� IXQF LL� QRUPDOH�� FDUDFWHULVWLFLOH�SURWRWLSXULORU�WUHEXLH�V� GLIHUH��SULQ�WLSXO�UHWXUQDW��QXP�UXO�úL�VDX�WLSXO�SDUDPHWULORU��([HUFL LX���)LH�LHUDKLD�GH�FODVH�GLQ�ILJXUD��������0HWRGD�YLUWXDO� YLUWBI ��GLQ�FODVD�ED]���HVWH�UHGHILQLW� vQ�FODVHOH�GHULYDWH��LQFOXGH��LRVWUHDP�K!FODVV�ED]D^SXEOLF�

ED]���^FRXW���&RQVWUXFWRU�ED]�?Q��`

aED]���^FRXW���'HVWUXFWRU�ED]�?Q��`

YLUWXDO�YRLG�YLUWBI��^FRXW���0HWRGD�YLUWBI���GLQ�ED]�?Q��`

`�FODVV�GHULYDW���SXEOLF�ED]D^SXEOLF�

GHULYDW����ED]D��^FRXW���&RQVWUXFWRU�GHULYDW�?Q��`

aGHULYDW���^FRXW���'HVWUXFWRU�GHULYDW�?Q��`

YLUWXDO�YRLG�YLUWBI��^FRXW���0HWRGD�YLUWBI���GLQ�GHULYDW�?Q��`

`�FODVV�GHULYDW���SXEOLF�ED]D^SXEOLF�

GHULYDW����ED]D��

ED]�

GHULYDW� GHULYDW�

GHULYDW�D GHULYDW�D

)LJXUD���������,HUDUKLH�GH�FODVH

Page 227: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

^FRXW���&RQVWUXFWRU�GHULYDW�?Q��`aGHULYDW���

^FRXW���'HVWUXFWRU�GHULYDW�?Q��`YLUWXDO�YRLG�YLUWBI��

^FRXW���0HWRGD�YLUWBI���GLQ�GHULYDW�?Q��``�FODVV�GHULYDW�D��SXEOLF�GHULYDW�^SXEOLF�

GHULYDW�D���GHULYDW���^FRXW���&RQVWUXFWRU�GHULYDW�D?Q��`

aGHULYDW�D��^FRXW���'HVWUXFWRU�GHULYDW�D?Q��`

YLUWXDO�YRLG�YLUWBI��^FRXW���0HWRGD�YLUWBI���GLQ�GHULYDW�D?Q��`

`�FODVV�GHULYDW�D��SXEOLF�GHULYDW�^SXEOLF�

GHULYDW�D���GHULYDW���^FRXW���&RQVWUXFWRU�GHULYDW�D?Q��`

aGHULYDW�D��^FRXW���'HVWUXFWRU�GHULYDW�D?Q��`

YLUWXDO�YRLG�YLUWBI��^FRXW���0HWRGD�YLUWBI���GLQ�GHULYDW�D?Q��`

`�YRLG�PDLQ��^ ED]D� S�� ��&RQVWUXFWRU�ED]�

ED]D�E� ��&RQVWUXFWRU�ED]�GHULYDW��G�� ���&RQVWUXFWRU�ED]� &RQVWUXFWRU�GHULYDW�GHULYDW��G�� ���&RQVWUXFWRU�ED]� &RQVWUXFWRU�GHULYDW�GHULYDW�D�G�D� �� &RQVWUXFWRU�ED]� &RQVWUXFWRU�GHULYDW� &RQVWUXFWRU�

GHULYDW�DGHULYDW�D�G�D� �� &RQVWUXFWRU�ED]� &RQVWUXFWRU�GHULYDW� &RQVWUXFWRU�

GHULYDW�DS E� S�!YLUWBI��� ���0HWRGD�YLUWBI���GLQ�ED]�S G��S�!YLUWBI��� ���0HWRGD�YLUWBI���GLQ�GHULYDW�S G��S�!YLUWBI��� ���0HWRGD�YLUWBI���GLQ�GHULYDW�S G�D�S�!YLUWBI��� ���0HWRGD�YLUWBI���GLQ�GHULYDW�DS G�D�S�!YLUWBI��� ���0HWRGD YLUWBI���GLQ�GHULYDW�D

`���'HVWUXFWRU�GHULYDW�D 'HVWUXFWRU�GHULYDW� 'HVWUXFWRU�ED]� �SHQWUX�G�D����'HVWUXFWRU�GHULYDW�D 'HVWUXFWRU�GHULYDW� 'HVWUXFWRU�ED]� �SHQWUX�G�D����'HVWUXFWRU�GHULYDW� 'HVWUXFWRU�ED]� �SHQWUX�G�����'HVWUXFWRU�GHULYDW� 'HVWUXFWRU�ED]� �SHQWUX�G�����'HVWUXFWRU�ED]� �SHQWUX�E�

���� ([HUFL X� )LH�LHUDUKLD�GH�FODVH�GLQ�ILJXUD��������6H�SUH]LQW� R�PRGDOLWDWH�GH�OXFUX�FX�XQ� WDEORX�HWHURJHQ��FX���HOHPHQWH�� FDUH�FRQ LQH�SRLQWHUL�DWkW� VSUH�FODVD�ED]D�� FkW� úL�VSUH� FODVHOH�GHULYDW� úL�GHULYDW��� 3HQWUX� D� SXWHD� WUDWD� vQ�PRG� XQLIRUP� FHOH� WUHL�WLSXUL� GH� RELHFWH�� V�D� FUHDW� FODVD� OLVWDBHWHURJHQD�� $FHDVWD� DUH� FD� GDW� PHPEUX�SRLQWHUXO�OD�WLSXO�ED]D úL�PHWRGD�DILV �YLUWXDO���UHGHILQLW� vQ�FODVHOH�GHULYDWH���

�LQFOXGH��LRVWUHDP�K!�LQFOXGH��FRQLR�K!

Page 228: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

FODVV�ED]D^SURWHFWHG�

LQW�YDO�SXEOLF�

ED]D��^FRXW���&RQVWUXFWRU�ED]D?Q��`

aED]D��^FRXW���'HVWUXFWRU�ED]D?Q��`

YRLG�VHWBYDO�LQW�D�^YDO D�`

YLUWXDO�YRLG�DILV��^FRXW���(OHPHQW�ED]D ���YDO���?Q��`

`�FODVV�GHULYDW���SXEOLF�ED]D^SXEOLF�

GHULYDW����ED]D��^FRXW���&RQVWUXFWRU�GHULYDW�?Q��`

aGHULYDW���^FRXW���'HVWUXFWRU�GHULYDW�?Q��`

YRLG�DILV��^FRXW���(OHPHQW�GHULYDW� ���YDO���?Q��`

`�FODVV�GHULYDW���SXEOLF��ED]D^SXEOLF�

GHULYDW����ED]D��^FRXW���&RQVWUXFWRU�GHULYDW�?Q��`

aGHULYDW���^FRXW���'HVWUXFWRU�GHULYDW�?Q��`

YRLG�DILV��^FRXW���(OHPHQW�GHULYDW� ���YDO���?Q��`

`�FODVV�OLVWDBHWHURJHQD�^

ED]D� S�SXEOLF�

YRLG�VHWBO�ED]D� SS� ^S SS�`YRLG�DILV�� ^S�!DILV���`

`�YRLG�PDLQ��^ FOUVFU���

ED]D�%>�@����&RQVWUXFWRU�ED]D &RQVWUXFWRU�ED]D &RQVWUXFWRU�ED]D����SHQWUX�HOHPHQWHOH�WDEORXOXL�%��GH�WLS�ED]D

GHULYDW��'�����&RQVWUXFWRU�ED]D &RQVWUXFWRU�GHULYDW� �SHQWUX�'���GH�WLS�GHULYDW��GHULYDW��'�����&RQVWUXFWRU�ED]D &RQVWUXFWRU�GHULYDW� �SHQWUX�'���GH�WLS�GHULYDW��OLVWDBHWHURJHQD�/>�@�FRXW���$SDVD�R�WDVWD�����?Q��JHWFK���%>�@�VHWBYDO������%>�@�VHWBYDO�������%>�@�VHWBYDO�������'��VHWBYDO�������'��VHWBYDO������/>�@�VHWBO�%>�@�� ��/>�@�VHWBYDO�%��/>�@�VHWBO�'���/>�@�VHWBO��ED]D ��'���/>�@�VHWBO�%>�@��

ED]D

GHULYDW� GHULYDW�

)LJXUD�������

Page 229: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

��/>�@�VHWBO�%������/>�@�VHWBO�%>�@��

/>�@�VHWBO�%����IRU��LQW�L ���L����L���� />L@�DILV���

� (OHPHQW�ED]D �� (OHPHQW�GHULYDW� ��� (OHPHQW�GHULYDW� ���(OHPHQW�ED]D ��� (OHPHQW�ED]D ���� �

`ÌQ�FD]XO�XQHL�LHUDUKLL�GH�FODVH�úL�D�XQHL�PHWRGH�YLUWXDOH� D�FODVHL�GH�ED]���WRDWH�FODVHOH�GHULYDWH�FDUH�PRúWHQHVF� DFHDVW� PHWRG� úL� QX� R UHGHILQHVF�� R� PRúWHQHVF� vQWRFPDL�� 3HQWUX� DFHHDúL� PHWRG�PRúWHQLW� úL� UHGHILQLW� vQ� FODVHOH� GHULYDWH�� VHOHF LD� VH� UHDOL]HD]� vQ� PRPHQWXO� H[HFXW�ULL�SURJUDPXOXL��OHJDUHD�WkU]LH���)XQF LLOH�YLUWXDOH�QX SRW�IL��PHWRGH�VWDWLFH�DOH�FODVHL�GLQ�FDUH�IDF�SDUWH��)XQF LLOH� YLUWXDOH� QX� SRW� IL� IXQF LL� SULHWHQH� VDX� FRQVWUXFWRUL�� GDU� SRW� IL� GHVWUXFWRUL��'HVWUXFWRULL�YLUWXDOL� VXQW� XWLOL� vQ� VLWXD LLOH� vQ� FDUH� VH� GRUHúWH� GLVWUXJHUHD� XQLIRUP� D� XQRU� PDVLYH� GH� GDWH�HWHURJHQH������ 0HWRGH�YLUWXDOH�SXUHÌQ�XQHOH�VLWXD LL��R�FODV� GH�ED]� �GLQ�FDUH�VH�GHULYHD]� DOWH�FODVH��D�XQHL�LHUDUKLL��SRDWH�IL�DWkW�GH�JHQHUDO���DVWIHO� vQFkW�XQHOH�PHWRGH�QX�SRW�IL�GHVFULVH�OD�DFHVW�QLYHO� �DWkW�GH�DEVWUDFW���FL�GRDU�vQFODVHOH�GHULYDWH��$FHVWH�PHWRGH�VH�QXPHVF�IXQF LL�SXUH ��0HWRGHOH�YLUWXDOH�SXUH VXQW�PHWRGH�FDUH�VH�GHFODU���QX�VH�GHILQHVF OD�DFHVW�QLYHO�GH�DEVWUDFWL]DUH��2�PHWRG� YLUWXDO� SXU� WUHEXLH�V� ILH�SUH]HQW� vQ�RULFH�FODV� GHULYDW��([HPSOH�

FODVV�ED]�^SXEOLF�

YLUWXDO�YRLG�YLUWBI�� �� `� ��PHWRGD�YLUWBI HVWH�R�PHWRG� YLUWXDO�SXU�FODVV�YLH XLWRDUH�^SXEOLF�

YLUWXDO�YRLG�QXWUL LH�� �� `� ��PHWRGD� QXWUL LH HVWH� R� PHWRG�YLUWXDO� SXU�

2�FODV� FX�FHO�SX LQ�R�PHWRG� YLUWXDO� SXU� VH�QXPHúWH�FODV� DEVWUDFW� �FODVD�YLH XLWRDUH HVWH�DEVWUDFW� úL��FD�XUPDUH��QX�SRDWH�IL�LQVWDQ LDW����

Ì175(%�5,�ù,�(;(5&,�,,&KHVWLXQL�WHRUHWLFH�� &H�HVWH�R�FODV� GHULYDW� úL�FH�FDUDFWHULVWLFL�DUH"��� )XQF LLOH�SULHWHQH�SRW�IL�IXQF LL�YLUWXDOH"�� 'HVWUXFWRULL�VH�PRúWHQHVF"�� &H�HVWH�R�FODV� YLUWXDO� úL�vQ�FH�VLWXD LL�HVWH�XWLO�"�� &H�HVWH�R�PHWRG� YLUWXDO� SXU� úL�FXP�VH�GHFODU� DFHDVWD"�� ([SOLFD L�FH�vQVHDPQ� OHJDUHD�LQL LDO� �HDUO\�ELQGLQJ���� 0RGXO�GH�GHFODUDUH�D�XQHL�FODVH�GHULYDWH��FX�PDL�PXOWH�VXSHUFODVH��� &H�HVWH�R�PHWRG� YLUWXDO� "�� )XQF LLOH�YLUWXDOH�SRW�IL�PHPEULL�VWDWLFL�DL�FODVHL�GLQ�FDUH�IDF�SDUWH "��� 5HGHILQLUHD�XQHL�IXQF LL�YLUWXDOH�vQWU�R�FODV� GHULYDW� HVWH�VLPLODU� FX�VXSUDLQFDUFDUHD�IXQF LHL�

UHVSHFWLYH"�$UJXPHQWDWL�U�VSXQVXO���� &DUH�HVWH�XWLOLWDWHD�PRúWHQLULL"

Page 230: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

��� ([SOLFD L�FH�vQVHDPQ� OHJDUHD�XOWHULRDU� �ODWH�ELQGLQJ��

Page 231: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

&KHVWLXQL�SUDFWLFH�� 6� VH�LPSOHPHQWH]H�LHUDUKLD�GH�FODVH�GLQ�ILJXUD���������FX

PHPEULL�SH�FDUH�vL�FRQVLGHUD L�QHFHVDUL��� &RQFHSH L�R�LHUDUKLH�GH�FODVH�D�ILJXULORU�JHRPHWULFH�

&D�GDWH�PHPEUH�SRW�IL�FRQVLGHUDWH�SR]L LD��GLPHQVLXQLOHúL�DWULEXWHOH�GH�GHVHQDUH��FXORDUH��WLS�OLQLH���0HWRGHOH�YRU�SHUPLWH�RSHUD LL�GH�DILúDUH��GHSODVDUH��úWHUJHUH��PRGLILFDUHD�DWULEXWHORU�ILJXULL��&ODVD�GH�ED]� YD�DYHD�SURSULHW� LOH�JHQHUDOH�DOH�RULF�UHL�ILJXUL��FRRUGRQDWHOHSH�HFUDQ�úL�YL]LELOLWDWH�

�� 'LQ�FODVD�PDWULFH��V� VH�GHULYH]H�FODVD�FBPDWULFH��FDUHUHSUH]LQW� R�PDWULFH�GH�FRPSOHFúL�

,175�5,�,(ù,5,�������3ULQFLSLLOH�GH�ED]� DOH�VLVWHPXOXL�GH� �������0HWRGHOH�FODVHL�LVWUHDP

,�2�GLQ�OLPEDMXO�&�� �������0HWRGHOH�FODVHL�RVWUHDP������7HVWDUHD�úL�PRGLILFDUHD�VW�ULL�XQXL�IOX[ �������0DQLSXODWRUL�FUHD L�GH�XWLOL]DWRU�������)RUPDWDUHD�XQXL�IOX[ �������)OX[XUL�SHQWUX�ILúLHUH

��������)RUPDWDUHD�SULQ�PDQLSXODWRUL �������)LúLHUH�ELQDUH��������)RUPDWDUHD�SULQ�PHWRGH

����� 35,1&,3,,/(�'(�%$=� $/(�6,67(08/8,�'(�,175�5,�,(ù5,

',1�/,0%$-8/�&��ÌQ�OLPEDMXO�&���H[LVW� GRX� VLVWHPH�GH�LQWU�UL�LHúLUL�� 8QXO�WUDGL LRQDO��PRúWHQLW�GLQ�OLPEDMXO�&��vQ�FDUH�RSHUD LLOH�GH�LQWUDUH�LHúLUH�VH�UHDOL]HD]� FX

DMXWRUXO�XQRU�IXQF LL�GLQ�ELEOLRWHFD�VWDQGDUG�D�VLVWHPXOXL��YH]L�FDSLWROXO����� 8QXO�SURSULX�OLPEDMXOXL�&����RULHQWDW�SH�RELHFWH��6LVWHPXO�GH�,�2�RULHQWDW�SH�RELHFWH�DO�OLPEDMXOXL�&���WUDWHD]� vQ�DFHHDúL�PDQLHU� RSHUD LLOH�GH�,�2�FDUH� IRORVHVF� FRQVROD� úL� RSHUD LLOH� FDUH� XWLOL]HD]� ILúLHUH� �SHUVSHFWLYH� GLIHULWH� DVXSUD� DFHOXLDúL�PHFDQLVP���/D�ED]D�VLVWHPXOXL�GH�,�(�GLQ�&���VH�DIO��

SHUVRDQD

DQJDMDW VWXGHQW

EXJHWDU�FX�VDODULXO�GH�ED]� IL[��

)LJXUD�������

VWXGHQW�EXUVLHU

PXQFLWRU�VDODULX�vQ�DFRUG�JOREDO��QUBRUH

WDULIBRU��

��

Page 232: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

� GRX� LHUDUKLL�GH�FODVH�FDUH�SHUPLW�UHDOL]DUHD�RSHUD LLORU�GH�,�2�� FRQFHSWXO�GH VWUHDP �VWUHDP�XO�HVWH�XQ�FRQFHSW�DEVWUDFW�FDUH�vQJOREHD]� RULFH�IOX[ GH�GDWH�GH�

OD�R�VXUV� �FDQDO�GH�LQWUDUH��OD�R�GHVWLQD LH��FDQDO�GH�LHúLHUH���OD�XQ�FRQVXPDWRU��6XUVD�SRDWH�IL�WDVWDWXUD��LQWUDUHD�VWDQGDUG���XQ�ILúLHU�GH�SH�GLVF�VDX�R�]RQ� GH�PHPRULH��'HVWLQD LD�SRDWH�IL�HFUDQXO��LHúLUHD�VWDQGDUG���XQ�ILúLHU�GH�SH�GLVF�VDX�R�]RQ� GH�PHPRULH��ILJXUD�������

$YDQWDMHOH�XWLOL]�ULL�VWUHDP�XULORU�VXQW�� )OH[LELOLWDWH�PDUH�vQ�UHDOL]DUHD�RSHUD LLORU�GH�,�2��PDL�PDUH�GHFkW�vQ�FD]XO�IRORVLULL�IXQF LLORU�

GLQ�&��� 3RVLELOLWDWHD� GH� HOLPLQDUH� D� HURULORU� FDUH� DSDU� vQ� PRG� IUHFYHQW� OD� DSHOX O� IXQF LLORU� GH� ,�2�

RELúQXLWH��FkQG�QXP�UXO�VSHFLILFDWRULORU�GH�IRUPDW�GLIHU� GH�FHO�DO�SDUDPHWULORU�HIHFWLYL�� 3RVLELOLWDWHD�GH�D�UHDOL]D�RSHUD LL�GH�,�2�QX�QXPDL�FX�GDWH�GH�WLSXUL�SUHGHILQLWH��FL�úL�FX�RELHFWH�

GH�WLS�DEVWUDFW�%LEOLRWHFD� GH� FODVH� GH� ,�2� D OLPEDMXOXL� &��� XWLOL]HD]� PRúWHQLUHD�� SROLPRUILVPXO� úL� FODVHOH�DEVWUDFWH��,HUDUKLD�DUH�GRX� FODVH�GH�ED]� �ILJXUD���������� &ODVD�YLUWXDO� LRV FDUH�RIHU� LQIRUPD LL�GHVSUH�IOX[XULOH�GH�GDWH��YDULDELOH�GH�VWDUH��PHWRGH��

úL�IDFLOLW� L��WUDWDUHD�HURULORU�� &ODVD�VWUHDPEXI �FODV� SULHWHQ� FX�LRV���GHVWLQDW� RSHUD LLORU�GH�,�2�FX�IRUPDW�

)LJXUD��������6WUHDP�XO�� ED]D VLVWHPXOXL�GH�,�2

)OX[XUL�GLQ�FODVD�RVWUHDP

)OX[XUL�GLQ�FODVD�LVWUHDP

0HPRULD�LQWHUQ�

ILúLHUH)OX[XUL�GLQ�

FODVD�RIVWUHDP

)OX[XUL�GLQ�FODVD�

LIVWUHDP

LRV

LVWUHDP RVWUHDP

LRVWUHDP

VWUVWUHDPEDVH

VWUHDPEXI

ILOHEXIIVWUHDP

IVWUHDPEDVH

LIVWUHDP RIVWUHDP

)LJXUD��������,HUDUKLD�FODVHORU�GH�LQWUDUH�LHúLUH

Page 233: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

8WLOL]DUHD�LHUDUKLLORU�GH�FODVH�GH�PDL�VXV�LPSOLF� LQFOXGHUHD�KHDGHUXOXL�LRVWUHDP�K�� &ODVD�LRV DUH�XQ�SRLQWHU�F�WUH� VWUHDPEXI��$UH�GDWH�PHPEUX�SHQWUX� D�JHVWLRQD LQWHUID D� FX�

VWUHDPEXI�úL�SHQWUX�WUDWDUHD�HURULORU��&ODVHOH�GHULYDWH�GLQ�FODVD�GH�ED]� LRV�� &ODVD� LVWUHDP�� FDUH� JHVWLRQHD]� LQWU�ULOH� FODVV� LVWUHDP�YLUWXDO� SXEOLF

LRV� &ODVD�RVWUHDP JHVWLRQHD]� LHúLULOH� FODVV�RVWUHDP��YLUWXDO�SXEOLF�LRV

� &ODVD�LRVWUHDP�� GHULYDW� GLQ� LVWUHDP� úL� RVWUHDP�� JHVWLRQHD]� LQWU�ULOH� úL� LHúLULOH��)LHF�UXL� IOX[�GH�GDWH� L�VH�DVRFLD]� vQ�PHPRULH�R�]RQ� WDPSRQ�QXPLW� EXIIHU��&ODVD�IXUQL]HD]� IXQF LL� JHQHUDOH� SHQWUX� OXFUXO� FX� ]RQHOH� WDPSRQ� úL� SHUPLWH� WUDWDUHD�RSHUD LLORU�GH�,�2�I�U� D�DYHD�vQ�YHGHUH�IRUPDW�UL�FRPSOH[H��FODVV�LRVWUHDP�SXEOLF�LVWUHDP��SXEOLF�RVWUHDP

&ODVHOH�LVWUHDP��RVWUHDP�úL�LRVWUHDP�VXQW��ILHFDUH��FODVH�GH�ED]� SHQWUX�FODVHOH�GHULYDWH�FODVV�LVWUHDPBZLWKDVVLJQ�SXEOLF�LVWUHDPFODVV�RVWUHDPBZLWKDVVLJQ�SXEOLF�RVWUHDPFODVV LRVWUHDPBZLWKDVVLJQ�SXEOLF�LRVWUHDP

&ODVHOH�FX�VXIL[XO�BZLWKDVVLJQ IXUQL]HD]� XUP�WRDUHOH�IOX[XULOH�SUHGHILQLWH �LQVWDQ H���GHMD�FXQRVFXWH��� FRXW �FRQVROH� RXWSXW�� RELHFW� DO� FODVHL� RVWUHDPBZLWKDVVLJQ�� VLPLODU� ILúLHUXOXL�

VWDQGDUG�GH�LHúLUH�GHILQLW�GH�SRLQWHUXO�VWGRXW �vQ�&���6H�IRORVHúWH�FX�RSHUDWRUXO�LQVHUWRU��VXSUDvQF�UFDW�SHQWUX�WLSXULOH�SUHGHILQLWH�([HPSOX� LQW�Q��FRXW��Q�&RQYHUWHúWH�GLQ�IRUPDW�ELQDU� vQ�]HFLPDO�YDORDUHD� OXL�Q�� úL� WULPLWH� �LQVHUHD]��� vQ�IOX[XO�FRXW�FDUDFWHUHOH�FRUHVSXQ]�WRDUH�ILHF�UHL�FLIUH�RE LQXWH�

�� FLQ �FRQVROH�LQSXW��RELHFW�DO�FODVHL�LVWUHDPBZLWKDVVLJQ��VLPLODU�ILúLHUXOXL�VWDQGDUG�GH� LQWUDUH� GHILQLW� GH� SRLQWHUXO� VWGLQ �vQ� &��� $� IRVW� IRORVLW� FX� RSHUDWRUXO� H[WUDFWRU��VXSUDvQF�UFDW�SHQWUX�WLSXULOH�SUHGHILQLWH�([HPSOX� LQW�Q��FLQ!!Q�([WUDJH�GLQ�IOX[XO�GH�LQWUDUH�FDUDFWHUHOH�FRUHVSXQ]�WRDUH��OH�FRQYHUWHúWH�GLQ�]HFLPDO�vQ�ELQDU�úL�OH�GHSXQH�vQ�PHPRULH�

�� FHUU�� IOX[�GH� LHúLUH�FRQHFWDW� OD�LHúLUHD�VWDQGDUG�SHQWUX�HURUL� �VWGHUU vQ�&���I�U� EXIIHU�LQWHUPHGLDU��

�� FORJ��IOX[�GH�LHúLUH�FRQHFWDW�OD�LHúLUHD�VWDQGDUG�SHQWUX�HURUL��I�U� EXIIHU�LQWHUPHGLDU��� &ODVD�VWUHDPEXI�HVWH� FODV� SULHWHQ� FX�LRV�� (D� IXUQL]HD]� IXQF LL� JHQHUDOH� SHQWUX�

OXFUXO� FX� ]RQHOH� WDPSRQ� �EXIIHUH�� úL� SHUPLWH� WUDWDUHD� RSHUD LLORU� GH� ,�2� I�U� IRUPDW�UL�FRPSOH[H��'LQ�FODVD�VWUHDPEXI�GHULYD�FODVD�ILOHEXI �

6� XUP�ULP�FDUH�HVWH�UROXO�EXIIHUH�ORU��]RQ� WDPSRQ�DVRFLDW� ILHF�UXL�IOX[�GH�GDWH���SULQ�XUP�WRUXO�H[HPSOX�

Page 234: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

([HPSOX�YRLG�PDLQ��^LQW�D��GRXEOH�[��FKDU�VLU>��@�FLQ!!D!![!!úLU�FRXW��D�����[��HQGO�FRXW��VLU��HQGO�`

6� XUP�ULP�FXP�VH�UHDOL]HD]� WUDQVIHUXO�LQIRUPD LHLvQ�FD]XO�RSHUD LLORU�PXOWLSOH�FLQ!!D!![!!úLU�FLQ!!D�&RPSLODWRUXO�YHULILF� GDF� QXP�UXO�LQWURGXV�HVWH�vQWUHJ��VH�RSUHúWH�FkQG�vQWkOQHúWH�DOWFHYD�GHFkW�R�FLIU���vQ�DFHVW�FD]� � XQ�EODQF���ÌO�FLWHúWH�SULQWU�R�PHWRG� D�WLSXOXL�LQW��vO�FRQYHUWHúWH�vQ�ELQDU�úL�vO�WUDQVPLWH� vQ�PHPRULD� LQWHUQ� vQ� VSD LXO� UH]HUYDW�SHQWUX�YDULDELOD�D�� ÌQ� vQFKHLHUH�� FLQ!!D�GHYLQH�FLQ�FLQ!!D!![� ���IOX[XO�GH�GDWH�VH�WUDQVPLWH�úL�OXL�[3UHVXSXQHP� F� DP� LQWURGXV� GH� OD� WDVWDWXU� ���� ±�����H�� � H[HPSOX� GH� úLU�� YDORULOH�SHQWUX�D��[ úL�VLU��/D�DS�VDUHD� WDVWHL�(QWHU�� VH� WUDQVPLWH�F�WUH� VLVWHPXO�GH�RSHUDUH�XQ�RFWHW�FX�VHPQLILFD LD�GH�VIkUúLW�LQWURGXFHUH�GDWH��6LVWHPXO�GH�RSHUDUH�WUDQVPLWH�XQ�VHPQDO�]RQHL�WDPSRQ�úL�DELD� DFXP� VH� WUDQVPLWH� YDORDUHD� �IOX[XO� GH� GDWH�� OXL� D�� /D� FLWLUHD� úLUXOXL� GH� FDUDFWHUH� �SkQ � OD�SULPXO�EODQN���VH�WUDQVIHU� RFWHW�FX�RFWHW��L�VH�DGDXJ� DXWRPDW�FDUDFWHUXO�18//���GLQ�]RQD�WDPSRQ�vQ�PHPRULD�LQWHUQ���2EVHUYD LL��� 6WUHDP�XO�HVWH�VHFYHQ LDO���� (O�SRDWH�UHDOL]D�LQWU�UL�LHúLUL�IRUPDWDWH��� (VWH� ELQH� F� vQ� FD]XO� XQXL� IOX[� GH� LQWUDUH� V� VH� YHULILFH�PDL� vQWkL� GDF� vQ� ]RQD� WDPSRQ� VH�

J�VHúWH�FHYD��'DF� QX��VH�SR]L LRQHD]� FXUVRUXO�OD�vQFHSXWXO�]RQHL�WDPSRQ��� ,QIRUPD LD� GH� OD� EXIIHU� F�WUH�PHPRULH� HVWH� JHVWLRQDW� SULQ� SURJUDP�� LQIRUPD LD� GH� OD� ]RQD�

WDPSRQ�F�WUH�DOWH�SHULIHULFH�HVWH�JHVWLRQDW� GH�F�WUH�VLVWHPXO�GH�RSHUDUH�

�������7(67$5($�ù,�02',),&$5($�67�5,,�818,�)/8;&ODVD�LRV�� FODV� GH�ED]� D� LHUDKLHL�FODVHORU�GH� ,�2�� GHILQHúWH�R�PXO LPH�GH� WLSXUL��YDULDELOH� úL�PHWRGH�FRPXQH�WXWXURU�WLSXULORU�GH�VWUHDP�XUL�6WDUHD�XQXL�VWUHDP��UH]XOWDWXO�XOWLPXOXL�DFFHV�OD�DFHVWD��HVWH�S�VWUDW� vQ�FXYkQWXO�GH�VWDUH��FDUH�HVWH�GDW� PHPEU� D� FODVHL�LRV�� )LHF�UHL� LQVWDQ LHUL� D� XQHL� FODVH� GH� LQWUDUH�LHúLUH� L� VH� DVRFLD]�SURSULXO� FXYkQW GH� VWDUH� �R� PXO LPH� GH� LQGLFDWRUL� GH� VWDUH��� FDUH� S�VWUHD]� WRDWH� LQIRUPD LLOH�DIHUHQWH� HURULORU� DS�UXWH� vQ� FXUVXO� RSHUD LLORU� FX� VWUHDP�XO�� $FHúWL� LQGLFDWRUL� VXQW� PHPRUD L� OD�QLYHO�GH�ELW�vQ�GDWD�PHPEUX�VWDWH�FODVV�LRV^

GDWH�GH�LQWUDUH

0HPRULH�LQWHUQ�D[

VLU

EXIIHU�FLQEXIIHU�FRXW

)LJXUD��������5ROXO�EXIIHUH�ORU�vQ�RSHUD LLOH�GH�,�2

=RQD�WDPSRQ��EXIIHU�XO��HVWH�LQWHUID D�GLQWUH�SURJUDP�úL�VLVWHPXO�GH�RSHUDUH�

Page 235: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

��««SURWHFWHG�

LQW�VWDWH� ��S�VWUHD]� OD�QLYHO�GH�ELW�YDORULOH�LQGLFDWRULORU�GH�VWDUHSXEOLF�

HQXP�LRBVWDWH^JRRGELW �[��� ��XOWLPD�RSHUD LH�GH�LQWUDUH�LHúLUH�FRUHFW�HRIELW �[��� ��V�D� vQWkOQLW� VIkUúLWXO� GH� ILúLHU� vQWU�R� RSHUD LH� GH� LQWUDUH�

�OLSVD��FDUDFWHUHORU�GLVSRQLELOH�SHQWUX FLWLUH�

IDLOELW �[��� ��VHWDW� GDF� XOWLPD� RSHUD LH� GH� LQWUDUH�LHúLUH� D� HúXDW��VWUHDP�XO�

��UHVSHFWLY� QX� YD�PDL� SXWHD� IL� IRORVLW� vQ� RSHUD LL� GH� ,�2�SkQ� FkQG

��ELWXO�QX�YD�IL�úWHUVEDGELW �[��� ��XOWLPD� RSHUD LH� GH� LQWUDUH�LHúLUH� LQYDOLG��� vQ� XUPD�

UHVHW�ULL�IODJ�XOXL��HVWH�SRVLELO�FD�VWUHDP�XO�V� PDL�SRDW� IL�XWLOL]DW

KDUGELW �[�� ��HURDUH�LUHFXSHUDELO�`�

`�7HVWDUHD�YDORULL�FXYkQWXOXL�GH�VWDUH�DVRFLDW�XQXL�VWUHDP�VH�UHDOL]HD]� FX�DMXWRUXO�PHWRGHORU�� LQW�JRRG�����5HWXUQHD]� YDORDUH�GLIHULW� GH�]HUR�GDF� FXYkQWXO�GH�VWDUH�HVWH��� LQW�HRI�����5HWXUQHD]� YDORDUH�GLIHULW� GH�]HUR�GDF� HRIELW HVWH�VHWDW� LQW�IDLO�����5HWXUQHD]� YDORDUH�GLIHULW� GH�]HUR�GDF� IDLOELW��KDUGELW VDX�EDGELW

VXQW�VHWD L� LQW�EDG�����)XQF LRQHD]� FD�PHWRGD�IDLO��GDU�QX�LD�vQ�FRQVLGHUDUH�IODJXO�IDLOELW��0RGLILFDUHD� YDORULL� FXYkQWXOXL� GH� VWDUH DVRFLDW� XQXL� VWUHDP� VH� UHDOL]HD]� FX� DMXWRUXO�PHWRGHORU�� YRLG�FOHDU�LQW�L ���

6HWHD]� GDWD�PHPEUX�VWDWH� OD�YDORDUHD�SDUDPHWUXOXL��LPSOLFLW�����(VWH�FDSDELO� V� úWHDUJ�RULFH�IODJ��FX�H[FHS LD IODJ�XOXL�KDUGIDLO�([HPSOX�� D�FOHDU�LRV��EDGELW��6HWHD]� ELWXO�IDLOELW úL�DQXOHD]� YDORULOH� FHORUOD L�EL L� GLQ�FXYkQWXO�GH� VWDUH�D� IOX[XOXL� D��3HQWUX�FD�FHLODO L�EL L�V� U�PkQ� QHPRGLILFD L��VH�DSHOHD]� PHWRGD�UGVWDWH�([HPSOX� D�FOHDU�D�UGVWDWH��_YDOBI��6H� VHWHD]� XQ� VLQJXU� IODJ�� O�VkQGX�OH�QHPRGLILFDWH�SH� FHOHODOWH�� YDOBI DUH�XQD�GLQ�YDORULOH�GHILQLWH�GH�HQXPHUDUHD�LRBVWDWH�

� LQW�UGVWDWH���5HWXUQHD]� YDORDUHD� FXYkQWXOXL� GH� VWDUH�� VXE� IRUPD� XQXL� vQWUHJ� �YDORDUHD� GDWHL� PHPEUX�VWDWH��([HPSOX� D�FOHDU�LRV��EDGELW�_�D�UGVWDWH����6HWHD]� ELWXO�IDLOELW��I�U� D�PRGLILFD�YDORULOH�FHORUODO L�EL L�

7HVWDUHD�FXYkQWXOXL�GH�VWDUH VH�SRDWH�UHDOL]D�úL�SULQ�IRORVLUHD�RSHUDWRULORU�� úL�YRLG ���� 2SHUDWRUXO�� HVWH�VXSUDvQF�UFDW�SULQWU�R�IXQF LH�PHPEU���FX�SURURWLSXO�

LQW�RSHUDWRU������FDUH�UHWXUQHD]� ��GDF� XQ�ELW�GH�HURDUH�GLQ�FXYkQWXO�GH�VWDUH�HVWH�VHWDW��FD�úL�PHWRGD�IDLO��([HPSOX�

Page 236: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

LI���FLQ� ��HFKLYDOHQW�FX�LI���FLQ�JRRG���FRXW���%LW�GH�HURDUH�VHWDW�vQ�FXYkQWXO�GH�VWDUH� ?Q��

HOVH FLQ!!D�� 2SHUDWRUXO�YRLG FRQYHUWHúWH� VWUHDP�XO� vQWU�XQ� SRLQWHU� JHQHULF�� &RQYHUVLD� DUH� FD� UH]XOWDW�

]HUR�GDF� FHO�SX LQ�XQ�ELW�GH�HURDUH�HVWH�VHWDW�RSHUDWRU�YRLG� ���

([HPSOX� 2�FRQVWUXF LH�GH�IRUPD� FLQ!!V� DUH� FD� YDORDUH� R� UHIHULQ �� OD� VWUHDP�XO�FLQ��GLQ�FODVD�LVWUHDP��$FHDVW� UHIHULQ ��SRDWH�IL�XWLOL]DW� VXE�IRUPD��LI��FLQ!!V������3HQWUX�VFRDWHUHD�XQXL�VWUHDP�GLQ�VWDUHD�GH�HURDUH��ILH�GLVSDUH�FDX]D�HURULL��ILH�WUHEXLH�úWHUVH�IODJXULOH�FDUH�VHPQDOL]HD]� HURDUHD�

�������)250$7$5($�'$7(/25�',1�)/8;85,/(�'(�,175$5(�,(ù,5(

8QXO� GLQWUH� SULQFLSDOHOH� DYDQWDMH� RIHULWH� GH� VLVWHPXO� GH� ,�2� GLQ� OLPEDMXO� &��� vO� UHSUH]LQW�LJQRUDUHD�DVSHFWXOXL�IRUPDW�ULL��IRORVLQGX�VH�R�IRUPDWDUH�LPSOLFLW���ÌQ�SOXV��VH�SHUPLWH�GHILQLUHD�XQHL�IRUPDW�UL�VSHFLILFH�SHQWUX�R�DQXPLW� DSOLFD LH��$úD�FXP�V�D�VXEOLQLDW�vQ�FD]XO�FXYkQWXOXL�GH�HURDUH�� FXYkQWXO� GH� IRUPDW� SRDWH� IL� SULYLW� FD� XQ� vQWUHJ�� SHQWUX� FDUH� ILHFDUH� ELW� UHSUH]LQW � R�FRQVWDQW� SUHGHILQLW� GLQ� FODVD� LRV�� ÌQ� FDGUXO� DFHVWXL� FXYkQW� VXQW� GHILQLWH� FkPSXUL� GH� EL L��FXYkQWXO�GH�IRUPDW HVWH�GDW� PHPEU� FDUH�FRQ LQH�XQ�QXP�U�GH�LQGLFL�FH�VXQW�EL L�LQGLYLGXDOL��FODVV�LRV�^��««SURWHFWHG�

ORQJ�IODJB[� ��S�VWUHD]� OD�QLYHO�GH�ELW�LQGLFDWRULL�GH�IRUPDWLQW�[BZLGWK� ��QXP�UXO� GH� FDUDFWHUH� XWLOL]DWH� SHQWUX� DILúDUHD� XQHL� YDORUL� SH�

HFUDQSXEOLF�HQXP^VNLSZV� ��[������ ���VDOW�SHVWH�VSD LLOH�DOEH�GH�OD�LQWUDUHOHIW� ��[������� ���DOLQLHUH�OD�VWkQJD�OD�LHúLUHULJKW� ��[����� ���DOLQLHUH�OD�GUHDSWD�OD�LHVLUHLQWHUQDO� ��[������� ���DOLQLHUH�GXS� VHPQ�VDX�VSHFLILFDWRU�DO�ED]HL�OD�LHúLUHGHF� ��[������ ���FRQYHUVLH�vQ�ED]D���RFW� ��[����� ���FRQYHUVLH�RFWDO� OD�LQWUDUH�LHúLUHKH[� ��[������ ���FRQYHUVLH�KH[D�OD�LQWUDUH�LHúLUHVKRZEDVH� ��[������ ���DILúDUHD�ED]HL�OD�LHúLUHVKRZSRLQW� ��[������ ��� DILúDUHD� SXQFWXOXL� ]HFLPDO� SHQWUX� QXPHUH� UHDOH� OD�LHúLUHXSSHUFDVH� ��[����� ��� DILúDUHD� FX�PDMXVFXOH� D� FLIUHORU� KH[D� úL� D� OLWHUHL�(� OD�LHúLUH�VKRZSRV� ��[����� ���DILúDUHD�VHPQXOXL���SHQWUX�QXPHUHOH�SR]LWLYH�OD�LHúLUHVFLHQWLILF� ��[������ ��IRORVLUHD� IRUPDWXOXL� H[SRQHQ LDO� �úWLLQ LILF�� SHQWUX�QXPHUHOH�UHDOH

Page 237: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

IL[HG� ��[����� ��� IRORVLUHD� IRUPDWXOXL� vQ� YLUJXO� IL[� SHQWUX� QXPHUH�UHDOH�OD�XQLWEXI� ��[������ ���JROHúWH�]RQD�WDPSRQ�GXS� ILHFDUH�LHúLUHVWGLR �[���� ���JROHúWH��VWGRXW��úL��VWGLQ��GXS� ILHFDUH�LQVHUDUH`�`�ÌQ� ILJXUD� ������ VXQW� SUH]HQWDWH� QXPHOH� FkPSXULORU� GH� EL L� �DFROR� XQGH� HVWH� FD]XO��� ÌQ� FDGUXO�ILHF�UXL�FkPS�GH�EL L��DGMXVWILHOG��EDVHILHOG��IORDWILHOG��XQ�VLQJXU�ELW�SRDWH�IL�DFWLY�

0RGLILFDUHD�FXYkQWXOXL�GH�IRUPDW VH�SRDWH�UHDOL]D�vQ�XUP�WRDUHOH�PRGXUL��� &X�DMXWRUXO�PDQLSXODWRULORU �FX�VDX�I�U� SDUDPHWUL���� &X�DMXWRUXO�XQRU�IXQF LL�PHPEUH�DOH�FODVHORU�LVWUHDP VDX�RVWUHDP�

���������)250$7$5($�35,1�0$1,38/$725,0DQLSXODWRULL� VXQW� IXQF LL� VSHFLDOH�� DVHP�Q�WRDUH� RSHUDWRULORU�� FDUH� SRW� IL� IRORVLWH� vPSUHXQ� FX�RSHUDWRULL� GH� LQVHU LH� vQWU�XQ� IOX[� GH� LHúLUH� VDX� GH� H[WUDF LH� GLQWU�XQ� IOX[� GH� LQWUDUH�� vQ� VFRSXO�PRGLILF�ULL�FDUDFWHULVWLFLORU�IRUPDWXOXL�LQIRUPD LLORU�GH�LQWUDUH�LHúLUH��0DQLSXODWRULL�IXUQL]HD]���FD�UH]XOWDW��IOX[XO�RE LQXW�vQ�XUPD�DF LXQLL�PDQLSXODWRULORU��FHHD�FH�SHUPLWH FD�DFHúWLD�V� ILH�WUDWD L�FD�LQIRUPD LL� GH� WUDQVPLV��0DQLSXODWRULL� SHUPLW�� GHDVHPHQHD�� vQO�Q XLUHD� RSHUDWRULORU� LQVHUWRUL� VDX�H[WUDFWRUL�FDUH�XWLOL]HD]� IRUPDWH�GLIHULWH�0DQLSXODWRULL�SRW�IL�� 0DQLSXODWRUL�I�U� SDUDPHWUL�� 0DQLSXODWRUL�FX�SDUDPHWUL�

�����������0DQLSXODWRUL�I�U� SDUDPHWUL3URWRWLSXO�PDQLSXODWRULORU�I�U� SDUDPHWUL�HVWH�

RVWUHDP��QXPHBPDQLSXODWRU�RVWUHDP���LVWUHDP��QXPHBPDQLSXODWRU�LVWUHDP���

0DQLSXODWRULL�I�U� SDUDPHWUL��SUH]HQWD L�vQ�WDEHOXO��������VH�IRORVHVF�DVWIHO�IOX[BLHúLUH��PDQLSXODWRU�IOX[BLQWUDUH!!PDQLSXODWRU�

DGMXVWILHOG

XQLWEX

I

IL[HG

VFLHQWLILF

VKRZSRV

XSSHUF

DVH

VKRZSRLQW

VKRZED

VH

KH[

RFW

GHF

LQWHUQ

DO

ULJKW

OHIW

VNLSZV

IORDWILHOGIORDWILHOG EDVHILHOG

)LJXUD��������&kPSXULOH�GH�EL L�GLQ�FXYkQWXO�GH�VWDUH

Page 238: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

7DEHOXO�����0DQLSXOD

WRU,QWUDUH�,HúLUH

$F LXQHGHF ,�2 )RUPDWHD]� GDWHOH�QXPHULFH�vQ�]HFLPDO��DFWLYHD]� ELWXO�GH�FRQYHUVLH�]HFLPDO��KH[ ,�2 )RUPDWHD]� GDWHOH�QXPHULFH�vQ�KH[D��DFWLYHD]� ELWXO�GH�FRQYHUVLH�KH[D]HFLPDO��RFW ,�2 )RUPDWHD]� GDWHOH�QXPHULFH�vQ�RFWDO��DFWLYHD]� ELWXO�GH�FRQYHUVLH�RFWDO��ZV , ,JQRU� FDUDFWHUHOH��VSD LL�DOEH���DFWLYHD]� ELWXO�GH�VDOW�SHVWH�VSD LLOH�DOEH�HQGO 2 $ILúHD]� �LQVHUHD]���XQ�FDUDFWHU�?Q�úL�HOLEHUHD]� IOX[XO�HQGV 2 ,QVHUHD]� XQ�FDUDFWHU�QXOO��GH�VIkUúLW�GH�IOX[��?��IOXVK 2 9LGHD]� �JROHúWH��EXIIHU�XO��HOLEHUHD]� IOX[XO

�����������0DQLSXODWRUL�FX�SDUDPHWUL3URWRWLSXO�PDQLSXODWRULORU�I�U� SDUDPHWUL��SUH]HQWD L�vQ�WDEHOXO��������HVWH�

LVWUHDP��PDQLSXODWRU��DUJXPHQW��RVWUHDP��PDQLSXODWRU��DUJXPHQW��

7DEHOXO������0DQLSXODWRU ,QWUDUH�

,HúLUH$F LXQH

VHWEDVH�LQW�ED]D� ,�2 6WDELOHúWH�ED]D�GH�FRQYHUVLHUHVHWLRVIODJV�ORQJ�I� ,�2 $WULEXLH� YDORDUHD� �� WXWXURU� EL LORU� LQGLFD L� GH� DUJXPHQW��

O�VkQG� UHVWXO� EL LORU� QHPRGLILFD L� �GH]DFWLYHD]� LQGLFDWRULL�VSHFLILFD L�GH�I�

VHWLRVIODJV��ORQJ�I� ,�2 $WULEXLH� YDORDUHD� �� WXWXURU� EL LORU� LQGLFD L� GH� DUJXPHQW��O�VkQG� UHVWXO� EL LORU� QHPRGLILFD L� �DFWLYHD]� LQGLFDWRULL�VSHFLILFD L�GH�I�

VHWILOO��LQW�F� ,�2 'HILQHúWH� FDUDFWHUXO� GH� XPSOHUH� �FHO� LPSOLFLW� HVWH� VSD LXO�OLEHU��EODQN�XO�

VHWSUHFLVLRQ��LQW�S� ,�2 'HILQHúWH�SUHFL]LD�SHQWUX�QXPHUHOH�UHDOHVHWZ��LQW�Z� ,�2 'HILQHúWH� O� LPHD� FkPSXOXL� �QXP�UXO� GH� RFWH L� FDUH� YRU� IL�

FLWL L�VDX�DILVD L��8WLOL]DUHD�PDQLSXODWRULORU�LPSXQH�LQFOXGHUHD�KHDGHU�XOXL�LRPDQLS�K�([HUFL LX� ([HPSOLILFDUHD�PRGXOXL�GH�IRORVLUH�D�PDQLSXODWRULORU�SHQWUX�LQWU�UL�LHúLUL�IRUPDWDWH��LQFOXGH��LRVWUHDP�K!�LQFOXGH��LRPDQLS�K!YRLG�PDLQ��^LQW�D�E�F�GRXEOH�DOID�[�\�ORQJ�OO�FKDU�[[�\\�IORDW�X�Y��XQVLJQHG�LQW�Z� XQVLJQHG�FKDU�DE�GE�D ����E �����OO ��� D E��FRXW������ D E ���OO��HQGO������� D E �����DOID ������\ ���������[[ ���\\ ���[ \�DOID�[[�\\��FRXW���[ ���[��HQGO����[ ���������

��VHWDUHD�P�ULPHD�FkPSXOXL�GH�DILúDUH��FRXW���[ ���VHWZ�����[��HQGO�� ��[ ���������FRXW���[ ���VHWZ������[��HQGO�� ��[ ��������������������

��VHWDUHD�OXQJLPLL�FkPSXOXL�GH�DILúDUH�úL�D�FDUDFWHUXOXL�GH�XPSOHUH

Page 239: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

FRXW���[ ���VHWZ������VHWILOO� ���[��HQGO�� ��[ ������������SUHFL]LH��

FRXW���[ ���VHWZ�����VHWSUHFLVLRQ�����[��HQGO� ��[ �����FRXW���[ ���VHWZ�����VHWSUHFLVLRQ�����[��HQGO� ��[ ���������

���DILVDUHD�RFWHWXOXL�VHPQLILFDWLY�YDU�������VL�D�FHOXL�PDL�SXWLQ�VHPQLILFDWLY��YDU!!��������Z ����DE ����������GE ���!!�������FRXW���Z ���Z�����DE ���DE�����GE ���GE��HQGO� ��Z ����DE ���GE �X ��������Y ���������(����

��IRUPDWDUH�LQ�RFWDO�VL�KH[DFRXW���D� LQ� ED]D� �� ���D���� LQ� RFWDO ���RFW��D���� LQKH[D ���KH[��D��HQGO�

��D�LQ�ED]D��� ����LQ�RFWDO ����LQ�KH[D �GFRXW���E ���GHF��E��HQGO� ��E ��`

�������� )250$7$5($�35,1�0(72'()RUPDWDUHD�IOX[XULORU�GH�LQWUDUH�LHúLUH�VH�SRDWH�UHDOL]D�úL�SULQ�PHWRGH DOH�FODVHL�LRV�� )XQF LD� PHPEU� VHWI SHUPLWH� PRGLILFDUHD� FXYkQWXOXL� GH� VWDUH� D� IRUPDW�ULL�� (D� HVWH�

VXSUDGHILQLW� DVWIHO�ORQJ�VHWI��ORQJ���

3ULPHúWH�FD�SDUDPHWUX�XQ�QXP�U� vQWUHJ� ORQJ�úL�VHWHD]� SH���EL LL�VSHFLILFD L�SULQ�DUJXPHQW��5HWXUQHD]� YDORDUHD�DQWHULRDU� D�FXYkQWXOXL�GH�VWDUH�D�IRUPDW�ULL��(D�SRDWH�IL�IRORVLW� QXPDL�SHQWUX�IODJ�XULOH�FDUH�QX�IDF�SDUWH�GLQWU�XQ�FkPS�GH�EL L�([HPSOX� FRXW��VHWI��LRV���VKRZSRV�� ��VHWHD]� ELWXO�VKRZSRV�SH��

ORQJ�VHWI��ORQJ�IODJV��ORQJ�ILHOG���6HWHD]� SH���EL LL�VSHFLILFD L�SULQ�SULPXO�DUJXPHQW��GRDU�vQ�FkPSXO�GH�EL L�GHILQLW�FD�DO�GRLOHD�DUJXPHQW��(D�PRGLILF� SH� �� WR L� EL LL� GLQ� FkPSXO� UHVSHFWLY�� GXS� FDUH� VHWHD]� �SH� ��� ELWXO�UHVSHFWLY�([HPSOH�FRXW��VHWI��LRV���VKRZSRV�_�LRV����XSSHUFDVH�_�LRV���LQWHUQDO�

��WR L�EL LL�YRU�IL�VHWD L�SH�YDORDUHD��FRXW�VHWI� �LRV� ��� KH[�� LRV� ��� EDVHILHOG� ��VHWHD]� LQGLFHOH� KH[ GLQ� FkPSXO�EDVHILHOGFRXW�� VHWI� �LRV� ��� VNLSZV� _� LRV� ��� KH[� _� LRV��� VKRZEDVH�� LRV� ���EDVHILHOG�

� )XQF LD�PHPEU� ILOO SHUPLWH�WHVWDUHD�VDX�PRGLILFDUHD�FDUDFWHUXOXL�GH�XPSOHUH�úL�UHWXUQHD]�FRGXO�FDUDFWHUXOXL�FXUHQW�GH�XPSOHUH�

LQW�ILOO������([HPSOX� FRXW�ILOO�� �� ���vQWRDUFH�FRGXO�FDUDFWHUXOXL�GH�XPSOHUH�SW��FRXW

LQW�ILOO��FKDU���6HWHD]� QRXO�FDUDFWHU�GH�XPSOHUH�úL�UHWXUQHD]� FRGXO�YHFKLXOXL�FDUDFWHU�GH�XPSOHUH�([HPSOX� FRXW�ILOO�µ��¶�� ���VHWHD]� XQ�DOW�FDUDFWHU�GH�XPSOHUH������

� )XQF LD� PHPEU� SUHFLVLRQ SHUPLWH� WHVWDUHD� VDX�PRGLILFDUHD� SUHFL]LHL�� 1XPLP� SUHFL]LH�QXP�UXO�GH�FLIUH�VHPQLILFDWLYH��vQ�*18��VDX�QXP�UXO�GH�FLIUH�GXS� YLUJXO� �vQ�7XUER&�

LQW�SUHFLVLRQ�����5HWXUQHD]� YDORDUHD�DFWXDO� D�SUHFL]LHL�QXPHULFH�

LQW�SUHFLVLRQ��LQW��

Page 240: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

6HWHD]� SUHFL]LD�OD�YDORDUHD�SDUDPHWUXOXL�úL�UHWXUQHD]� YHFKHD�YDORDUH�D�SUHFL]LHL�� )XQF LD�PHPEU� ZLGWK UHWXUQHD]� YDORDUHD�DFWXDO� D�OXQJLPLL�FkPSXOXL�GH�GDWH�VDX�VHWHD]�

YDORDUHD�OXQJLPLL�FkPSXOXL�GH�GDWH�LQW�ZLGWK������

�LQW�ZLGWK��LQW���([HPSOX� FRXW��ZLGWK������ ��GDWD�VH�YD�DILúD�vQWU�XQ�FkPS�GH�FHO�SX LQ����FDUDFWHUH�$VWIHO��GDF� DUJXPHQWXO�HVWH���� OD�LQVHU LD�vQWU�XQ�IOX[�GH�LHúLUH�VH�WUDQVPLW�vQ�VWUHDP�DWk LD�RFWH L� Fk L� DUH� GDWD� UHVSHFWLY��� 'DF� DUJXPHQWXO� HVWH� GLIHULW� GH� ��� GDU� OXQJLPHD� QHFHVDU�DILú�ULL�HVWH�PDL�PDUH��VH� WUDQVPLWH�QXP�UXO�GH�RFWH L�QHFHVDUL�� LDU GDF� OXQJLPHD�QHFHVDU�DILú�ULL�HVWH�PDL�PLF���VH�WUDQVPLWH�QXP�UXO�GH�RFWH L�QHFHVDUL��LDU�UHVWXO�VH�FRPSOHWHD]� FX�FDUDFWHUXO�GH�XPSOHUH�

([HUFL LX��LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^LQW�L �����M �����GRXEOH�[ �������������������\ �����FRXW�ZLGWK���� FRXW��L�����M��HQGO� ���������FRXW��L� ��WRDWH�PHWRGHOH�VXQW�SHUVLVWHQWH��FX�H[FHS LD�PHWRGHL�ZLGWKFRXW�ZLGWK�����FRXW��M��HQGO� ����������FRXW�VHWI�LRV��VKRZSRV�� ��DILV���FRXW��L�����M��HQGO� �����������FRXW�VHWI�LRV��KH[��LRV��EDVHILHOG��FRXW�ZLGWK������FRXW�SUHFLVLRQ������FRXW�ILOO� ��FRXW�VHWI�LRV��VKRZSRV�_�LRV��VKRZSRLQW���FRXW��[�����\��HQGO� �� �����������������������������������FRXW��L�����M��HQGO�� ���E��F�FRXW�VHWI�LRV��GHF��LRV��EDVHILHOG��FRXW�XQVHWI�LRV��VKRZSRV���FRXW�ILOO�����FRXW��L�����M��HQGO�� ���������FRXW��[�����\��HQGO� �����������������������������������`2EVHUYD LH� 7RDWH�PHWRGHOH�VXQW�SHUVLVWHQWH��FX�H[FHS LD�PHWRGHL�ZLGWK FDUH�HVWH�YDODELO�QXPDL�SHQWUX�RSHUD LD�XUP�WRDUH��GXS� FDUH�VH VHWHD]� OD���

�������0(72'(/(�&/$6(,�LVWUHDP&ODVD�LVWUHDP HVWH�GHULYDW� GLQ�FODVD�LRV�� LRV�LVWUHDP�� 6XSUDGHILQLUHD�RSHUDWRUXOXL�GH�H[WUDF LH�!!

2SHUDWRUXO� GH� H[WUDF LH� GLQ� VWUHDP�XO� �IOX[XO�� GH� LQWUDUH� HVWH� VXSUDvQF�UFDW� SULQWU�R� IXQF LH�PHPEU��� SHQWUX� WRDWH� WLSXULOH� GH� ED]��� (O� DUH� UROXO� GH� D� H[WUDJH� GLQ� IOX[XO� GH� LQWUDUH�FDUDFWHUHOH�QHFHVDUH�SHQWUX�D�RE LQH�R�YDORDUH�GLQWU�XQ�WLS�GH�ED]��

LVWUHDP��RSHUDWRU�!!��WLSBGHBED]���3ULPXO� DUJXPHQW� HVWH� LPSOLFLW� �WKLV��� FODVD� FDUH� vO� DSHOHD]��� $O� GRLOHD� DUJXPHQW� HVWH� R�UHIHULQ ��F�WUH�XQ�WLSB�GHBED]���2SHUDWRUXO�SRDWH�IL�VXSUDvQF�UFDW�SULQWU�R�IXQF LH�SULHWHQ��YH]L�FDSLWROXO������SHQWUX�D�H[WUDJH�GLQ�IOX[XO�GH�LQWUDUH�LQIRUPD LLOH�GHVSUH�XQ�RELHFW�GLQWU�XQ�WLS�GHILQLW�GH�XWLOL]DWRU��FODV���

IULHQG�LVWUHDP��RSHUDWRU�!!�LVWUHDP����FODVD���� 0HWRGD JHW

LVWUHDP��JHW��FKDU���

Page 241: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

0HWRGD� H[WUDJH� GLQ� IOX[XO� GH� LQWUDUH� XQ� FDUDFWHU� úL� vO� PHPRUHD]� vQ� YDULDELOD� UHIHULQ ���WUDQVPLV� FD�SDUDPHWUX��ÌQWRDUFH�R�UHIHULQ ��F�WUH�LVWUHDP�([HPSOX� FKDU�F� FLQ�JHW�F��0HWRGD�JHW HVWH�VXSUDvQF�UFDW� úL�DVWIHO�

LQW�JHW�����([WUDJH� GLQ� IOX[XO� GH� LQWUDUH� XQ� VLQJXU� FDUDFWHU� úL� vO� UHWXUQHD]� VXE� IRUPD� XQXL� vQWUHJ��$FHDVW� PHWRG� HVWH�XWLOL]DW���vQ�VSHFLDO��OD�WHVWDUHD�VIkUúLWXOXL�GH�ILúLHU��(2)������0HWRGD�JHW HVWH�VXSUDvQF�UFDW� úL�DVWIHO�

LVWUHDP��JHW��FKDU� �úLU��LQW�OXQJLPH��FKDU�GHOLPLWDWRU� �µ?Q¶�

6H�H[WUDJH�GLQ�IOX[XO�GH�GDWH�GH�LQWUDUH�XQ�úLU�GH�FDUDFWHUH��FKDU� �úLU �SRLQWHU�F�WUH�úLU���FX�OXQJLPHD�PD[LP� VSHFLILFDW� SULQ�DUJXPHQWXO�OXQJLPH��SkQ� OD�vQWkOQLUHD�GHOLPLWDWRUXOXL��GHOLPLWDWRU QX�VH�H[WUDJH�GLQ�IOX[XO�GH�GDWH�GH�LQWUDUH���5H]XOWDWXO�VH�GHSXQH�vQ�YDULDELOD�úLU�

� 0HWRGD JHWOLQHMetoda determin• preluarea din fluxul de intrare a unui •ir de caractere, terminat cu un caracter cunoscut.LVWUHDP��JHWOLQH��FKDU� �úLU��LQW�OXQJLPH��FKDU�GHOLPLWDWRU� �

(2)��$F LRQHD]� DVHP�Q�WRU�FX�PHWRGD�JHW VXSUDvQF�UFDW� SULQ�XOWLPD� IRUP��� FX�GHRVHELUHD�F�GLQ�IOX[XO�GH�LQWUDUH�VH�H[WUDJH�úL�GHOLPLWDWRUXO��'HOLPLWDWRUXO�QX�VH�LQWURGXFH�vQ�ú LU�([HPSOX� FKDU�úLU>��@�FLQ�JHW��úLU������¶? Q¶�� ��� VDX� FLQ�JHW�úLU������'LQ�IOX[XO�GH�GDWH�GH�LQWUDUH�VH�H[WUDJ�FDUDFWHUHOH�SkQ� OD�VIkUúLW�GH�OLQLH��FHO�PXOW����GH�FDUDFWHUH��([WUDJHUHD�FDUDFWHUHORU�GLQ�IOX[XO�GH�LQWUDUH�VH�WHUPLQ� ILH��OD��vQWkOQLUHD�WHUPLQDWRUXOXL��ILH�DWXQFL�FkQG�V�D�FLWLW�XQ�QXP�U�GH�FDUDFWHUH�HJDO�FX�OXQJLPH����

� 0HWRGD�JFRXQW UHWXUQHD]� XQ� vQWUHJ� FDUH� UHSUH]LQDW� QXP�UXO� HIHFWLY� GH� FDUDFWHUH� SUHOXDW�SULQ�JHWOLQH�

LQW�JFRXQW���� 0HWRGD�UHDG H[WUDJH�GLQ�IOX[XO�GH�LQWUDUH�XQ�úLU�GH�FDUDFWHUH��RFWH L��GH�OXQJLPH LPSXV� úL�

O�GHSR]LWHD]� vQ�]RQD�GH�PHPRULH�úLU�LVWUHDP��UHDG��FKDU� �úLU��LQW�OXQJLPH��

(HPSOX� FKDU�W>��@��FLQ�UHDG�W������� 0HWRGD�LJQRUH HVWH�XWLOL]DW� OD�JROLUHD�]RQHL�WDPSRQ�D�VWUHDP�XOXL�GH�LQWUDUH�

LVWUHDP��LJQRUH��LQW�OXQJLPH��FKDU�GHOLPLWDWRU� �µ�_�¶��6H� H[WUDJ� GLQ� IOX[XO� GH� LQWUDUH� FDUDFWHUHOH� SkQ� OD� GHOLPLWDWRU� GDU� QX� PDL� PXOWH� GHFkW�QXP�UXO�LQGLFDW�GH�SDUDPHWUX�OXQJLPH� &DUDFWHUHOH�H[WUDVH�VXQW�HOLPLQDWH��QX�VXQW�PHPRUDWH��

� 0HWRGD�SHFN IXUQL]HD]� SULPXO�FDUDFWHU�GLQ�IOX[XO�GH�LQWUDUH��I�U� D�O�H[WUDJH�vQV� GLQ�IOX[��&DUDFWHUXO�YD�IL�SULPXO�FDUDFWHU�H[WUDV�OD�XUP�WRDUHD�FLWLUH�

LQW�SHFN����([HPSOX� F� �FLQ�SHFN�����

� 0HWRGD�SXWEDFN LQVHUHD]� vQ�IOX[XO�GH�LQWUDUH�FDUDFWHUXO�WULPLV�FD�DUJXPHQW�LVWUHDP��SXWEDFN�FKDU���

2EVHUYD LL����LQW�D���FLQ�JHW��D��� FLQ�!!�D����0HWRGHOH�SRW�IL�IRORVLWH�vQ�VHULH� ([HPSOX� FLQ�JHW�D��JHW�E��JHW��F��

Page 242: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

�������0(72'(/(�&/$6(,�RVWUHDP� 6XSUDGHILQLUHD�RSHUDWRUXOXL�GH�LQVHU LH���

2SHUDWRUXO�GH� LQVHU LH� vQ� IOX[XO�GH� LHúLUH�HVWH� VXSUDvQF�UFDW�SULQWU�R� IXQF LH�PHPEU� SHQWUX�WRDWH� WLSXULOH� GH� ED]��� (O� DUH� UROXO� GH� D� LQWURGXFH� �LQVHUD�� vQ� IOX[XO� GH� LHúLUH� FDUDFWHUHOH�QHFHVDUH�SHQWUX�D�DILúD�R�YDORDUH�GLQWU�XQ�WLS�GH�ED]��

RVWUHDP��RSHUDWRU�����WLSBGHBED]���3ULPXO�DUJXPHQW�HVWH�LPSOLFLW��WKLV���$O�GRLOHD�DUJXPHQW�HVWH�R�H[SUHVLH�GH�WLS�GH�ED]��2SHUDWRUXO�SRDWH�IL�VXSUDvQF�UFDW�SULQWU�R�IXQF LH�SULHWHQ���SHQWUX�D�LQVHUD�vQ�IOX[XO�GH�LHúLUH�LQIRUPD LLOH�GHVSUH�XQ�RELHFW�GLQWU�XQ�WLS�GHILQLW�GH�XWLOL]DWRU��FODV���

IULHQG�RVWUHDP��RSHUDWRU�����RVWUHDP����FODVD���� 0HWRGD SXW LQVHUHD]� vQ�IOX[XO�GH�GDWH�GH�LHúLUH�FDUDFWHUXO�WUDQVPLV�FD�SDUDPHWUX�

RVWUHDP�SXW��FKDU��([HPSOH�

FKDU�F 6��FRXW���SXW���F��� ���HFKLYDOHQW�FX�FRXW����F�FKDU�F� $�F� %�F� &�FRXW�SXW�F���SXW�F���SXW�F���

��HFKLYDOHQW�FX�FRXW�SXW�F���FRXW�SXW�F����FRXW�SXW�F������HFKLYDOHQW�FX�FRXW��F���F���F��

� 0HWRGD� ZULWH LQVHUHD]� vQ� IOX[XO� GH� GDWH� GH� LHúLUH� XQ� QXP�U� GH� FDUDFWHUH�� GH� OXQJLPHLPSXV���H[LVWHQWH�vQ�]RQD�WDEORX�

RVWUHDP��ZULWH��FKDU� �WDEORX��LQW�OXQJLPH��([HPSOX� FKDU�W>@ �%XQ� ]LXD�?Q��� FRXW�ZULWH�W�����

��,QVHUHD]� vQ�IOX[XO�GH�LHúLUH���FDUDFWHUH��vQFHSkQG�GH�OD�DGUHVD�W�([HUFL LX� 6H�LOXVWUHD]� IRUPDWDUHD�XQXL�IOX[�GH�LQWUDUH�LHúLUH�DWkW�SULQ�IXQF LL�PHPEUH��FkW�úL�FX�DMXWRUXO�PDQLSXODWRULORU��FX�VDX�I�U� SDUDPHWUL���LQFOXGH��LRVWUHDP�K!�LQFOXGH��LRPDQLS�K!YRLG�PDLQ��^LQW�L �����FKDU�FDU��PHVDM>@ ��$SDV� WDVWD�(QWHU?Q��FRXW��VHWZ�����UHVHWLRVIODJV�LRV��LQWHUQDO�_LRV��ULJKW��FRXW��VHWLRVIODJV�LRV��OHIW���VHWILOO�����L��HQGO�FRXW��VHWZ�����VHWLRVIODJV�LRV��VKRZSRV���VHWILOO�� ���L��HQGO�FRXW��VHWZ�����UHVHWLRVIODJV�LRV��OHIW���VHWILOO�����VHWLRVIODJV�LRV��ULJKW��FRXW��L��HQGO�FRXW���?Q�KH[DJHVLPDO����VHWZ�����KH[��L��HQGO�FRXW���?Q�RFWDO����VHWZ�����RFW��L��HQGO�FRXW���?Q�]HFLPDO����VHWZ�����GHF��L��HQGO�FRXW��PHVDM��FLQ�JHW�FDU��GRXEOH�G �����������������������������������������FRXW���$ILVDUH�G�FX�SUHFL]LD�LPSOLFLW�����G��HQGO�FRXW���$ILVDUH�G�FX�OXQJ����VL�SUHFL]LH�������VHWZ������VHWSUHFLVLRQ������G��HQGO�FRXW���6FKLPEDUH�FDUDFWHU�XPSOHUH�����VHWZ������VHWILOO� ���G��HQGO�FRXW��HQGO�`

Page 243: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

�������0$1,38/$725,�&5($�,�'(�87,/,=$7250DQLSXODWRULL� VXQW� IXQF LL� VSHFLDOH� FDUH�SRW� IL� XWLOL]DWH� DO�WXUL� GH�RSHUDWRULL� GH� LQVHU LH�H[WUDF LH�SHQWUX�D� IRUPDWD�GDWHOH�GH� LHúLUH�LQWUDUH��3H� OkQJ� PDQLSXODWRULL�SUHGHILQ L��XWLOL]DWRUXO� vúL�SRDWH�FUHD�PDQLSXODWRUL�SURSULL�&UHDUHD�PDQLSXODWRULORU�I�U� SDUDPHWUL

RVWUHDP�QXPHBPDQLSXODWRU��RVWUHDP��� ��SHQWUX�XQ�IOX[�GH�LHúLUHLVWUHDP�QXPHBPDQLSXODWRU��LVWUHDP��� ��SHQWUX�XQ�IOX[�GH�LQWUDUH

&UHDUHD�PDQLSXODWRULORU�FX�SDUDPHWUL&UHDUHD�PDQLSXODWRULORU�I�U� SDUDPHWUL�QHFHVLW� IRORVLUHD�D�GRX� IXQF LL�RVWUHDP��QXPHBPDQLSXODWRU��RVWUHDP���LQW��RPDQLS��LQW!�QXPHBPDQLSXODWRU��LQW�Q� �� IXQF LH�úDEORQ �WHPSODWH� FX�SDUDPHWUX�GH�WLS�LQW

UHWXUQ�RPDQLS��LQW!��QXPHBPDQLSXODWRU��Q��`'HFL��PDQLSXODWRULL�VXQW�IXQF LL�DOH�F�URU�FRUSXUL�VXQW�VWDELOLWH�GH�XWLOL]DWRU�([HPSOX� ÌQ�H[HPSOXO�XUP�WRU�VH�GHILQHVF�PDQLSXODWRULL�LQGHQWDUH �LQGHQWDUH� �vQDLQWHD�OLQLHL�SURSULX�]LVH�� VH� ODV� XQ� QXP�U� GH� VSD LL� DOEH��� FRQYKH[ �UHDOL]HD]� FRQYHUVLD� GLQ� ]HFLPDO� vQ�KH[D���LQLW �LQL LDOL]HD]� OXQJLPHD�FkPSXOXL�OD����FDUDFWHUH��VWELOHúWH�SUHFL]LD�OD���úL�FDUDFWHUXO�GH�XPSOHUH�����LQFOXGH��LRVWUHDP�K!�LQFOXGH��LRPDQLS�K!RVWUHDP�FRQYKH[ �RVWUHDP�LHV�

^LHV�VHWI�LRV��KH[��LRV��EDVHILHOG���LHV�VHWI�LRV��VKRZEDVH���UHWXUQ�LHV�`RVWUHDP�LQGHQWDUH �RVWUHDP�LHV��LQW�QUBVSD LL�

^IRU��LQW�L ���L�QUBVSDWLL��L��� LHV�����UHWXUQ�LHV�`RVWUHDP�LQLW �RVWUHDP�LHV�

^LHV�ZLGWK������VWUHDP�SUHFLVLRQ�����LHV�ILOO�����UHWXUQ�LHV�`RPDQLS��LQW!�LQGHQWDUH��LQW�QUBVSD LL�

^UHWXUQ�RPDQLS��LQW!��LQGHQWDUH��QUBVSD LL��`YRLG�PDLQ��

^FRXW����������FRQYKH[�������HQGO��FRXW��LQGHQWDUH�������/LQLD��WH[W?Q���LQGHQWDUH������/LQLD��

WH[W?Q���FRXW�LQLW�������������`

�������)/8;85,�'(�'$7(�3(1758�),ù,(5(8Q�IOX[�GH�LQWUDUH�LHúLUH�SRDWH�IL�DVRFLDW�XQXL�ILúLHU��3HQWUX� D� DVRFLD� XQ� IOX[� GH� LHúLUH XQXL� ILVLHU�� HVWH� QHFHVDU� FUHDUHD� XQXL� RELHFW GH� WLSXO�RIVWUHDP�� &ODVD� RIVWUHDP HVWH� GHULYDW� GLQ� FODVHOH RVWUHDP �PRúWHQHúWH�PHWRGHOH� FDUH�SHUPLW� LQVHUDUHD� LQIRUPD LLORU� � vQWU�XQ� IOX[� GH� LHúLUH�� úL�IVWUHDPEDVH �PRúWHQHúWH� RSHUD LLOH�SULYLWRDUH�OD�DVRFLHUHD�ILúLHUHORU��

Page 244: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

3HQWUX� D� DVRFLD� XQ� IOX[� GH� LQWUDUH XQXL� ILúLHU�� HVWH� QHFHVDU� FUHDUHD� XQXL� RELHFW� GH� WLSXO�LIVWUHDP�� &ODVD� LIVWUHDP HVWH� GHULYDW� GLQ� FODVHOH LVWUHDP �PRúWHQHúWH� PHWRGHOH� FDUH�SHUPLW�H[WUDJHUHD�LQIRUPD LLORU�GLQWU�XQ�IOX[�GH�LQWUDUH��úL�IVWUHDPEDVH �PRúWHQHúWH�RSHUD LLOH�SULYLWRDUH�OD�DVRFLHUHD�ILúLHUHORU���3HQWUX� FUHDUHD�XQRU�RELHFWH�GLQ� FODVHOH� LIVWUHDP�VDX�RIVWUHDP�VH� LPSXQH� LQFOXGHUHD�KHDGHUH �ORU�LRVWUHDP�K úL�IVWUHDP�K�&RQVWUXFWRULL FODVHL�RIVWUHDP VXQW�

RIVWUHDP���)OX[XO�QX�HVWH�DVRFLDW�QLFL�XQXL�ILúLHU

RIVWUHDP�FRQVW�FKDU� QXPHBILVLHU��LQW�PRGBDFFHV LRV�RXW��3DUDPHWUL�FRQVWUXFWRUXOXL�VXQW�QXPHOH�ILúLHUXOXL�úL�PRGXO�GH�DFFHV�OD�DFHVWD��VFULHUH��ILúL HU�GH�LHúLUH��

RIVWUHDP��LQW�IG��FKDU� EXIIHU��LQW�OXQJBEXIIHU��3DUDPHWULL�VXQW�QXP�UXO�LQWHUQ�DO�ILVLHUXOXL��IG���]RQD�WDPSRQ�GH�LQWU�UL�LHúLUL��EXIIHU��úL�OXQJLPHD�]RQHL�WDPSRQ��OXQJBEXIIHU��&RQVWUXFWRULL FODVHL�LIVWUHDP VXQW�

LIVWUHDP���)OX[XO�QX�HVWH�DVRFLDW�QLFL�XQXL�ILúLHU

LIVWUHDP�FRQVW�FKDU� QXPHBILVLHU��LQW�PRGBDFFHV LRV�LQ��3DUDPHWUL�FRQVWUXFWRUXOXL�VXQW�QXPHOH�ILúLHUXOXL�úL�PRGXO�GH�DFFHV�OD�DFHVWD��FLWLUH��ILúLHU�GH�LQWUDUH��

LIVWUHDP��LQW�IG��FKDU� EXIIHU��LQW�OXQJBEXIIHU��3DUDPHWULL� VXQW QXP�UXO� LQWHUQ� DO� ILúLHUXOXL� �IG��� ]RQD� WDPSRQ� GH� LQWU�UL�LHúLUL� �EXIIHU�� úL�OXQJLPHD�]RQHL�WDPSRQ��OXQJBEXIIHU��([HPSOX�6H� GHFODU� RELHFWXO� QXPLW� ILVBLHV�� GH� WLSXO� RIVWUHDP�� RELHFW� DVRFLDW� XQXL� ILúLHU� FX� QXPHOH�'$7(�W[W�� GHVFKLV� DSRL� SHQWUX� LHúLUH� �VFULHUH��� 6FULHUHD� vQ� ILúLHUXO� DVRFLDW� RELHFWXOXL� VH� IDFH�SULQWU�XQ�IOX[�FDUH�EHQHILFLD]� GH�WRDWH��IDFLOLW� LOH��FODVHL�RVWUHDP�

RIVWUHDP�ILVBLHV��'$7(�W[W���LRV��RXW�� ��VDX��RIVWUHDP�ILVBLHV��'$7(�W[W���

6FULHUHD�vQ�ILúLHUXO�'$7(�W[W� ILVBLHV������������������3HQWUX�VFULHUH�IRUPDWDW� VDX�VFULHUH�ELQDU� vQ�ILúLHUXO�DVRFLDW� ILVBLHV�ZULWH���������3HQWUX�H[DPLQDUHD�VW�ULL�IOX[XOXL�GH�HURDUH�FRUHVSXQ]�WRU� LI��ILVBLHV��������6H�GHFODU� RELHFWXO�QXPLW�ILVBLQWU�� GH� WLSXO�LIVWUHDP�� RELHFW� DVRFLDW�XQXL� ILúLHU� FX�QXPHOH�128�W[W��GHVFKLV�DSRL�SHQWUX�LQWUDUH��FLWLUH���&LWLUHD�GLQ�ILúLHUXO�DVRFLDW�RELHFWXOXL�VH�IDFH�SULQWU �XQ�IOX[�FDUH�EHQHILFLD]� GH�WRDWH��IDFLOLW� LOH��FODVHL�LVWUHDP�

LIVWUHDP�ILVBLQWU��'$7(�GDW���LRV��LQ�� ��VDX��LIVWUHDP�ILVBLQWU��128�W[W���

&LWLUHD�vQ�ILúLHUXO�128�W[W� ILVBLQWU!!�������!!�������3HQWUX�FLWLUH�IRUPDWDW� VDX�FLWLUH�ELQDU� GLQ�ILúLHUXO�DVRFLDW� ILVBLQWU�UHDG���������3HQWUX�H[DPLQDUHD�VW�ULL�IOX[XOXL�GH�HURDUH�FRUHVSXQ]�WRU� LI��ILVBLQWU��������2EVHUYD LL� &RQHFWDUHD��DVRFLHUHD��XQXL�IOX[�XQXL�ILúLHU�SUHVXSXQH�� )LH�H[LVWHQ D�D GRX� WLSXUL�GH�RELHFWH��XQ�IOX[�úL�XQ�ILúLHU�� )LH�GHFODUDUHD�XQXL�IOX[�FDUH�YD�IL�DVRFLDW�XOWHULRU�XQXL�ILúLHU�

Page 245: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

&ODVD� IVWUHDP PRúWHQHúWH� DWkW� FODVHOH� LIVWUHDP�� FkW� úL� RIVWUHDP�� (D� SHUPLWH� DFFHVXO� vQ�FLWLUH�VFULHUH��&RQVWUXFWRUXO�FX�SDUDPHWUL�DO�FODVHL�IVWUHDP�

IVWUHDP�FKDU� QXPHBILúLHU�LQW�PRGBGHVFKLG�LQW�SURWHF ILOHEXI��RSHQSURW��

0RGXO�GH�GHVFKLGHUH��PRGBGHVFKLG��D�XQXL�ILúLHU�SRDWH�IL�LRV��LQ ILúLHU�GH�LQWUDUHLRV��RXW ILúLHU�GH�LHúLUHLRV��DWH GXS� GHVFKLGHUHD�ILúLHUXOXL��SR]L LD�FXUHQW� HVWH�VIkUúLWXO�DFHVWXLDLRV��DSS PRG�DSSHQG��GH�VFULHUH�OD�VIkUúLWXO�XQXL�ILúLHU�H[LVWHQW�LRV��WUXQF GDF� ILúLHUXO�H[LVW���GDWHOH�H[LVWHQWH�VH�SLHUGLRV��QRFUHDWH GDF� ILúLHUXO�DVRFLDW�QX�H[LVW���QX�YD�IL�FUHDW�GHFkW�OD�VFULHUHLRV��ELQDU\ ILúLHU�ELQDULRV��QRUHSODFH ILúLHUXO�QX�WUHEXLH�V� H[LVWH0RGXO�GH�GHVFKLGHUH�HVWH�GHILQLW�SULQWU�XQ�FXYkQW�GH�VWDUH�� vQ�FDUH�ILHFDUH�ELW�DUH�R�VHPQLILFD LH�SDUWLFXODU���3HQWUX�VHWDUHD��DFWLYDUHD��PDL�PXOWRU�EL L��VH�IRORVHúWH�RSHUDWRUXO�_��VDX�ORJLF��SH�ELW���FD�vQ�H[HPSOX�FODVV�LRV^��««��

SXEOLF�HQXP�RSHQBPRGH^

LQ �[����RXW �[����DWH �[���DSS �[����WUXQF �[����QRFUHDWH �[���QRUHSODFH �[����ELQDU\ �[��

`�`�([HPSOH� LIVWUHDP�I���'$7(�W[W���LRV��LQ_LRV��QRFUHDWH��IVWUHDP�I���SHUV�GDW���LRV��LQ_LRV��RXW��� 0HWRGD RSHQ

3UHOXFUDUHD�XQXL�ILúLHU�vQFHSH�FX�GHVFKLGHUHD�DFHVWXLD��FDUH�VH�SRDWH�UHDOL]D�� /D� LQVWDQ LHUHD� RELHFWHORU� GLQ� FODVHOH� LIVWUHDP�� RIVWUHDP� VDX� IVWUHDP�� FX� DMXWRUXO�

FRQVWUXFWRUXOXL�FX�SDUDPHWUL��FRQVWUXFWRUXO�DSHOHD]� DXWRPDW�IXQF LD�RSHQ��� 3ULQ�DSHOXO�H[SOLFLW�DO�IXQF LHL�RSHQ�0HWRGD�RSHQ�HVWH�GHILQLW� vQ�FODVD�IVWUHDPEDVH úL�HVWH�VXSUDvQF�UFDW� vQ�IXQF LLOH�GHULYDWH�GLQ�DFHDVWD��(D�DUH�DFHHDúL�SDUDPHWUL�FD�úL�FRQVWUXFWRUXO�FODVHL�úL�SURWRWLSXO�

YRLG�RSHQ��FKDU� QXPHBILúLHU��LQW�PRGBGHVFKLGHUH��LQW�SURWHF LH��

� 0HWRGD�FORVH UHDOL]HD]� vQFKLGHUHD�XQXL�ILúLHU�YRLG�FORVH���

([HUFL LX� ÌQ�H[HPSOXO�XUP�WRU�VH�DVRFLD]� IOX[XOXL�GH�LHúLUH��RELHFWXOXL�ILVBLHV��ILúLHUXO�QXPLW�WH[W�W[W��6H�WHVWHD]� FXYkQWXO�GH�VWDUH�GH�HURDUH��LDU�GDF� QX�DX�IRVW�SUREOHPH�OD�GHVFKLGHUH��vQ�ILúLHU�VH�VFULH�XQ�WH[W����OLQLL���DSRL��R�VHULH�GH�FRQVWDQWH�QXPHULFH��IRUPDWDWH��6H�vQFKLGH�ILúLHUXO��$FHODúL� ILúLHU�HVWH�DVRFLDW�XQXL� IOX[�GH� LQWUDUH��SHQWUX�FLWLUH���7H[WXO� �VFULV�DQW HULRU��HVWH�FLWLW� vQ�

Page 246: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

YDULDELOD�úLU��DSRL�HVWH�DILúDW��6H�FLWHVF�GLQ� ILúLHU� úL�DSRL� VXQW�DILúDWH�FRQVWDQWHOH�QXPHULFH��6H�vQFKLGH�ILúLHUXO��LQFOXGH��IVWUHDP�K!�LQFOXGH��LRPDQLS�K!LQW�PDLQ��^RIVWUHDP�ILVBLHV��WH[W�W[W��� ��GHVFKLGHUH�ILúLHU�WH[W�W[WLI���ILVBLHV�^ FRXW���(URDUH�OD�GHFKLGHUHD�ILúLHUXOXL�?Q���UHWXUQ���`ILVBLHV���6FULHUHD�XQXL�WH[W�?Q�vQ�ILúLHU?Q��ILVBLHV�������KH[��VHWZ�����������VHWZ������VHWSUHFLVLRQ�����FRXW�����������������������HQGO�ILVBLHV�FORVH��� ��vQFKLGHUHD�ILúLHUXOXLLIVWUHDP�ILVBLQWU��WH[W�W[W��� ��GHVFKLGHUHD�ILV��SWU��FLWLUHLI���ILVBLQWU�^FRXW���(URDUH�OD�GHVFKLGHUHD�ILV��SWU��FLWLUH� ?Q��UHWXUQ���`FKDU�VLU>���@�IRU��LQW�N ���N����N��� ^ILVBLQWU!!VLU��FRXW��VLU��?Q�`FRXW��HQGO��LQW�L��M��GRXEOH�X��ILVBLQWU!!L!!KH[!!M!!X��FRXW��L�����M�����X��HQGO��ILVBLQWU�FORVH����UHWXUQ����`2EVHUYD LL�'HVFKLGHUHD�úL�vQFKLGHUHD�ILúLHUXOXL�V�DU�IL�SXWXW�UHDOL]D�úL�DVWIHO�IVWUHDP�ILVBLHV�ILVBLHV�RSHQ��WH[W�W[W���LRV��RXW��ILVBLHV�FORVH���IVWUHDP�ILVBLQ�ILVBLQ�RSHQ��WH[W�W[W���LRV��LQ��ILVBLQ�FORVH���([HPSOX� 6� VH�VFULH�XQ�SURJUDP�FDUH�FRQFDWHQHD]� GRX� ILúLHUH��GHSXQkQG�UH]XOWDWXO�vQ�DO�WUHLOHD�ILúLHU�� 6H� FUHD]� WUHL� IOX[XUL��I���I� úL�GHVW�� FDUH� VXQW� DWDúDWH� ILúLHUHORU� FRUHVSXQ]�WRDUH� �SULQ�PHWRGD�RSHQ���&RSLHUHD�vQ�ILúLHUXO�GHVWLQD LH�VH�UHDOL]HD]� SULQ�IRORVLUHD�PHWRGHORU�JHW��SXW úL�IXQF LD�FRS\��0HWRGD�FORVH vQWUHUXSH�OHJ�WXUD�ORJLF� GLQWUH�IOX[XUL�úL�ILúLHUH��LQFOXGH��LRVWUHDP�K!�LQFOXGH��SURFHVV�K!�LQFOXGH��IVWUHDP�K!YRLG�VHPQBHU�FKDU� F�

^� � FHUU���?Q?Q� (URDUH OD� GHVFKLGHUHD� ILVLHUXOXL����F��HQGO�H[LW���� `YRLG�FRSLHUH�RIVWUHDP�GHVW��LIVWUHDP�VXUVD�

^FKDU�&��ZKLOH��GHVW��VXUVD�JHW�&��

GHVW�SXW�&���`YRLG�PDLQ��

^FKDU�QXPHBVXUVD�>��@��QXPHBVXUVD�>��@��GHVWLQDWLH>��@�LIVWUHDP�I���I���RIVWUHDP�GHVW�FRXW���1XPHOH�FHORU���ILVLHUH�����'HVWLQDWLH�6XUVD��6XUVD� ?Q��FLQ�UHDG�GHVWLQDWLH�����FLQ�UHDG�QXPHBVXUVD������FLQ�UHDG�QXPHBVX

UVD������GHVWLQDWLH>��@ QXPHBVXUVD�>��@ QXPHBVXUVD�>��@ ?��I��RSHQ�QXPHBVXUVD���LRV��QRFUHDWH��LI���I�� VHPQBHU�QXPHBVXUVD��� ��XWLOL]�RSHUDWRU���UHGHILQLWI��RSHQ�QXPHBVXUVD���LRV��QRFUHDWH��LI���I�� VHPQBHU�QXPHBVXUVD��� ��XWLOL]�RSHUDWRU���UHGHILQLWGHVW�RSHQ�GHVWLQDWLH��LI���GHVW� VHPQBHU�GHVWLQDWLH�� ��XWLOL]�RSHUDWRU���UHGHILQLW

Page 247: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

FRSLHUH��GHVW��I����FRSLHUH�GHVW��I���I��FORVH���I��FORVH���GHVW�FORVH���`

([HUFL LX� 6H�LOXVWUHD]� IRORVLUHD�IOX[XULORU�SHQWUX�RSHUD LL�GH�FLWLUH�VFULHUH�vQ�ILúLHUH�WH[W��LQFOXGH��IVWUHDP�K!�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^�RIVWUHDP�ILVLHURXW��QRX�W[W��� ���'HVFKLGH�ILVLHUXO�WH[W�QRX�W[W��ILVLHURXW������7HVWH�ILVLHUH��� ��6FULH�XQ�WH[W�LQ�ILVLHU�ILVLHURXW�FORVH��� ���,QFKLGH�ILVLHUXO����'HVFKLGH�XQ�DOW�ILVLHU�WH[W�VL�VFULH�LQ�DFHVWD�QLVWH�QXPHUH��QXPHUHOH�VXQW�VHSDUDWH�SULQ�VSDWLL�

ILVLHURXW�RSHQ��QXPHUH�W[W���� ILVLHURXW� �������� ��������������ILVLHURXW�FORVH������'HVFKLGH�ILVLHUXO�QRX�W[W�SHQWUX�FLWLUH�

LIVWUHDP�ILVLHULQ���ILVLHULQ�RSHQ��QRX�W[W���FKDU�S>��@� ���6WDELOHVWH�R�]RQD�GH�PHPRULH�IRORVLWD�SHQWUX�FLWLUHD�WH[WXOXL�ILVLHULQ�!!S� ���&LWHVWH�VL�DILVHD]D�SULPHOH�GRXD�FXYLQWH�GLQ�ILVLHU�FRXW���S�������ILVLHULQ�!!S���FRXW���S��HQGO�ILVLHULQ�FORVH��� ���,QFKLGH�ILVLHUXO�LQW�QXPDU���ILVLHULQ�RSHQ��QXPHUH�F���

���'HVFKLGH�ILVLHUXO�WH[W�QXPHUH�F�SHQWUX�FLWLUHD�QXPHUHORU�LQWUHJL���&LWHVWH�QXPHUH�GLQ�ILVLHU�SDQD�FDQG�DMXQJH�OD�VIDUVLWXO�ILVLHUXOXL�ZKLOH���ILVLHULQ�HRI���

^ILVLHULQ�!!�QXPDU� ���&LWHVWH�XQ�QXPDU�LQWUHJ�LI���ILVLHULQ�HRI��� FRXW��QXPDU��HQGO�

���'DFD�QX�D�DMXQV�OD�VIDUVLWXO�ILVLHUXOXL�DILVHD]D�QXPDUXO�`

ILVLHULQ�FORVH��� ���,QFKLGH�ILVLHUXO����VH�FLWHVWH�WH[WXO�GLQ�ILVLHUXO�QRX�W[W�FXYDQW�FX�FXYDQW�

ILVLHULQ�RSHQ��QRX�W[W���ZKLOH���ILVLHULQ�HRI��� ���&LWHVWH�FXYLQWH�GLQ�ILVLHU�SDQD�DMXQJH�OD�VIDUVLWXO�ILVLHUXOXL�

^ ���&LWHVWH�FXYDQW�FX�FXYDQW��ILVLHULQ�!!S�������FRXW���S��HQGO�

``

�������),ù,(5(�%,1$5()LúLHUHOH� ELQDUH UHSUH]LQW� R� VXFFHVLXQH� GH� RFWH L�� DVXSUD� F�URUD� OD� LQWUDUH� VDX� OD� LHúLUH� QX� VH�UHDOL]HD]� QLFL�R�FRQYHUVLH��(OH�VXQW�SUHOXFUDWH�ELQDU��VSUH�GHRVHELUH�GH�H[HPSOXO�DQWHULRU��vQ�FDUH�SUHOXFUDUHD�VH�UHDOL]D�vQ�PRG�WH[W��XQ�QXP�U�vQ�IRUPDW�LQWHUQ�HVWH�UHSUH]HQWDW�ELQDU��GDU�vQ�IRUPDW�H[WHUQ�HO�DSDUH�FD�XQ�úLU�GH�FDUDFWHUH��8Q�úLU�vQ�IRUPDWXO�H[WHUQ�DUH�WHUPLQDWRUXO� ?Q��LDU�vQ�IRUPDW�LQWHUQ� DUH� WHUPLQDWRUXO� ?���� 'HRDUHFH� QX� H[LVW� XQ� WHUPLQDWRU� GH� OLQLH�� WUHEXLH� VSHFLILFDW�OXQJLPHD�vQUHJLVWU�ULL��0HWRGHOH�ZULWH��UHDG QX�UHDOL]HD]� QLFL�R�FRQYHUVLH�� 0HWRGD�ZULWH VFULH�vQ�ILúLHU�XQ�QXP�U�GH�Q�RFWH L�

RVWUHDP�ZULWH�FRQVW�FKDU� �WDE��LQW�Q��

Page 248: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

� 0HWRGD�UHDG FLWHúWH�GLQ�ILúLHU�Q�RFWH L�LVWUHDP�UHDG��FRQVW�FKDU� �WDE��LQW�Q��

/LPEDMXO�&���RIHU� �FD úL� OLPEDMXO�&�� SRVLELOLWDWHD�GH�DFFHV�GLUHFW� vQWU�XQ� ILúLHU�FRQHFWDW� OD�XQ�IOX[�GH�GDWH��'XS� ILHFDUH�RSHUD LH�GH�FLWLUH��H[WUDJHUH�GLQ�IOX[XO�GH�LQWUDUH��VDX�FLWLUH��LQVHU LH�vQ�IOX[XO� GH� LHúLUH��� SRLQWHUXO� FDUH� LQGLF� SR]L LD� FXUHQW� vQ� IOX[XO� GH� GDWH� HVWH� LQFUHPHQWDW� FX� XQ�QXP�U�HJDO�FX�QXP�UXO�GH�RFWH L� WUDQVIHUD L��ÌQ�DFHDVW� VLWXD LH�VH�UHDOL]HD]� XQ�DFFHV�VHFYHQ LDO��FD�vQ�FD]XULOH�SUHFHGHQWH��&ODVHOH� LIVWUHDP úL� RIVWUHDP DX� FD� PHWRGH� IXQF LLOH� VHHNJ �PHPEU� D� FODVHL� LVWUHDP���UHVSHFWLY�VHHNS �PHPEU� D�FODVHL�RVWUHDP��FDUH�SHUPLW�PRGLILFDUHD�YDORULL�SRLQWHUXOXL��

LVWUHDP��VHHNJ�ORQJ��LVWUHDP��VHHNJ�ORQJ��VHHNBGLU��

RVWUHDP��VHHNS�ORQJ��RVWUHDP��VHHNS�ORQJ��VHHNBGLU��

$PEHOH�PHWRGH�SULPHVF�GRL�SDUDPHWUL�� XQ� vQWUHJ� UHSUH]HQWkQG� GHSODVDUHD� SRLQWHUXOXL� vQ� UDSRUW� FX� ED]D� �UHIHULQ D�� SUHFL]DW� GH� DO�

GRLOHD�SDUDPHWUX�� R�FRQVWDQW� vQWUHDJ� FDUH�SUHFL]HD]� ED]D��9DORULOH�FRQVWDQWHL�VXQW�GHILQLWH�vQ�FODVD�LRV�FODVV�LRV^ �������SXEOLF�

HQXP�VHHNBGLU^EHJ �� GHSODVDUH�ID ��GH�vQFHSXWXO�ILúLHUXOXL��LPSOLFLW�FXU �� GHSODVDUH�ID ��GH�SR]L LD�FXUHQW�HQG � GHSODVDUH�ID ��GH�VIkUúLWXO�ILúLHUXOXL

`�`�3HQWUX�DIODUHD�YDORULL�SRLQWHUXOXL��FODVD�LIVWUHDP DUH�PHWRGD�WHOOJ��LDU�FODVD�RIVWUHDP DUH�PHWRGD�WHOOS��FX SURWRWLSXULOH�

ORQJ�LVWUHDP��WHOOJ���ORQJ�RVWUHDP��WHOOS���

([HPSOX� 6H�FUHD]� LHUDUKLD�GH�FODVH�GLQ�ILJXUD��������vQ�FDUH�VH�LPSOHPHQ �WHD]� FODVD�VWXGHQW úL�FODVD�SURSULH ILVLHUBVWXG� FODV�GHULYDW� GLQ�IVWUHDP��ÌQ�DFHODúL�ILúLHU��ELQDU�VH�UHDOL]HD]� úL�VFULHUHD�úL�FLWLUHD��'DWRULW� SRVLELOLW� LL�GH�DFFHV�GLUHFW�VH�SRW�PRGLILFD�LQIRUPD LLOH�UHIHULWRDUH�OD�VWXGHQWXO�vQUHJLVWUDW�vQ�ILúLHU�SH�SR]L LD�N��LQFOXGH��IVWUHDP�K!�LQFOXGH��LRPDQLS�K!FODVV�VWXGHQW^ FKDU�QXPH>��@�

LQW�JUXSD��QRWH>�@�SXEOLF�

YRLG�FLWLUHBGDWH���IULHQG�RVWUHDP�RSHUDWRU���RVWUHDP���FRQVW�VWXGHQW���

FODVH�SULHWHQHFODVV�IVWUHDP

FODVV�ILVLHUBVWXGFODVV�VWXGHQW

)LJXUD��������,HUDUKLD�GH�FODVH

Page 249: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

IULHQG�FODVV�ILVLHUBVWXG�`�FODVV�ILVLHUBVWXG�SXEOLF�IVWUHDP ��ILúLHU�ELQDU�FX�RELHFWH�GLQ�FOV�VWXGHQW^SXEOLF�ILVLHUBVWXG��^�`�ILVLHUBVWXG�FRQVW�FKDU QXPBI�LQW�PRG�LQW�SURWHF LH ILOHEXI��RSHQSURW��IVWUHDP�QXPBI�PRG�_LRV��ELQDU\�SURWHF LH�^`YRLG�RSHQ�FRQVW�FKDU� QXPBI��LQW�PRG��LQW�SURWHFWLH ILOHEXI��RSHQSURW�

^IVWUHDP��RSHQ�QXPBI�PRG_LRV��ELQDU\�SURWHFWLH��` ��DSHOXO�PHW��RSHQ�GLQ�FOV��IVWUHDPLQW�FLWHVWHBI�VWXGHQW���LQW�VFULHBI��FRQVW�VWXGHQW���`�YRLG�VWXGHQW��FLWLUHBGDWH��^�LQW�JU��2.�IRU��LQW�N ���N�����N���� QXPH>N@ ��FLQ�LJQRUH�������?Q���FRXW���1XPHOH�VWXGHQWXOXL����FLQ�JHW�QXPH������FLQ�LJQRUH�������?Q��GR^

FRXW���*UXSD����FLQ!!JU� 2. �FLQ��JU!���JU�������LI���2.�^

FRXW���(URDUH��5HSHWD L�LQWURGXFHUHD�?Q�� FLQ�FOHDU���`HOVH�^JUXSD JU��FLQ�LJQRUH�������?Q��`

`ZKLOH���2.��IRU��LQW�N ���N����N���^LQW�Q�GR^

FRXW���QRWD����N��������� FLQ!!Q� 2. FLQ��Q!���Q� ���LI���2.�^

FRXW���1RWD�JUHVLW��5HSHWDWL�?Q��FLQ�FOHDU���FLQ�LJQRUH�������?Q�� ``ZKLOH���2.��QRWH>N@ Q�FLQ�LJQRUH�������?Q��``RVWUHDP�RSHUDWRU�����RVWUHDP�LHV��FRQVW�VWXGHQW�VWXG�^LHV���6WXGHQW����VWXG�QXPH����*UXSD����VWXG�JUXSD����1RWH���IRU��LQW�N ���N����N��� LHV��VWXG�QRWH>N@����LHV��HQGO�UHWXUQ�LHV�`W\SHGHI�XQLRQ�^VWXGHQW�V��FKDU�VELQ>VL]HRI�VWXGHQW�@�`�VWXG�LQW�ILVLHUBVWXG��VFULHBI�FRQVW�VWXGHQW�V�^VWXG�V�� V��V V� ZULWH�V��VELQ��VL]HRI�VWXGHQW��� UHWXUQ�EDG��� `LQW�ILVLHUBVWXG��FLWHVWHBI�VWXGHQW�V�

^VWXG�V�� UHDG�V��VELQ��VL]HRI�VWXGHQW��� V V��V�UHWXUQ�EDG���`

PDLQ��^FKDU�1XPHB)LV>@ �6WXGBELQ�ELQ���VWXGHQW�V��ILVLHUBVWXG�IV��LQW�JDWD�

Page 250: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

��GHVFKLGHUH�ILúLHU�SWU��VFULHUHIV�RSHQ��1XPHB)LV��LRV��RXW��LI���IV�^

FRXW���HURDUH�OD�GHVFKLGHUHD�ILúLHUXOXL����1XPHB)LV����SWU��VFULHUH?Q��

UHWXUQ���`FRXW���3R]��vQ�ILú�OD�GHVFKLGHUH����IV�WHOOS����HQGO� JDWD ��ZKLOH��JDWD�^FKDU�UDVS�FRXW���'DWHOH�VWXGHQWXOXL�?Q��V�FLWLUHBGDWH���FRXW���'DWH�LQWURGXVH����V��HQGO�GR^

FRXW���6FULH L�GDWH�vQ�ILúLHU�>'_1@�"��UDVS WRXSSHU�FLQ�JHW����FLQ�LJQRUH�������?Q��

`�ZKLOH��U�VS� '��U�VS� 1��LI��U�VS� �'�^

IV�VFULHBI�V���FRXW���3R]��vQ�ILúLHU�����IV�WHOOS����HQGO�`GR^

FRXW���&RQWLQXD L�LQWURGXFHUHD�>'_1@"��U�VS WRXSSHU�FLQ�JHW���������FLQ�LJQRUH�������?Q��

`�ZKLOH��U�VS� '��U�VS� 1��LI��U�VS 1� JDWD ��`IV�FORVH�����FLWLUHIV�RSHQ�1XPHB)LV��LRV��LQ��LI���IV�^

FRXW���(URDUH�OD�GHVFKLGHUHD�ILú�OXL����1XPHB)LV����SWU��FLWLUH?Q��� UHWXUQ����`FRXW���3R]��vQ�ILú�OD�GHVFKLGHUH����IV�WHOOJ����HQGO�FRXW���'DWH�FLWLWH�GLQ�ILúLHU�?Q�� LQW�N ��ZKLOH���IV�HRI���^ IV�FLWHúWHBI�V��

LI���IV���IV�HRI���^ FRXW���(URDUH�OD�FLWLUH?Q��UHWXUQ����`LI���IV�HRI���^FRXW��V��HQGO�FRXW���3R]�vQ�ILúLHU����IV�WHOOJ���FRXW��HQGO�N���`

`FRXW���6�DX FLWLW�GLQ�ILúLHU����N����VWXGHQ L?Q��IV�FORVH���IV�RSHQ�1XPHB)LV��LRV��LQ�_�LRV��RXW�� ��GHVFKLGHUH�ILVLHU�DFWXDOL]DUH��LQWU�LHV�LI���IV�^

FRXW���(URDUH�OD�GHVFKLGHUH�ILV�����1XPHB)LV����SWU��FLWLUH��VFULHUH?Q���

UHWXUQ���`FRXW���'D L�QXP�UXO�VWXG�OXL�SHQWUX�FDUH�YUH L�V� LQORFXL L�GDWHOH���FLQ!!N��FLQ�LJQRUH�������?Q���IV�VHHNJ�N VL]HRI�VWXG���V�FLWLUHBGDWH���IV�VFULHBI�V���IV�VHHNJ�����N ��ZKLOH��IV�HRI���^

IV�FLWLUHBI�V��LI���IV���IV�HRI���^FRXW���(URDUH�OD�FLWLUHD�GLQ�

ILú����1XPHB)LV��HQGO�UHWXUQ��� `

Page 251: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

LI���IV�HRI���^FRXW��V��HQGO�FRXW���3R]�vQ�ILúLHU����IV�WHOOJ����HQGO�N���`

`FRXW���6�DX�JDVLW�vQ�ILúLHU����N����VWXGHQ L?Q��IV�FORVH���UHWXUQ���`

Ì175(%�5,�ù,�(;(5&,�,,&KHVWLXQL�WHRUHWLFH�� &H�vQ HOHJH L�SULQ�FRQFHSWXO�GH�VWUHDP"�� &DUH�FRQVLGHUD L�F� DU�IL�DYDQWDMHOH�XWLOL]�ULL�DERUG�ULL�RULHQWDWH�SH�RELHFWH�D�VLVWHPXOXL�GH�

,�2"�� &H�VXQW�PDQLSXODWRULL"�� &XP�vúL�SRDWH�FUHD�XWLOL]DWRUXO�PDQLSXODWRULL�SURSULL"

Page 252: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

&KHVWLXQL�SUDFWLFH5H]ROYD L�SUREOHPHOH�GLQ�FDSLWROXO����IRORVLQG�DERUGDUHD�RULHQWDW� SH�RELHFWH�

5()(5$7�'(�/$%25$7257HPD�ODERUDWRUXOXL� 32,17(5,3RLQWHULL�VXQW�YDULDELOH�FDUH�DX�FD�YDORUL�DGUHVHOH�DOWRU�YDULDELOH��RELHFWH���'LQ�SXQFWXO�GH�YHGHUH�DO�FRQ LQXWXOXL�]RQHL�GH�PHPRULH�DGUHVDWH��VH�GLVWLQJ�XUP�WRDUHOH�FDWHJRULL�GH�SRLQWHUL�� SRLQWHUL�GH�GDWH��RELHFWH� � FRQ LQ�DGUHVD�XQHL�YDULDELOH�GLQ�PHPRULH�� SRLQWHUL� JHQHULFL� �QXPL L� úL� SRLQWHUL� YRLG� � FRQ LQ� DGUHVD� XQXL� RELHFW� RDUHFDUH�� GH� WLS�

QHSUHFL]DW�� SRLQWHUL�GH�IXQF LL �YRU�IL�SUH]HQWD L�XOWHULRU�� FRQ LQ�DGUHVD�FRGXOXL�H[HFXWDELO�DO�XQHL�IXQF LL�([HPSOX�

LQW�[��\�� SWU����SWU� YDULDELO� SRLQWHU�F�WUH�XQ�LQW��[�\�YDULDELOH�SUHGHILQLWH��VLPSOH��GH�WLS�LQW[ ���FRXW��´$GUHVD�YDULDELOHL�[�HVWH�´��[��¶?Q¶�FRXW��´9DORDUHD�OXL�[�´��[��¶?Q¶�SWU [� ���DWULEXLUH��YDULDELOD�SWU�FRQ LQH�DGUHVD�YDULDELOHL�[FRXW��´9DULDELOD�SRLQWHU�SWU�DUH�YDORDUHD�´��SWU�FRXW��´�VL�DGUHVHD]D�RELHFWXO�´�� SWU��¶?Q¶�\ SWU��FRXW��´\ ´��\��¶?Q¶� ���\ �[ ���FRXW��´[ ´��[��¶?Q¶��FRXW��´ SWU ´�� SWU��¶?Q¶����[�VL� SWU�UHSUH]LQWD�DFHODVL�RELHFW��XQ�LQWUHJ�FX�YDORDUHD��[ ��� ���HFKLYDOHQWD�FX� SWU ���\ [���� ���HFKLYDOHQWD�FX�\ SWU���

9DULDELOHOH�SRLQWHU��DO�WXUL�GH�RSHUDWRULL�GH�UHIHUHQ LHUH�úL�GH�GHIHUHQ LHUH��SRW�DSDUH�vQ�H[SUHVLL�([HPSOH�

LQW�[��\�� T��T [� T �� ���HFKLYDOHQW� FX�[ ��T �� ���LQYDOLG� � FRQVWDQWHOH�QX�DX�DGUHV� [ �� ���LQYDOLG� � [�QX�HVWH�YDULDELO� SRLQWHU[ \� ��LQYDOLG���[�QX�HVWH�YDULDELO� SRLQWHU��GHFL�QX�SRDWH�IL� IRORVLW� FX�RSHUDWRUXO�GH�LQGLUHFWDUH�\ T����� ���HFKLYDOHQW� FX�\ [��� T� ��� ���VHWHD]� [�SH � T�� ��� ���HFKLYDOHQW� FX�� T����VDX�FX�[��LQW� U��U� �T�� �FRSLD]� FRQ LQXWXO�OXL�T��DGUHVD�OXL�[��vQ�U��GHFL�U�YD�SRLQWD�WRW�F�WUH�[��YD�FRQ LQH�WRW�DGUHVD�OXL�[� �GRXEOH�Z�� U� �Z�� U��� U���U� �Z��U� U��FRXW��´U� ´��U���¶?Q¶� ��DILúHD]� YDORDUHD�SRLQWHUXOXL�U���DGUHVD�OXL�Z�FRXW��´U� ´��U���¶?Q¶� ���DILúHD]� DGUHVD�YDULDELOHL�U�FRXW��´ U� �´�� U���¶?Q¶�GRXEOH�] U�� ���HFKLYDOHQW� FX�] ZFRXW��´] ´��]��¶?Q¶�

Page 253: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

([HPSOX�YRLG� Y��� Y���LQW�D��E�� T��� T��T�� �D��T�� �T���Y�� �T��T�� �Y�� ���HURDUH��XQXL�SRLQWHU�FX�WLS�QX�L�VH�SRDWH�DWULEXL�XQ�SRLQWHU�JHQHULFT�� ��LQW� ��Y���GRXEOH�V�� SV� �V�LQW�F�� O��YRLG� VY�O� ��LQW� ��VY��SV� ��GRXEOH� ��VY� �FKDU� ��VY� �D� � ,QWHUSUHWDUH�� DGUHVD� OD� FDUH� VH� J�VHúWH YDORDUHD� OXL� VY�HVWH�LQWHUSUHWDW� FD�ILLQG�DGUHVD�]RQHL�GH�PHPRULH�FDUH�FRQ LQH�R�GDWD�GH�WLS�FKDU�� �

([HPSOX�LQW�D�� SD�� SE�FRXW��´D ´��D��¶?Q¶��SD D��FRXW��´SD ´��SD��¶?Q¶�FRXW��´SD��´��SD����¶?Q¶��SE SD����FRXW��´SE ´��SE��¶?Q¶�LQW�L SD�SE��FRXW��´L ´��L��¶?Q¶�

32,17(5,�ù,�7$%/285,��32,17(5,�ù,�ù,585,�'(�&$5$&7(5(�([HPSOX�

LQW�D>��@�� SWU� ���D�HVWH�GHILQLW�FD�D>�@��D�HVWH�SRLQWHU�FRQVWDQWD� �D����� ���LOHJDOSWU� �D�� ��� OHJDO�� SWU� DUH� DFHHDúL� YDORDUH� FD� úL� D�� UHVSHFWLY� DGUHVD�HOHPHQWXOXL�D>�@

���SWU HVWH�YDULDELO��SRLQWHU��D HVWH�FRQVWDQW��SRLQWHU�LQW�[� �D>�@� ���HFKLYDOHQW�FX�[� � SWU��VH�DWULEXLH�OXL�[�YDORDUHD�OXL�D>�@

'HRDUHFH�QXPHOH� WDEORXOXL� D� HVWH� VLQRQLP�SHQWUX�DGUHVD� HOHPHQWXOXL�GH� LQGLFH�]HUR�GLQ� WDEORX��DVLJQDUHD�SWU D>�@ SRDWH�IL�vQORFXLW���FD�vQ�H[HPSOXO�DQWHULRU��FX�SWU D�([HPSOX�

FKDU�VLU>��@� FKDU� SVLU�VLU� �´KHOOR´� ���LOHJDOSVLU� �´KHOOR´� ���OHJDO

2SHUD LD�GH�LQGH[DUH�D�HOHPHQWHORU�XQXL�WDEORX�SRDWH�IL�UHDOL]DW� FX�DMXWRUXO�YDULDELOHORU�SRLQWHU�([HPSOX�

LQW�D>��@�� SWU� ���D�HVWH�SRLQWHU�FRQVWDQW��SWU�HVWH�YDULDELO� SRLQWHUSWU� �D� ���SWU�HVWH�DGUHVD�OXL�D>�@�SWU�L� vQVHDPQ� SWU��L VL]HRI�LQW���� GHFL�� � SWU� �� L � �D>L@'HRDUHFH�QXPHOH�XQXL�WDEORX�HVWH�XQ�SRLQWHU��FRQVWDQW���SXWHP�FRQF OX]LRQD�

D�L�� �D>L@D>L@�� �D�L�

([HUFL LX� 6� VH�VFULH�XUP�WRUXO�SURJUDP��FDUH�LOXVWUHD]� OHJ�WXUD�GLQWUH�SRLQWHUL�úL�YHFWRUL��úL�V�VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ�YRLG�^LQW�D>��@� �^������������������������������`��LQW�� SL�� �D��LQW�� SL�� �D>�@��LQW�� SL��FRXW��´D ´��D��´D ´��D��´ D ´�� D��¶?Q¶�FRXW��´D�� ´���D������´ D>�@ ´�� D>�@��¶?Q¶�FRXW��´D>�@ ´��D>�@���´ �D��� ´�� �D�����¶?Q¶�FRXW��´SL� ´��SL���´SL� ´��SL���¶?Q¶��LQW�[ SL����

Page 254: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

� � � [� SULPHúWH� YDORDUHD� ORFD LHL� D� FDUHL� DGUHV� VH� DIO� vQ� YDULDELOD� SRLQWHU� SL��� GHFL�YDORDUHD�OXL�D>�@� �FRXW��´[ ´��[��¶?Q¶��[ SL���� ���HFKLYDOHQW�FX� �SL�������[ �FRXW��´[ ´��[��¶?Q¶��[ � SL������ � [ ��� vQWkL� DWULEXLUHD�� DSRL� LQFUHPHQWDUHD YDORULL� VSUH� FDUH� SRLQWHD]� SL��� ÌQ� XUPD�LQFUHPHQW�ULL��YDORDUHD�OXL�D>�@�GHYLQH��� �FRXW��´[ ´��[��¶?Q¶��FRXW�� SL���¶?Q¶�[ ��SL�� ��HFKLYDOHQW� FX� ���SL��FRXW��´[ ´��[��¶?Q¶��[ ��� SL����FRXW��´[ ´��[��¶?Q¶��SL� D�SL� SL����FRXW��´SL� ´��SL���´ SL� ´�� SL���´SL� ´��SL���¶?Q¶�FRXW��´SL� ´��SL���´ SL� ´�� SL���´SL� ´��SL���¶?Q¶�FRXW��´SL��SL� ´���SL��SL����¶?Q¶� ��SL��SL� �`

([HUFL LX� 6� VH� VFULH� XUP�WRUXO� SURJUDP� �OHJ�WXUD� SRLQWHUL�úLUXUL� GH� FDUDFWHUH�� úL� V� VH�XUP�UHDVF� UH]XOWDWHOH�H[HFX LHL�DFHVWXLD�

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ�YRLG�^LQW�D ����E ���� SL D��GRXEOH�X ������Y ������� SG Y�FKDU�VLU�>@ ´VLUXO��´��VLU�>@ ´VLUXO��´�� SVLU VLU��FRXW��´D ´��D��´�D ´��D��´�E ´��E��´�E ´��E��¶?Q¶�FRXW��´ SL ´�� SL��´SL ´��SL��´�SL ´��SL��¶?Q¶�FRXW��´ SG ´�� SG��´SG ´��SG��´�SG ´��SG��¶?Q¶�FRXW��´ VLU� ´�� VLU���´�VLU� ´��VLU���´�VLU� ´��VLU���¶?Q¶���� VLU� V��VLU� VLUXO����VLU� �[IIG�FRXW��´ VLU� ´�� VLU���´�VLU� ´��VLU���´�VLU� ´��VLU���¶?Q¶���� VLU� V��VLU� VLUXO����VLU� �[IIFHFRXW��´ SVLU ´�� SVLU��´�SVLU ´��SVLU��´�SVLU ´��SVLU��¶?Q¶���� SVLU V��SVLU VLUXO����VLU� �[IIFFFRXW��´VLU��� ´���VLU������´�SVLU�� ´���SVLU�����¶?Q¶����VLU��� UXO����SVLU�� UXO��FRXW��´ �VLU���� ´�� �VLU������¶?Q¶���� �VLU���� U��YDORDUHD�HOHPHQWXOXL�GH�LQGLFH��YRLG� SY��� SY��SY� SVLU��SY� VLU��FRXW��´SY� ´��SY���´SY� ´��SY���¶?Q¶�FRXW��´SY� ´��SY���´SY� ´��SY���¶?Q¶�SL E��SG Y��SVLU VLU��FRXW��´ SL ´�� SL��´SL ´��SL��´�SL ´��SL��¶?Q¶�FRXW��´ SG ´�� SG��´SG ´��SG��´�SG ´��SG��¶?Q¶�FRXW��´ SVLU ´�� SVLU��´SVLU ´��SVLU��´�SVLU ´��SVLU��¶?Q¶�`([HUFL LX� 6� VH� VFULH� XQ� SURJUDP� FDUH� FLWHúWH� HOHPHQWHOH� XQXL� YHFWRU� GH� vQWUHJL�� FX�

PD[LP� ��� HOHPHQWH� úL� vQORFXLHúWH� HOHPHQWXO� PD[LP� GLQ� YHFWRU� FX� R� YDORDUH� LQWURGXV� GH� OD�WDVWDWXU���6H�YD�IRORVL�DULWPHWLFD�SRLQWHULORU�

�LQFOXGH��LRVWUHDP�K!YRLG�PDLQ��^�LQW�D>��@�LQW�Q��PD[��LQGLFH��FRXW��´1U��HOHPHQWH�´��FLQ!!Q�IRU��L ���L�Q��L���

^�FRXW��´D>³��L��´@ ´��FLQ!! �D�L��`���FLWLUHD�HOHPHQWHORU�YHFWRUXOXLPD[ D��LQGLFH ��

Page 255: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

RU��L ���L�Q��L���LI��PD[� �D�L��

^�PD[ �D�L���LQGLFH L�`���DIODUHD�YDORULL�HOHPHQWXOXL�PD[LP�GLQ�YHFWRU�úL�D�SR]L LHL�DFHVWXLDLQW�YDO�FRXW��´9DORDUH�GH�LQORFXLUH�´��FLQ�!!�YDO� �D�LQGLFH� YDO����FLWLUHD�YDORULL�FX�FDUH�VH�YD�vQORFXL�HOHPHQWXO�PD[LPIRU��L ���L�Q��L���

FRXW�� �D�L����?W�FRXW��?Q����DILúDUHD QRXOXL�YHFWRU� �vQ�DFHVW�PRG�GH�LPSOHPHQWDUH��vQ�VLWXD LD�vQ�FDUH�vQ�YHFWRU�H[LVW� PDL�PXOWH�HOHPHQWH�D�F�URU�YDORDUH�HVWH�HJDO� FX�YDORDUHD�HOHPHQWXOXL�PD[LP��YD�IL�vQORFXLW�GRDU�XOWLPXO�GLQWUH�DFHVWHD��FHO�GH�LQGLFH�PD[LP�� �`

([HUFL LX� 6� VH�WHVWH]H�SURJUDPXO�XUP�WRU��XUP�ULQG�FX�DWHQ LH�UH]XOWDWHOH�RE LQXWH��LQFOXGH��LRVWUHDP�K!�LQFOXGH��FRQLR�K!YRLG�PDLQ��^LQW�D>�@>�@ ^^�����`��^��������`��^�����������``�FOUVFU���FRXW���D ���D����D ���D����D>�@ ���D>�@��?Q�FRXW���3RLQWHUL�FDWUH�YHFWRULL�OLQLL?Q��IRU��LQW�L ���L����L���^

FRXW���� �D����L���� ��� �D�L��FRXW����D>���L���@ ���D>L@��?Q�

`���DILúDUHD�PDWULFLLIRU��L ���L����L���^

IRU��LQW�M ���M����M���FRXW�� � �D�L��M���?W����VDX�FRXW�� �D>L@�M���?W�

FRXW��?Q�`

`352%/(0(�352386(��� $QDOL]D L�XUP�WRDUHOH�VHFYHQ H�GH�LQVWUXF LXQL��,GHQWLILFD L�VHFYHQ HOH�LQFRUHFWH��DFROR�XQGH�

HVWH�FD]XO��úL�VXUVHOH�HURULORU�� LQW�D�E� F��D ���E ����F D�� GRXEOH�\��]�� [ ]���] \�� FKDU�[�� S�� T��[� �$��T� �[��S� �T��FRXW��´[ ´��[��¶?Q¶�

FRXW��´ S ´�� S��¶?Q¶��FRXW��´ T ´�� T��¶?Q¶�FRXW��´S ´��S��´�T ´��T��´ S ´�� S��¶?Q¶�

� FKDU� S��[>�@� �^D��E��F`���LQW�L�� T��\>�@� �^����������`�S� �[>�@�IRU��L� ����L������L���^FRXW��´ S ´�� S��´�S ´��S��¶?Q¶�S���`T� �\>�@�IRU��L� ����L������L���

Page 256: C++ Tutorial(Romaneste)

� ��� �

3DJH���� RI����

^FRXW��´ T ´�� T��´T ´��T��¶?Q¶�T���`

� FRQVW�FKDU� VLUXO ´V� SURJUDP�P´�� �VLUXO����� GRXEOH�D�� V��V �D������FRXW��´V ´V��¶?Q¶�� GRXEOH�D��� D��� D���D� D���D�� �����D� D���D����� LQW�P>��@�� S�S P�

IRU��LQW�L ���L�����L���FRXW�� P����

� YRLG� S���LQW� S���LQW�[��S� [��S� S��� FKDU�F ¶$¶��FKDU� FF F��FRXW��� FF�����¶?Q¶�

�� 5HLPSOHPHQWD L�SUREOHPHOH�GLQ�FDSLWROXO��7DEORXUL���IRORVLQG�DULWPHWLFD�SRLQWHULORU�

%,%/,2*5$),(

>�@ %RUODQG�&������*KLGXO�SURJUDPDWRUXOXL��(GLWXUD�7HRUD������>�@ %URRNVKHDU��-�*���,QWURGXFHUH�vQ�LQIRUPDWLF���(GLWXUD�7HRUD��%XFXUHúWL������>�@ %XPEDUX��6���1RWH�GH�FXUV>�@ 6RPQHD�� '��� 7XUWXUHD�� '��� ,QL LHUH� vQ� &��� � 3URJUDPDUHD� RULHQWDW� SH� RELHFWH�� (GLWXUD� 7HKQLF���

%XFXUHúWL������>�@ 6SLUFX�� &��� /RS�WDQ�� ,��� 322�$QDOL]D�� SURLHFWDUHD� úL� SURJUDPDUHD� RULHQWDWH� VSUH� RELHFWH�� (GLWXUD�

7HRUD��%XFXUHúWL������>�@ 6WURXVWUXS��%���$�%HJLQQHUV�&����ZZZ�FV�XRZ�HGX�DY�SHRSOH�QDEJ�$%&�$%&�KWPO>�@ 6WURXVWUXS��%���&���$QQRWDWLRQV��ZZZ�LFFH�UXJ�QO�GRFV�FSOXVSOXV�FSOXVSOXV�KWPO