C

++
cc.<r r.ec-<.
.c eO eccO

C++ Computer Programming
(¡ er.Oe)



- re u c .ue. -

2


















cco.c:
e.. ec.u . c rO. c .. o,u eu , c ..u O.e.u Windows cc.<r e.e:.. cc.u . uc,
C++ cc.<r ....O ..u cc.<r r.ec-<e. (Computer programming) e.c . ~e.u .O
o,c. e. r,.,ueuu eO u o. ec:... e. e:. u e.: c rc,< :,ru.r ecc ece c,r O .O
cu e.: e.u o,u. e.. ec.u ..u .-O C++ .. u cc.<r r .ec -<e.: e.c e. c ..Ou. Ou
. cr erc c :·uO. ecu c,e-. oee., o. ercc c.e...rO e..c. u cc.<r O,:eO:ur
(ecc Media Player O,:eO:ur) c .u o.r.c.c ecu O. ecu c,e- . e... u .-O C++ ..Ou. rc
.-cr.. cO. cc-c .c . O,O: .r c,- . :,r.
e. C++ ou..u.r!


3




C++ cc.<r ....O cc-c erO :,cuO.r

C++ .u C cc.<r ....eO: r:. ee.e:..c... ou., C++ e: C e..:u.. o,ueu or.
ccu.r .u.. e. ue. ec O. .u ccc . C++ eu O o,u c.e< e-.e:...r . C ....eO:c ue-u
c.e<.. C .u ~u. c .c ....Or -O eu.c:er . e.. c .cu.O. c,r O e. e:.c. cc.:c<.r
u. Unix cc .<r e.e:. . cc .u ... Unix e. c c <e.u. c.. o,u eu C ..Oue.u. oe.u.
Windows 98 e: Windows NT c c .. o,u eu O,: O.e.u . C c.Oc c rce.u . o ouO, C ccu.
er.Oe.u, C : O,: c.<Or ece uccO. o,u C++ cc.<r ....O O:.u c.c ....Or O o,u.

C ....O e.ec.O oc. cru c,- e. ¡)¯c Oeecc.. o: uc ..u- Oe. AT&T Bell cce. e<...ce.
ee O. rc Dennis Ritchie u. cc.<r r .ec -r.... C ccu. rce.u C++ uc..<. rcu
c,-e. c AT&T Bell : . ee O. rc ec.e uc Stroustrup u,.,u u... .: u. u c ..<. -: r c .
o,c.e. ¡)sc .<uOcc..

C e.u . C++ ....Oc e.Ou OO O..c euc.u.Or cu.e.u o,u ouc e..O e..e u. oc ..O u.
rcu e-.e:...r . cc.<r .-cr.., e: cc.<r r:. o.c. C e:. C++ ..u c.. u - ...
cc.<r r.ec-r.u c,c< C eOu OO C++ ..O u. r c .O e: u O u. , C++ ..u cc.<r
O,:eO:u cO. C ..u O,:eO:u cO.O O:. c:e O... oe.u. C : ou uc .u eu.Ou e-.e:.
oe..c..c C++ u c c,r . :,r. e. u e., C++ ~e.u.O .- e..cu r.c. ~u. e:.c o.e..eu.r
Ou o,u.




1. .e- cc. c.Oc


cc.<r O,:eO:ur e: cc.<r ....Or .u r.rc¯

. u eer :O cc.<r .u u.r cO. r e .. ec.r e c rcO. .,u .O oO.. O O O c O.e.u
.: rc .ueu r.rc¯ .: rc .u eu .:O oO.. r.c.. r.rc,. o. .uu .O c,:,c c rc c .. .
cc.:c<.r ece reeOrO cc.<r. cO. es)¯¯ .u e-..O ¡z+ u .<rc.,u.O oO..u. .:
e.. cc .<r.O euc,. rc c . .u .. u. u .- : O o:e. cc .<r. ~c c.O e..e o.O o,eeu
ece “rc,<.rc es)¯¯, ¡z+ u O,: rc ecuu” O,u ec.r o.O r Oe:.u cc .<r. e c rcu or.
ec. Ou o,u eu, u.. u c o,u O cc cr.eOu . .. .-.r u.. u eu.eecO e O . c.<. .
.rue.c.u cc.<r. er.uc. ecc .uu.r OOu o.O .- ..Ou. rc< . u e -e eu.O,O: ...
.-u cc.<r.u e.: c eOue .... ecrr ..O u. rcu, ec ..u ecrrO o.u . u eu ecceur
O,u.. oee u. .-O oO.. ec. cc .<r. u,.,u e.. “O ec.r..O” c,:,cc rc ce. r..
r.rc¯ o. r.. u. oc e,-, Oec.r.rO ..r euc,. rc c e.c ..Ou. rcu r..... ou.
.... ccOc Ore.r e. e:. c-. .,u ... e.: c .e- c : OO ou .... cc Oc Or.. u. .e-
4
cc.<r. u c ouuc.u Calculator O,:eO:u.. o. c<.u O. o. :c:. cc.<r. ..u .-O
oO.. .<u rc.. ecrc .,u .O :,r.. Calculator .-c r...O .- ~:u e-.. ..c e: . <
rce. O..u. e,c. OO, o. .e- cuu e: O..u. cc.<r. ..Ou. rcu c-u ....OO, ou.
c O .. e-.. eu.e:.u ecer c.ce. e-.. Oc u e,c cc.<r er u -OO cc Oc Ou. rc
cc.<re. ..er. ec.eeec.O ec.u c-.. e.. cc .<r eru ecer c.ce.u .u ue., oO.
binary codes eceu :,cuO. :,r.. cc.<r.O c,u u. rc .u ec. O,Oe:u u e. o. .e-
e-.. . .c. .< er.O, c,e-u c c uc Calculator O,:eO:uO u,Ou binary codes ece. c-.ec. .
Calculator O,:eO:u e.. c O .. er u ece u o,u cu u. . u e.O :· u..u c:e c... e:Ou
ceOu c.ce. e-.. OcO :cO. .-O ceO.O eceO.. e.ece Calculator u,.,u cc.<r
O,:eO:u .... cc Oc Ore.r ece r .. rc. . oeeu., cc.<r O,:eO:ur r..O u., e.ee
. ue. e: cc.<r. ouc e.-u..r, - c. c.c.r -,c... e.ue., C++ cc.<r ....O
~e.ue.u .- cc.<r r .ec-re.r (Computer programmer), e:Ou cc .<r O,:eO:u
u c ..cre.r O .O oc:e rcu eu u. , .- ou.,e. . ueu cc .<r. :. . u e. ouc e..
e.-u.. o,u rce. r.c..O.. .- e.. .... ccOcOu r.c.. ..c .u .u..

.- .... cc OcOre.r e. r ..O ~O r c .O u. , .-O .... ecrr .,u oOe-. .. oO.. eO . ou. ,
.-O . u e -e e.u. cc .<re. -e .,uc O,O:.r u- . .u .. u. u c,u e.: c .,Oc Or
.ueO . o.u., cc.<r. ..Ou. rc< cO.. e-.. (ecer c.ce. e-..) Ocu e,c .... r..
e...u. . u eer O OO:. .,u .O ~u. c.rcO... oc ..Ou. Ou cc.<r (bit 32 cc.<r) OO:.
.uu. ....eO Ocu.r (word) e,c o,u eu ¡ :. c .u ~cr r. +z r O O . o.r.c.u O or O e.u .
e.ece, ecer c.ce. e-.. e..c.r eceu u.O o,u e.. ....eOu cc .<r O,:eO:u c O .
e.ue. e,-,Ou. rO r.. e. .,OceOu ou.ce. ..c.. oeeu. r.rc¯ o. u., C++ O,u
r.ec-< ....Or ~e.u... C++ O,u cc.<r ....Ou uccO. o,ueu .-O ~:u ec:u rc
rOr c O .. e-..r u eru c c-cO c.,u.O ec Oe. Ocuu .cO. .,u.O.. C++ .. u
e c rcueu .-O cc .<r O,:eO:u c O .O :,rOu ece c:e .... r..r e,c.... C++
cc.<r ....O e,c o,ueu .ue.O euc,. .,u .O :,r ~.e ....OO cO Ocu e.:.ru.
e. u e. .-O C++ ~e.u. ..u O:. c:eeOu cc.<r O,:eO:u cO.O :,reO.


C++ cc.<r ....O e: cc.<re.: e O..O r ....O ouc e. -u..

e.. e. -u.. O .e. -,c .O ecc, “cc.<re.: eO..Or ....O” c c -cO uOc cOu O .e .
ce..euOu.. .- rcu c r.O ccc cc.<r.rO r.O. :,r ....O e,c o,u eu cO.. e-..
Ocu. cO.. e-.. e:Ou binary numbers .u ¡ e: c .u e-.. Oc u e,c< e-.... cc.:c<.r
O.e.u ¡ccc¡c¡¡c .u e-..O cO.. e-..Or ece .u :,r.. .u,. ....Or u c..<. Oueu
Ocu Ocu. cc.<re. ....OOc e.. ec.c .. o: Ocu.r (word) .u cO.. or +z r orO
e,c< orr.r. cc.c:<.r ece or +z ru e,c ¡c¡cc¡¡c¡c¡c¡¡cc¡c¡cc¡¡¡¡c¡¡c¡¡¡ .u e-..O
cc.<r.r or Ocu.r ece e,cr. :,r. u.u e.. ¡ :. c .u e-.. cc .<r.O c,. < e.
eree c¯ ecc ece u r .ue:.u, e.. ¡ :. c .u e-.. Ocu u c,c<. Ou eu cc.<r. u c
o,u ..er.ec.eeec (Microprossesor) cccOe.: euu Ou Oc.u ev.Ou eO. cc.<re.
r..r.cuO.O e:uOueu e.O... ec.eeec. u c ouuc.u O .ueeOc ..u e.. Oc.u ev.Ou
~cec.. ¡ ..u uc,c<. Oueu O .ueeOc.r :c:. Oc.u. ..u rcu oOeO.Or. c ..u
uc,c<. Oueu Oc.u. ..u eu.rcu oOeO.O.. e.. ¡ e:. c .u or Oc.u ev.Or
O ..cu O. -O ¡r (1 Bit). (Bits .u cc.<r.r cuu ..cu.Ou .<u. rc . c< e ..Ou. erecu
r:.. orr.. ) cc.<r O,:eO:r ..u ec rcueu, e.. c O.. eru.u euu. rc. ..u
cc.<re. ..er.ec.eeec. re.. r..Or ec O. c < e c.cu. rc... Binary codes OcO o,u
e. ..er.ec.eeec. c.cu. r ce. ..u u r .OOe. :,r..O u e. e.. eru.u ec:. Machine
codes e:Ou ..uur eru .u u. ..Ou.eO . . u ~cc.O cc.<re. ....O .,u rO. rce.c oc
e.. Machine codes, u,u u. ..u u r er u .u e.c . ..Ou. rc. .

~:u .- r .O cc c cc .<re. ....eOu r .ec -<e. e.c . .u e.. c O .. e-..r u er u
e:Ou ..uu r er u ..O u. r c e.u cc.<r O,:eO:u c O ... . c r.ce. c r.ec -r.u O e u
ou..u. rcu ccec e.. oec, r.... e.. oec,u.O. :·u..u . c r.ec-r.u Oeu
Assembly u.u cc.<r ....Or :·uO. ecu c,- .. Assembly ..u e cOe. ..u ur eru ..u
e,c.. . u cc.<r O..u.u eOu OO, ~.e Ocu OcO e..u eOuu O..u.u :cuO.c...
5
ou. , cc.:c<.r ece er c< ..u ur eru Ocu c. cc.<r r.ec-<.r (r.ec-<.r
.u rOc e:. cc.<r ....Oru c.u c,- cc.<r O..u der ece :,cuO. :,r .) Assembly
....OO eccc Oe:.u , o. O:. c:e eOu OO:..u :,r , Assembly O..u Ocu . u r.ec-u.r
-OO cu eOu o,u. e.ccc cc.<r r .ec -r.u O Assembly ..u O:. c:eeOu O,:eO:u
e,ree. oOeO.O c,-<. r .ec -r.. u. O,:eO:u Assembly ..O ue.u c.. o. ..u u r
eru.uO ccOcOu. rc.O Assembler u,.,u .-c r... c.O cc rcu c,- .. Assembly O,u ,
..u u r er u c.cr er.Oe.u u c..<. rc o,u cc.<r ....Ou Low Level Languages e:Ou
c:u .OOe. cc.<r .... ece :,cueO.

eree eOuu , Assembly cc.<r ....Oc ~e.u.O ouc. c:e eu.O.. oee Oe. o. r.ec-<.
O:. c:eeOu euc,. .u :,r uu O.O cu rcc, o. .. u r e .. cc .<r r ..Or ec r c . ec:.
cO. .u O..u.u c ..<. o: eu.O e:.u. ecc cc.<r O,:eO:ur OOc Assembly .. u
cO.O cue.: r<e:.u, o. ~u. c . r .ec -<.r Ou o,u. e.u e. Assembly ..u r.ec-<e.
e.c .c r.c. e-.e:. ece O,.Ou rO. u ur O e... e. u e. O:. c:e ece c.u :,r , O:.
ecc, uO cc.<r ....Ou uc..<.O cc .<r r .ec-r.u ecc.<. e. o.cu uccO<
....Ou. C e: C++. Assembly ..u ecOueu ..uu r eru ec:. o.ec.r Ou O..u e,c.. O
o.cu, C / C++ .. u e cOu eu o. Assembly O ..u de -,. u or er.O o O. ec:. o.ec ..u Ou
O:. ecc cc.<r O..u.u :·uO.c... e. ue. ..uur eru ..Oue.u c. O,:eO:ur
Assembly ..u c. OO o. O:. ecc Ou ouc, o.. C / C++ Oc u c. O O o. O:.u erO e: ecc
eO . e. ouO C / C++ O,u cc.<r ....Ou uu. o,ueu Assembly ....O c.cr er.O e.u, o.
.u.. e.ue. r.ec-re.r Oeu C++ ..u cc.<r O,:eO:ur c. OO .: o. cc. O
Compiler u,.,u .-c r... ..O u. er.O Assembly ....OO ccOcOu. rc .u .. ~uce O .: o.
ccOcOu.c u,Ou Assembler .-cr... ..u ..u u r er u -OO cc Oc Ou. rc . u.. e..
ec rc. ~u. c:e ec.r. o. ecrcu o.r.c. ~cce.c .- ~e.u .u o,u. C++ O,u ....
Assembly ....O c.cr er.O ere. o,u ~:c .OOe. .... ue. oO. ec.ceO High Level
Languages ece :,cueO .


cc .<r O,:eO:ur e,re .O, .c r O.e.u .-O c:u c,r eOu c, oO.. eOu o,u:

1. cc .<r O,:eO:u ereu .-c r...r - Program editer.

oc cc.<r O,:eO:ur c.u c-ueu e.. Oc .e. .-c r...r u c.. .- Windows cc.<r
c.O c c rcu eu u., .-O eu.c ..u :,r e:.c. O,:eO:u ereu .-c r... Ou eu Microsoft
Visual C++ 6.0 .. e.. .-O c:e eOu eOccec.ec: ee....u :,r..

2. Compiler

Compiler .-cr... ..u ecrcueu C++ O,u High level language ¬<.O O,eOu cc.<r ....
..u c .u cc cc.<r O,:eO:u, cc.<r.O O,Oe:u c O .. e-..Ou -OO cc OcOu. r c .
-O .- ~:u c r.OO.. .- Microsoft Visual C++ 6.0 . cc .uOO, o: Compiler .-c r...r c o:.
Ou o,u.


3. Debugger

e.., .- c. cc.<r O,:eO:ur ec. e o,u u. oO. :c u..,u.O c:er. eceu .-cr...r.
Microsoft Visual C++ 6.0 uc Debugger .-cr...r c ouuc .u eO. Visual C++ debugger c:e r.
..O u.O .uu. o.r.c. ec.eu: Appendix er.Oee: erOe.u c,reO .

e.. ec.eu: .u OO o:. Ou e .c O,:eO:u c.. o,u eu Microsoft Visual C++ 6.0 cce...
rc.,ue.u. e.ue. e.u,u eO e.. ec.eu: o:. r..r.cr. ecrc. ec:. .- o. .-c r...
6
.e- cc .<r. uc install rc.u .u.. Visual C++ 6.0 install e:Ou eO.cu. rcu o.r.c.
Appendix er.Oeec c,:,c c rc o,u.


.e- cc. C+ + cc.<r O,:eO:u

c:u c,r eOu eu C++ ..O ue.u .-O cO . :,r ~u.. ecc, r ..r.c O,:eO:ur . cc. eOu .
rO.u Oueu e. O,:eO:eu: o:. e.c. ec OO:. .,u.O .- cue.: eu.rc .u -O.. o.
~c c cu rc o,ueu : ecr C++ ..u c.u cc cc .<r O,:eO:ur e.O,uur. :c u O.c .
c<e.. o. ue. o: o:. e .c. c, e.cc<e.u . OO:..,u.O cue.: eu.rcuu. .-O c,uO
eu.O,Oe:u c,, e.. ec.u ~cc .O r .O.u e.. oOe-. . O .O cOu.u o,u:


= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

/ / hello. cpp

#include<iostream.h>

void main()
{
cout << “Hello beautiful world!!!” << endl;
}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

oc c,u e c rc.O .ueu e...: cc.O Microsoft Visual C++ OO-u rc. . ~uce ~:u O,:eO:u
o o.cu. o: .uc, c.u. rc. . ou., oce. O,:eO:u Oeu rc .u c,, C++ O ..u.u der u
c .. . .c.O oc rcueu e.. C++ O ..u.u ..uu r er u.u -OO cc Oc Ou. r c.. (oee
eu.rce:.u cc .<r. o. O ..u.u :ceu..u o,u). ou., oc C++ cc.<r O,:eO:u compile
rc . u .. oOe.ue. c oc o. cc Oc Ou. rcu cc cc .<r O,:eO:u r ..u .r rc. . e..
e c rcu o.r.c. c.Oc u c.Oc c:u u c,reO .

. c u. rc . u Ou eu .e- O,:eO:u ou uc.u r c. ec:. Visual C++ u c uO Project orr
u.O... Project orr .u re.. cc.<r O,:eO:ur ec:. ce..eu.O .,euu e.c C++ files
ou uc .u r c . ec:. uuu c-u o rr.r . ~:u u oc c O O,:eO:eu: u. u e-u eu or file
orr c.<r OOc ceO .-O c,r.O c,e-u ccc cc.<r O,:eO:ur .u C++ files e.:.r
oruOr. C++ files .u “.cpp” .u extension or e: u computer files ..

¡. cc. eOu., e.. ec.eu: o:. Ou e.c O,:eO:u u,u cu rc . c < e, .e- cc .<re.:
c-: u,O e.: .- r,.u e O.u.r “VC++ book” u.u uO folder orr uuuu.

z. c,u Microsoft Visual C++ 6.0 .-c r... O O-u rcuu.

+. o: File u,.,u menu oer: o,u New u,.,u item or (File > New) select rcu u.

!. .u eOu Dialog Box oer: Projects window or uc o,u Win32 console application u,.,u
icon or select rcu u. (oc. ¡.¡) e.ee ec rc.u eu oc e. oOe O.eOc e,c .O -c.ec.ec.u u
Oueu console Oc.e. cc .<r O,:eO:ur u e... e.. .cr c:,cc rc.,u .O oO.. ec.r.

c.·: .cc.: ccu· -c: .. coc.u .,.c.c: .oc ccuu. c-cc.

c:c ,

(1) Console applications e:Ou Terminal (DOS) window or :c:.
u.·.cu uc.. coc.u .,.c.c: cc,

7
(2) GUI (Graphical User Interface) orr e:Ou oc.. .ucOr e:u cc.<r O,:eO:u
.u eOu .

~:u oc cO eO e.. Console ¬<.O O,eOu ecc O,:eO:ur. e.O.O c.Occ rcuu. e..
ouuc r.. rc. c <e GUI orr e:Ou c,c.. .uc Or eu..,u. o. c.Oc c rcuu. e.. rO. u
rcueu Terminal e:Ou DOS window or :c:... e. ec:. .:O cc.<re. .uc, cOc,O ccr.c
eO . oeur ouO GUI orru .u O,:eO:ur .u c,c.. .ucOr ..u O,:eO:u c.Occ
rcuu. e.. ouucr.. ecrcu .-cr...r. Microsoft Windows uc .- ..O u.O .uu. e.c
euc. cc.<r O,:eO:u e. ¬<.O o.u eO . Visual C++ c ouO.c.e.u. GUI application
orr.



·o,c. J.J·


¯. Location u,.,u Text box or ..u ecOueu .- e.cu project or c-: u,O e. .-:. rc. u
eO.u. c,rO... c,u Location text box orO ~cce.u o,u Button or click rc, c-: u,Oe.: ~:u
.- u,u “VC++ book” folder or select rcuu.

e. Project name text box or u c oc e,c .O u.. u O,:eO:eu u. ece “hello” .u eOu type
rcuu. (oc. ¡.¡)

¯. OK button or .-uu. e.O O “hello” .u u. u .u folder orr “VC++ book” folder or u c
Visual C++ ..u u ccOu o,u.

s. c,u ¡.z c,ce. c,reOu dialog box or .- ~cce. c e Ou o,u.


8


(oc. ¡.z)

). ~:u c,ce. o.r.c.O o. dialog box oer: o,u “An empty project” .u option or select
rcuu. o:c oc VC++ eOu cOeu eu , c,uO r e c file orr o:. eu.Ou, : e project orr e.cu
ece.. ~uce Finish button or click rcuu. e.O O uOu dialog box orr open eOO. o.c OK
rcuu. c,u “hello” u,.,u : e project orr .- e.c. o,u.

Visual C++ window oer: cr< ce o,u cO window or ece c,u -cuu (c,c. ¡.+). e.. er.Oe
:,c eOu eu workspace .u eOu . o. window oer: c:c ouue.: file view u,.,u tab orr o,u
o.r.c. -cuu. o. tab or .u click rcu u. oO O .- e..e:.urO ecc e,c project or e.. file
view u,.,u window oru c .-O c,r.u :,r. (c,c. ¡.+). o: “hello files” .uuO .Ou o,u eu
.e- project orO oc.c e.c files .. .- e.cu C++ files ouuc.u Oueu o: “source files” .u
u.u c,r eOu folder or uc.. “Header files” .u folder oru c ouuc.u Oueu .- uO. :cu.
eu..u Headers u. u :,cu eOu files Oe.e.r.



·oc. J.s·

.- e.. folders .u double click rc -,c Oe:.u o O.e. r e Or o:. eu.Ou -O .-O c,r . :,r
Ou o,u.

c,u .- e,ceeu eu oce. : e project orO C++ file orr o,ucrc ~:u oc cO cc.<r
O,:eO:u o. file oruc type rc.O.. c:u c,reOu ece e.. ecrcuu:

¡. File > New menu or .. u New dialog box or open rcuu (¡.! c,c.).

9
z. ¡.! c,ce. c,reOu ccc o: File window oer: o,u “C++ source file” u,.,u item or select
rcuu. ~uce Dialog box oer: “Add to project” u,.,u check box or check rcu u. “File
name” text box or uc c,u oc u.Ou C++ file oer: u. ece “hello” .uu type rc dialog box
or OK rcuu. oOO ¡.¯ c,ce. eceuu ece uO : e C++ file orr Visual C++ u c O. ce o,u
O..c window oruc open eOO . e.. window or :c uOu eu “Editor window” .u u.u . e.
oOeO.eOc .- workspace window or ece -,c Oe:.u source files .u folder oru c .- e. c,u
u.O “hello.cpp” .u file or u e-u c,r. :,rOu o,u (oc. ¡.e).




·oc. J.!·



·oc. J.s·




·oc. J.o·


10
+. c,u .- rc. u eu ~:u .- c.u cc .<r O,:eO:u, editor window or uc open O o,u e..
uO document or e:Ou “hello.cpp” u c type rc ... c,u o. ec rcuu.

c,u .- C++ ....O ..u ecc O,:eO:ur c.u c,- O.. eOuu Ocu Ocu r.ue:.u .- r e..
c, c,er ecrc< ece C++ O..u c,er ..u cc.<r.O o<rc.. u.u C++ ..u .- rc o
o< r c . cc.<r.O eu.O,Oe:u u e. .- eccc r .O ece O,:eO:u compile rce.u o.
c O .. er u -OO ccOc Ou. rc .u .. e.. c:u c,r eOu o.r.c.O e c rcuu.

¡. Visual C++ : Build Menu oer: “Build hello.cpp” u,.,u item select rcuu (oc. ¡.¯). oee
u,uu. o. Menu item oer: keyboard shortcut Ou F7 .u c .-uu.


·oc. J.1·


z. c,u .e- cc.<re. eO..O ouc,c r.c.rc c,u hello.cpp file or compile eOu e:Ou c O ..
er u -OO ccOc Ou. Ou o,u. e.O O .- cr u uOu ec.r Ou eu Visual C++ : c:u er.Oee
o,u c. window oer: ..reOr eO:u Ou -O e:Ou print Ou -O.. e.. pane or :c uOu eu
“Output window” .u u.u (¡.s oc.).



·oc. J.8·

Output window or ..u r.c..u r c.u ecrc. . orr u. re.. file orr compile rce.c
o.O oc.c O e uc print rc. e:Ou ceO.O e,c,eO... “o.O oc.c Oeuc” .ueOu c..u
er.O. :,c u eOu eu , compile r ..Oc .O crOu cc .<r O,:eO:eu: O..rc< ec. . e:Ou
syntax errors o.c. o,uu. o. ec...uc, o. ec...u O,:eO:eu: cOuu e O.u.u c c -c
Oeuc o.c...
(e. cc-c O,: Oe uc c,u.,u .O ec.eu: Appendix er.Oee o,u “cc.<r O,:eO:u Oc ec..
- Programming errors” u,.,u er.Oe r .Ouu)

~:u O,:eO:u .- u O,ccO .u c,c .u. rcu c,- O.u. , O,:eO:u ec. . Ocu eu.c -O ¡.s
c,ce. c,reOu o.r.ce. output orr ..u output window or .-O crOu o,u.

oc c,u oce. hello u,.,u cc.<r O,:eO:u compile rc oOe.u. . Microsoft Visual C++ Oeu
.- c.u cc O,:eO:u cO.. e-u Ocu c.u c,- O..

c,u , .crO ~:uc .- e.cu cc “VC++ book” folder or Windows explorer .. u OO-u rcu u. o:
o:. “hello” u,.,u folder or .- cr u o,u. o.c O O-u rcu u. ~u ce o. u c o,u “Debug”
u,.,u folder O O-u rcu u. o: .-O “hello.exe” u,.,u file orr c,r.u :,rOu o,u. .- c.
O,:eO:u c O .. e- u.u e.u c.O o,u eu e.. file or u c.. eOuu Ocu Ocu rOe:.u , e.
u. .- c. cc.<r O,:eO:eu: r..r.c oOeO.O.. e. ue. .-O e.. file or open rce.u
11
.e- O,:eO:u r..u.r rc :,r. u. u e.:c oc “hello.exe” .u click rc. u o. r..u .r
eu.rc, Visual C++ ..u . o. r..u.r rcO.. o. c:u ece o. ec rcuu:

¡z. visual C++ :, Build > Execute hello.exe item or select rcuu. u,uu. Ctrl + F5 .-uu. oOO
DOS e:Ou .e- cc .<re. Terminal window or uc “hello.exe” file or open Ou o,u. e.ee
Oueu .- u.Oe. DOS u c r..u.r Ou console O,:eO:ur Ou ue... e. ec.eu: ~cc.O
:.eOu e.c. O,:eO:u e. Oc.e. console O,:eO:u Ou o,u. c,u Terminal window oer:
“Hello beautiful world!!!” .uu print O u e-u .- cr u o,u.

e. o.cu .e- cc. cc.<r O,:eO:u .- e.cOrO u.rc o,u. c,u oc e.. r:. O,:eO:u
u .O o,u eu eree c,. ecr. -,c. oc oc.. . o: er.Oe or u or e.u c:uu O e uc rc o,u:

===================

// hello.cpp
===================

~:u c,reOu eu .- c. O,:eO:eu: ~:cu . o,u ec c ... cc. eOu. o,u ``//`` ecr <
:,cueOueu comment orr .ueOu. oc o. C++ r.ec-<.r uc e..cueu o.u o,ce.u
ec c . o. O,:eO:eu: r..r.c er.Oer eu.O. . u O Oc .. e.u e. ~:u O,:eO:eu: //
hello.cpp .u ecc ., O,:eO:eu: r ..r.c er.Oer eu.eO . hello.cpp .u :ecr oc
e.. O,:eO:u c.u c-u file oer: u... O,:eO:u compile rcu oOe O.eO c ``//`` ecru
:.O OO compiler .-cr... o. ecc. compile eu.rc eu.ecr. :c. . .-O oO.. u. e..
ecc. ~Ou rc O,:eO:u r..u.r rc :,r.. o.u re. eOuer e c eu.eO .

e.O,u comments r .ec-<.r u c e..cu eu e:u rc.r .u.. or c..u e:uOr u. re..
r .ec -< er.Oer ..u erecu r.c.. O.cO. rc u,- ... e.ece O.c O. rc u-u eu , .-
c.u O,:eO:u c. e: erc< orr Oueu u., o: o:. re.. eru deru ec rcu r.c ..
r.c. .u O.u e.. .-O o.ur O .,.O ccOu e:.< . r.ec-<.r o,u oO,u erc< eO.u
Occ , o. eO.ue. o:. eru.ue.u e c Oueu r.rc,. comment orr ..u ec-c rc u,- .
ceOO ~u. c e..euOu Ou o,u. uOu e:u Or u. , .- c . r .ec-u.r eOuu r .ec -re.r
Oeu r.Ou c-u OOc, .- c. cc.<r eru.ue.u e cOueu r.rc,. .- o: u-. o,u
comments o...ce.u .:O O:. c:eeOu OO:. .u :,r O...
======================

#include<iostream.h>
======================

~:u O,:eO:u O,u ~u.. ecc cc.<r O,:eO:urc cO. O ..c r.c..u c..<.r .-O
eu.eceuu ece compiler .-c r... O eu ~O rc. . e. r.c..u e c Oueu “u c.O .Ou”..
e.. u c.O .O u erecu r.c ..u e.u e.:cr e-.e:. O O e,. O,:eO:urO. ec.c ec ..
cc.:c<.r ece, cc .<r. .u ..Ou. Ou e,. O,:eO:urO . cu u o,u c rc.,u e. :.
cOrce. (data input-output) :,r ..O ou.O.... ou e. o. e,. O,:eO:urO. ec.c ec.r .
e.ue. cc.<r r.ec-re.rO, e. ec.c r..r.c u O.u .: c .u e,. O,:eO:ur u cc.
u,Ou u,Ouu r .ec -<. rc .O e ceO . e.. r.ec-re.re. r.c. oceu .O.. e..O c c..r
O.e.u , e.. ec.c O r.c ..u e .c c r .ec -<. rc ceOr.c.u e:Ou C++ Libraries u c
.-:. rc u e- . e.u e. Visual C++ ..Ou.O .uu. r.ec-r.u :O, e,. cc.<r
O,:eO:urO. ec.cO o. r..r.c u O.u u.u Oeu u,Ou u,Ou r .ec -<. eu.rc Visual C++
Libraries u c u c:e eOu c-..u :,r. eOuu o.r.c.rO r .ue:.u o. libraries u c o:. Ou
cc.<r eru.u oce. O,:eO:u uc c.Occ.O .u :,r..

12
e. o.r.c.O, ~:u #include <iostream.h> .u eOu c,reOu eu iostream .u Library
or oc c.u O,:eO:urO o,u c rcu o.r.c.. . iostream .u input-output stream .uu. .
O,:eO:eu: ~:u er u.O ce O o:. Ou cout :. endl .u O ..u ..c .-:. rc o,ueu
e.. iostream library or uc.. o. library or O,:eO:uO o,u c eu.rce:.u , ocO o.
O..u.u c.Occ .O .,u.O eu.c,e-u o,u.

#include .uu directive orr ece :,cueO. #include directive oer: r.c.. u. oc
c .u. cc .<r O,:eO:urO, cOu u .. r ..r.cuO.r o,u c rc... e.:c o. iostream
library or O,:eO:u u cO o,u c rc. .
===================
void main()
===================

~:u c,r eOu eu .-O :. Ou cc. Ou C++ function or. . Function orr .u eccO r.ue:.u,
C++ cc .<r er u c,er o:. rc u .Ou o rr.r . C++ O,:eO:ur r..u.r O . o,ce.ueu
e.. main() u,.,u functions oru.. main() .Ou .- e.c Oc:u ..cr cru o,u. re..
function orr u c o:. O. . u C++ er u.u ou uc .u O . . u eu o. function oer: u.O ceO
ou ~:u O,u e.c Oc:u u c.. Functions cc-c O,: Oeuc “Functions” cccecce.c ecr.
-c. .

=============================================

cout << “Hello beautiful world!!!” << endl;
=============================================

e.. code or ..u ecOueu “Hello beautiful world!!!” .uu Terminal window or .uO
output rc...

cout << .u e.. r.c.. ~Orcu c-u O..u...

endl << .u DOS window or u c print O. .u Ocu e:. e-.. eccr oOe.u. O. .u eO.u.
u c<. rcu eru... e.. eru. ouuc.u Oueu main() : e.c Oc:u uc O. ue., e..
main function orO o.u er u.r -O .-O O,Oe:u o,u. uOc .- cr u ec.r Ou eu ~:u er u.
oOe.ue. o,u “ ; ” cr< e:Ou Semicolon character or.. Semicolon or u cr Ou eu re..
Expression orr oOe.u... Expression orr .u Operators u.u :,cueOu Oeuu e.u e,c
cc .<r eru.r . Expressions e: Operators .u e..uO.c,. .-O ~c c e. c ~e.u .O c,e-u o,u.
c,uO, ~:u cc .<r er u. expression orr -O c.<r c,u.uu. Semicolon orr ..u
ecOueu ~:u O,u expression orr oOeuOu eO.u. c,rO. -Oc .ur u-..uu.




Whitespaces

Whitespaces .ueOu :,cueOueu cc.<r r.ec-<.r reOr ec:u eu.eOu :e ~:
c..<.u.. ~:u O,:eO:eu: #include<iostream.h> .uuOu void main() .uuOu ouc u o,u eu
whitespace orr. oe.u. { Ou , cout << "Hello beautiful world!!!" << endl; .u er u.Ou ouc u
o,u eu whitespace orr. u.u o,u u O.e.u. C++ cc.<r ....O, cc.<r r.ec-<.r o,u
e.. whitespaces .,u O,: u,r.r eu.rc.. ou. , .-O oO.. u. re.. cc.<r O,:eO:ur
O,: er.Oer re. whitspace orr u eu.cO O Oc c O . :,r. cc.:c<.r ece, ~:u O,:eO:eu:
main function or whitespaces Oc u eu.cO c O e:.u o. c:u ece c e Ou o,u:
13

===========================================================

void main() { cout << "Hello beautiful world!!!" << endl;}

===========================================================

~:u er u. ece -,ce.u .-O c,:,c c Ou ec.u. , whitespaces ..O ue.u cc .<r O,:eO:ur
c,:,c c u.O. O,: Ou -O.. e .cc or ec c .rO c O e.u O,:eO:uu ec eOu ec. oc:,cc O ...
o. ue. cc.<r O,:eO:u c Oe.c .- e,.O O. eceece whitespaces e..c..uu.

e:.c., oc ~:uc ~u.. ecc C++ O,:eO:ur c.u eu eree c,. c O O.. o. O,:eO:eu: o,u
c..u er.Oe c c -cO .. oOe-. ..r .- c-uuO o,u .

RAM (Random Access Memory) .ur.
cc .<r r .ec-re.r ece .-O RAM .ur. c c -c .. e:. oOe-. ..r u- . . u..

RAM .ur. cOuu eu .e- cc .<re. RAM cc. uc.. .e- cc.<re.: .. e..e:ur
r..u.r rc o,u O,:eO:u e.cc. dc o,u eu e.. RAM .ur. u c. . o. e,. O,:eO:ur .
RAM u c cOu u .ure.u, o. O,:eO:uO O e. e O -.O ..c u.Or cce..cu. rc.. (-.O.
(byte) .u cc.<r .ur ..cu. .uu r :.. orr. eO.) cc.:c<.r ece re.. e..e:.ur .-
Windows Media Player O,:eO:u r ..u .r rce.u e. u.O eOu ecu ouc Internet Explorer
O,u O,:eO:ur cce... rce.u ou uc c.ce. e,cec<O. .,. c, euO,u O,:eO:ur ece
Disk Defragmenter O,:eO:u ce-e.: u. r..eO: ucu OuO..,. c euuu. e.: c e..
O,:eO:u u u. RAM .ure.u u..O oO.. -.O er.Oe cce..cu. rc. u o u c cOu eO..
e. o.r.c.O, .- Oeu c.u c-u O,:eO:urc r..u.r oOeO.eOc cOu ueu e.. RAM
.ur. u c. . RAM .ur. “u.Or.c r .ur.” ecec :,cueO. o.O e:uO u. RAM .ur. u c
.-O reOr eOc ece .-:. rc eu.:,r O ... o: o,u cuu e c.e uO cOuu eu cc .<r.
..Ou. Ou r.c. oucucc c.<.. e..O e:uO u., RAM c ce.: cu u dc cOu u eu o.O
Oc.u. e,ce.u u.r rc c.<r O. e:ueOu. RAM cce.u Occ. Oeu. rc O.e. o: .-:.
O o,u e.c cuu o.O o:. O ... .-O eOc ece reOr .-:. rc.,u.O oO.. u. o.
cc .<re. c-: u,O e.: (Hard Disk) .-:. rcuu. c-: u,Oe.: .-:. rc o,u cu u O c c . O eu.
rc.ru .,r eu..u eu o: .ur. dc cOuueu o,u eu O c. ue. o...ce.u eu.O, c . .r
-ce.u O . e: ueOu .

u.u cc.<r.r .ur. e.ece RAM .ur. :. eOc .ur. e:Ou ece eco.r.c.ru
cOu u eu .u c¯ cc.<r. r ..u.r O e. c RAM c c. c.O cc eu.rc c-: u,O e.: . oO.. cu u
.-:. eu.rcueu .uc¯ e:uO u. RAM cce. r..r.cuO. c-: u,O e. r..r.cuO.O O:.
ou..u eO.Ou O... re.. cc.<r.r, .. e..e:ur OO-u O o,u .-cr.. Oc cuu c-.
.,u e. e: cu u c Orc e. (I/O) oO..u.O c-: u,O e.: .ure.u c.<r ec c.c .O u,u rce:.u
o. cc.<re. r.c..e.u.O e,cr. .u ece c:c -eu o,u. e.ece RAM .ur. cc.<r.r
c.Occ Oueu .-c r.. OcO oO.. eO.OuO cuu e.. rO.u rce. oO..u.O ecc.c. cece...

RAM u c o,u e,. bit orrO. .ur ccu.r e:Ou memory address orr o,u. e.. c c u. .. u
RAM uc e,. bit orr. c:O eO.u. c,reO. Memory address c c -cO e.: c erO ec:ur
c.<r rcueu .-O o. e.. ec.eu:c ceOO :.Ou ue... o. O,: O.e.u ..Ou.Ou o,u eu
“Pointers” u,.,u cc c ec ce. c .. Memory address orr ..u ocO re .. cu u.r RAM u c
e,-,Ou . o,u e O.u. ee....u :,r. o. :c .O. .- re.. uOer c : O e O.u. o: cc ue.u
ee....,u. O,u.. u.u memory address orr .u .- c. . rOc .u c.u c-u OOc u. e:u
cc u.r O,uur u. eu.Ou o,u. Memory address orr .u uurc. e-..u.r o..r. o.
e-..Ou :,.OO. crOu c-ueu ¡e O,u c.ce. e-.. eceu. ¡e c.ce. e-.. oc Hexadecimal
numbers .ueOu :c uO..

u.u memory addresses .. u bits o,u eO.u eeO e. oc. < r .r c¯ o: oc. < u. cc .<r
.ure. o,u cuu OcO :eO o,u cOe. oOeO.O c-..,u... e. cc-c O,: Oeuc “Pointers”
cccec ce.c oc ecr. -c..
14

Variables
cc .<r O,:eO:ur u c..<. rc< O O, o. O eu .. .. cu u .ure. u-. .,u e. oO..u.Ou
.u eO . cc.:c<.r ece, ..e. .-cer. e.r ece ere. o,u .-cr...r .,u e uuu. o.O .-
or ..e.Oru Ocu.r o,u c rc OO o. o. Ocu. oeur ..e.OO ccOcOu. rc .-O c-. ecu
o,u. e.:c .-cr... .- c-. ecu Ocu. u. .ure. u-.e.u o.O e..u O oeur ..e.eO
Ocu. u c<. rc .u .. “.ure. u-..,u .” ece :,c u eOu eu .- c-.ecu Ocu., cc .<r
.ure. u.Or.c rO .-:. r c .. . e.ee .-:. rcu eu cc .<re. RAM .ure. .. u. u oc
re.. cuu.r RAM uc .-:. rc O O, o. cu u.u , e.eur RAM : .-:.O o,u oeur e-.e:.
cuu.u ouc uOu or cuu.r c.<r -OO cueO. e.ee .-:. erecu cuu ~uceO ocO
u,Ou c e.. eu. ec:. c-. .,u .O eceO. e.. u,Ou c-..,u. ec:. oc Oeu oc .-:. rc
cu u. u O,cc O u,Ou :· u..u .u .. u. u cu u e..c. o,u or r:. cuu.r c.<r eOurc
:· u..u eu eree c¯ e.: c oce. c : OO ou eu e.. variable u,.,u orr.. Variable orr .u
oc Oeu RAM : .-:. rc< cc re.. cuu.r ec:. o.ec.c<. rc< c-u ocO.uOu u...r.
e. .. u ocO oO.. cu u., RAM u c ouuc.u oeur cuu oucu eOurc :·u. .u :,r.. o.
:c.O. cc .c.u c...r oucu, .-O oO.. c c .ce.r .: e. u. u :c u..,u . O,u..

cc.<r O,:eO:ur u c variable orr e,c e.c oc Oeu rc,< zr e.cc< rc .u .:

¡. cc. eOu. oc e.cu variable oer: Oc.. e: u... compiler .-c r...O :c uO. c. . u..
e.. variable declaration ece :,c ueO. e.: oO..u.O u., e,-, ece. variable or u .O .O ecc
o.O oO.. Ou ~: RAM u c u eOu rc .,u .O oO.. O .. .

z. ~uce .-O variable orO o..r c-.c o: c,O,u . e,-, ece. u:O c, rc :,r .. e.. variable
definition ece :,cueO. oc o. c-. ecu o.. u., ocO RAM uc .-:. rc.O oO.. cuu. eO.

e. cc-c O,: Oeuc . c. ou, cuu Oc..u c c-c ccc ec ce.c ecr. -c. .

Identifiers
Identifiers .u, cc.<ur O,:eO:ur u cc .-O oO.. cuu :·u..,u. ec:. oO. u. rcuOO,
.- o. cu u eOu ecu c-u u...u.. ~:uc .- :·u..u variables, cc.<r O,:eO:ur u cc
e.cu OO, o.O ec.u c-u u... identifier orr ec:. cc.:c<.r. u.u identifiers ece
:cu Oueu variables c.<r eu.eO.

Expressions
cc.<r O,:eO:urc eu.e.r .<u.u rc.O e c O . e...u. ec.r . e.O,u oOeO.Ou Occ
expressions e..c..,u.O oO..eO . cc.:c<.r ece c:u c,r eOu eu identifiers + r ..O u.rc
c.u c,- expression orr.

Salary = Basic + Overtime

~:u expression oer: c..u c, z r c,r. :,r.:

1. Operands.
~:u expression oer: c,r. :,r operands Ou eu Salary, Basic e: Overtime .u identifiers ..

2. Operators.
~:u expression oer: c,r. :,r operators Oueu “ = ” :. “ + ” .u .<u.. ecr< ..c..
Operators Oc r.c.. u., expression orrc, operands ..Ou. rc. u .<u rc..u ec rc...
~:uc, + operator or .. u Basic e: Overtime .u operands ..ce.: o..u oru rcu c-u
ouc, = operator or ..u o. oru eOu c,e-u c c uc Salary u. operand orO o.ec . rcu c-. .
u.u expressions .u .<u. r c. c.<r eu.eO . o. ..O u.Ou uOu oOe O. o,u. Expressions
e: operators c c -cO .-O ``Operators`` cccec ce.c O,:Oeuc :.eOu o,u.


15
Keywords
Keywords .u cc.<r O,:eO:ur u cc Oe.e ocO.u e:u u. e:. Ocu.. e.O. C++ ....O
..u Oe.e r.c..u ec:. eOurc o,u Ocu.. Keywords .-O identifiers ece ..O u. r c .O
eu.:,r . . c:u c,r eOu eu C++ : o:.Ou keywords .. O.eO c,reOu o,u,. keywords
cc -cO .-O ~c c e. c r .O.O c,e-u o,u.

asm auto bad_cast bad_typeid
bool break case catch
char class const const_cast
continue default delete do
double dynamic_cast else enum
except explicit extern false
finally float for friend
goto if inline int
long mutable namespace new
operator private protected public
register reinterpret_cast return short
signed sizeof static static_cast
struct switch template this
throw true try type_info
typedef typeid typename union
unsigned using virtual void
volatile while















16



2. cuu Oc..u e:Ou Data types


O,:eO:ur cuu e:Ou Data .-:. rcu c-ueu variables u c -O .- ce..
cccec ce.c cOO.. u.u re.. cuu.r .-:. rc.O .u,. variable orr c.O cc rc eu.:,r..
cc.:c<.r ece re.. ereure. u.r O,u cuu.r .-:. rc . ec:. e: .:e. ccu cu.
.-:. r c. ec:. eOue Oc..u ecrr variables ecrr c.Occ rc .u .. e..O e:uO Oueu
u. :. O.e .u cuu ..c oreurO eOue cuu Oc. ecrrO o.u O... e.O,u cu u Oc.
c,er C++ u c o:... e.u,u e O c,uO .e- oO..u.O.O ec cu ccc , e.. cu u Oc..ue.u
rc.r c.<r c,:,cc rc .,u.O cue.: .u..


1. int (integer)
int ece :,cueOueu e-..u.r cuu.u.. re.. e-..u .r o..r variable orr u c .-:.
rc.O u. oc int Oc .e. variable orr e,c. .u.. e.ece variable orr e.cu o.r.c. c,:,cc
rc.,u .O oc variable orr u .O. -c. . year u,.,u u. u int Oc.e. variable orr c:u u e.c.
o,u o.r.c. -cuu:

=============================================

int year;

=============================================

~:u, variable oer: u...O(year)~cc e.u o,u int u,.,u er.Oeu c,reOueu oc
e.cu variable or int Oc ..O o.u -O.. e.: c oc rcu eu year u,.,u variable ec:.
cc .<re. RAM .ure.u er.Oer eOu rc . c.<. . e.ece variable orr e,ce.c oc
cc. eOu o. variable orO oc.c er.Oe e:Ou -. O e-..O RAM .ure.u eOurc .u .u. .
e.. r ..O variable declaration ece :,cueO. o. :c.O. re.. e..:u,.ccr ~c rc.O ecc,
o. ~crc. ec:. e,e:u .e. c..<.r eOu rc.,u . :. e..u.. RAM .ure.u eOurcu
e.. -. O e:Ou .ur c ..<., e.cu variable oer: cu u Oc .. ou O eOue eO - .- u,u .O
u.. u e..:u,. cec O ..cu O. ou O, .e. e.: O..cu O. u c<. rc .u.. e.ece int variable
orr uccOe.c RAM .ure.u eOu Ou ~: Oueu -.O 4 r.

c,u oc e.. year u,.,u variable or ec:. oO.. .ur. eOurc .u u e., ocO c,u o. u c
e-..u.r o..r u,ucu rc :,r - .-O oO.. .e. c ..<. eOu rc .u ce , e..:u,. c c
~crc :,r.. e.. variable definition ece :,c ueO . ou. e.: c e c Ou eu variable orO o..r
o.ec . rc o: c,O,u. RAM uc eOc rc ... o. ecrcueu c:u o.cu :

=============================================

year = 2010;

=============================================

c,u year u,.,u variable oer: o.. zc¡c eO. eOuu Ocu Ocu r.ue:.u year u,.,u variable
or RAM .ur. u c eOu rce.u o,u ~: c..<e.: , ou. -.O ! r uc, zc¡c u,.,u e-..O
17
u,ucu O o,u. oc e.:c variable declaration e: variable definition .u r.. ecr oOeO. ecrrc
ecrcu, c:eO c<e e. ecr. orO O c:u ccc ecrc :,r:



==============================================

int year = 2010;

==============================================

oc c,u int variable orr e..c.e.u ecc cc.<r O,:eO:ur c.. -c. :

======================================================

// ints.cpp

#include<iostream.h>

void main()
{
int year = 2010;
cout << “Days in a year = “ << year << endl;
}

======================================================

~:u O,:eO:u Visual C++ .. u ecc ccc . Compile rc Run rcuu. Terminal window oer:
“Days in a year = 2010” .uu print eOu o,u. e.:c ecOe. r.rc¯ cc. O oc zc¡c o.. year u,.,u
variable u c .-:. rec.. ~uceO cout << er u., year u c o,u o.., ou. zc¡c, Terminal
window or .uO output rec..


Scope

===================================================

#include<iostream.h>

void main()
{
int x = 10;

{
int y = 20;
cout<< "Inside x:" << x << endl;
cout<< "Outside y:" << y << endl;
}

cout<< "Outside x:" << x << endl;
cout<< "Outside y:" << y << endl; // error
}

===================================================

~:u O,:eO:u Visual C++ uc .uc, c.u. er.O compile rc .O cu e.: rcuu - .-O o.
compile r c .O eu.:,r Ou o,u. e c Ou or. ec. Ou o,ueu Visual C++ : output window or
u cO c:u c,r eOu error message or print O ... (.-O c,e-u error massage oer: file path or
eOueOu o,u)

18


(oc. z.¡)

c,u .- output window oer: e.. error message or .u double click rc . u .. (~:c eO o,u !
O,u ecc. .u double click rcuu) oOO editor window oer: e.. error or uccO.O c.crO<
er u. highlight Ou o,u. o. er u. u. ! O,u cout O ..u. o:. er u. -O .-O highlight O
eceuu o,u. Error oru r.eOueu y .u declare eu.rcu cc o..uur variable orr -O. .
e.ee Ou eu .r u e.c¯ .- y declare rc o: o.. zc -OO define c rc o,u O. eu.eOc¯ u.u .-
u,Ou Ocr O,:eO:u ece -,c Oe:.u eceuu ec.r Ou eu , y : declaration or o,u eu e.c
Oc:u ..cr u c -O. . Error or u ccO cout o:. er u. o,u eu e.. Oc:u Oc u c Ou.. e..
er u. ..u y O ~c c. o,u (e:Ou y O refer rc o,u). u.u compiler .-c r...O y u.u identifier
orr ee... .,u.O eu.:,rO ue. o. ~:u c,rO< error or uccOe... Compiler .-c r...O y
:c u..,u.O eu.:,rOe. y : definition or o,ueu, o,u cu e.c Oc:u ..c u c O. ue..
e.:c y : c,O,u . e.. Oc:u ucO c.<r e ..eO. . Oc:u Ocu c Ou e O o.O ~:uc e.u
refer rcu c,- Oe:.u compiler .-c r...O o. :·u..,u.O eu.:,rO ... Oc:u u cc u. o.
ue,rO. y :c u..u.. e.c Oc:u u c o,u ecO,u cout command or error orr ucceu.O.
e: ueOu e. -O u:O c, eO. . c,u error or e: u er u. O,:eO:uu ~Ou er.O e:. o.
comment er.O (o. ecc. . cO “ // “ ecr <r e..c.) u,Ou O,:eO:u compile rc .O cue.:
rcuu. oOO o. u...r.cO o. compile Ou o. c, .- cru o,u.

e.ece variable orr e.c Oc:u ..cr uc define rce.u o: c,O,u . o. e.c Oc:u u cO
c.<r e.. rc. :,cueOueu “Scoping” .ueOu. Oc:u ecr u c o,u ~: o. variable oer:
scope or ece :,cueO.. o. variable or refer rc:,r er e.. scope or ucc c.<.



2. char (Character)

char – cuu Oc.e.u .u variable orr ouuc.u rc :,r Oueu cc.<r .uc, cc.u . u c o,u
or orcr, ~crr.r e:. ecr<r e:Ou character orr .

cc.:c< - 'G’, ‘k’, ‘8’, ‘2’, ‘>’, ‘?’

~:u cc.:c< Oc o,u “ ‘ “ ecr< e:Ou single quotes ece -cuu. oc char o..r :·u..ueu
e. single quotes Ocu. e.:c ‘8’ e: ‘2’ .u ~crr. eu.eO. e.ee Oueu oO. single quotes
Ocu o.Oc<. er.O o,u u e... oOO oO. ~crr. eu.O. characters -OO cu eO . e.ece. ‘>’,
‘?’ O,u ecr< c e.:c characters ece e,cer.

c,u oc char c.Oc c rc c . O,:eO:ur ece oO..u. e... rc.:

======================================================

// characters.cpp

#include <iostream.h>

void main()
{
char x = ‘b’, y = ‘y’, s = ‘e’;

cout<< x << y << s << endl;
19
}

======================================================

~:u O,:eO:u compile rc run rcuu. “bye” .u Ocu. console window or uc print eOu o,u.
“bye” .u Ocu. e,ceu ‘b’, ‘y’, ‘e’ .u characters uuO. or eccO eOueOu. print Oe.u -O
.-O c,:,cc Ou o,u.

~:u variables, define rc o,u o.r.c. ece -cuu. o. variables u u. define rc o,u eu orOc..
or eccrO -O .-O eceu. variables eOu rc o,u eu er... Oc u . e.. .- eccc c O variables
define r c .O e..u. . ou. , ~:u define rc . . c:u o.r.ce.u c ecrc :,r:

===============================
char x = ‘b’;
char y = ‘y’;
char s = ‘e’;
===============================

3. bool (Boolean)

r e eOr c,u .e-u c:u c . <. oe. :

“c,u .e- r..ce. Occ -c -. o,u eu c,c Oc¯”

.e- c cu c O . . ueu “.O ” e:. “u,:,” .u ecru orr. ou. , “c,u .e- r..ce. o,u Occ
-c-. c,cO o,u” .u cr..u. eu. e:. oeu. O. :,r.. eOuu o.r.c.ru r.ue:.u o.
cr..u. eu. e: oeu. .u oOe O. ecr u . r u.. cc .<r O,:eO:ur e.ee oOe O. ecrr u
c.<r e.uOu ec c,rO.O e.. bool u,.,u data type or ..O u.eO . bool – data type or u . u
variable orrO u-. :,rer o..u ecrr. ou., eu. oOeO.O e: oeu. oOeO.O. cc .<r
O,:eO:u c O e. c e.. eu. oOe O.O true .u keyword oru e:. ¡ e:. c O O,: .u,.
e-..Oru crOu ouc oeu. oOeO.O crOueu false .u keyword or u e:. c o.. ..u .
cc.<r O,:eO:urc bool data type or c.Occ erecu oOeO.Or Oueu , O,:eO:u u c r e..
uu O.r e,c c o,u e:. u,u -O u c<. r c .O.. e.. OO:. .,u. ec:. oc ~:u Oc c -c -
cc.:c<. cc.<r O,:eO:urO e..c. -c.:

=====================================================

// bool.cpp

#include <iostream.h>

void main()
{
bool on = true;
if(on){
cout<< “The bulb is on” << endl;
}
else{
cout<< “the bulb is off” << endl;
}
}

======================================================

~:u O,:eO:eu: .-O oc u ec.r Ou if-else statement or :.eO . if-else statement or .,u oc
.cr ce O rO. rc. . c,uO .- e. O,:eO:eu: oO..u. rc . u eu bool – variable orr Ou on
eOu e: o.O o.ec . rc o,u o.. Ou true o.. eOu.. O,:eO:eu: cc. O e c Oueu on u,.,u
bool cu u Oc ..O o.u variable orr define O o.O true o.. o.ec . O ... ~u ce , .- uO.
:·u.e.u u,u if-else statement or r..u.r Oe.u on : o.. r.rc,. cc.e.OO cr eO. o:
20
o.. true OOe:.u, “The bulb is on” .u Ocu ecc print Ou ouc o.. false OOe:.u , “The
bulb is off” .uu print eO. O,:eO:u compile rc run rc -cuu. on : o.. true ue. “The
bulb is on” .uu print eOu o,u. c,u on eOu false o.. o.ec . rc (true eOuOO on ~cc e.
false .uu type rcuu) u,Ou O,:eO:u run rc -cuu. oOO print Ou o,u eu “The bulb is
off” .uu. . o ou O e.. O,:eO:uu c,reOu eu bool – variable orr cc .<r O,:eO:urc
ce..eu.O .u :,r oOe O.Or.. on : o.. true e:. false O . .u O,:eO:eu: r ..r.cu O.
eco.r.c.r .u eu .. eOuu Ocu Ocu rOe:.u ocO O,:eO:ur r ..u.r O . .u ..c..
r .rc,. o. ..Ou. Ou e..e:.eu c e.O,u o.r.c.u e.u u c<. rc :,r ..

4. float
oc int – data type .,u rO. rc e.c ecr. -,c eO c c < e-.. c < -cO c.<r -O .- c O O.c¯ int –
variables u c .-:. rc :,rer cc< e-..Ou c.< . cc.:c<.r ece 10.5 O,u c.. e-.. o:c
..O u. rc eu.:,r. float cu u Oc .. o,u eu e.. oO..u.O ec c.c . ec:... c:u c,r eOu eu
float ..Ou. rc O,:eO:ur:

======================================================

// floats.cpp

#include<iostream.h>

void main()
{
float time = 10.35;
cout << “The time is: “ << time << endl;
}

======================================================

5. string

e.. cu u Oc .. ..Ou. rcu eu Ocu e:. O.r. .<e. cu u e.. rO. u r c .O. . oc ~:u
e.rcc. rcu cc e.c. cu u Oc ..u C++ u c eO..Or. o:.Ou cuu Oc ..u.. u.u e..
string cuu Oc .. C++ ucO r-u .O or rc ec.r,. r O:,r .. oe.u . strings cc-cO ecr.
-,c.O oeuu data types OcO O:. O,: rc,< .<u.Or o,u. e.ue. e.. Oeuc .,u e.u,uc
rO. eu.rc o ec:. eOu. er.Oer e.. ec.eu: “C++ Libraries” u,.,u cc cec ce. c eOu rc
o,u. u.u c,uO string – data type or .u r.rc,. . cr ece c:u O,:eO:u u c,:,c c
rc.uu:

======================================================

// strings.cpp

#include<iostream.h>
#include<string>
using namespace std;

void main()
{
string message = "Hello there! I'm learning C++.";
}

======================================================

~:u O,:eO:eu: message u,.,u string – variable orr define rc o,u ouc o.O erO O.r..r
o.ec. rc o,u.


21




3. Operators



e.eur .- ecr. -,c cc .<r O,:eO:u Oc .- c.O cc rc variables ece -cuu. .-
oO. define rc oO. ec:. o..u o.ec . r ce.u ouuc,O oO.e. o..u eu.eOueO c,Ouu.
euc¯ u.u e,-, cc.<r O,:eO:urc .- c.Occ rcu cuu eOuer. OcO cr rc.O ecO.
u uc e c Ou rc,<r . cc:c<.r ece .- .-O oO.. c-e. c c c u.u .-:. rc u-. .,u . ec:.
.-c r...r u .O e. e.ecu -O e uuu. o: .-:. rc o,u cc u.u e-..O O.c O.rc u,- .O int
– variable orr .- c.Occ rcu,. c euuu. .-c r...O o:. rc< cc ccu.u e-..O
O,:Ou. .- e.. variable oer: o..c o. cc u.u e-..O ouO ~:c u,O. .u.. e. o.r.c.O
O,:eO:ur cuu.u eOue rc.O ecOu OO oc operators ce.. eu.O .u..

Operators ..O ue.u cu u oru r c ., o: rc ., .< r c . e: e-c . u,ue:.u r e.. cu u.u
..cr e:. rc.r e..u o..r .uc,. cc.e. rc . O,u eu.e.r r..Ou ecrc.O :,r..
Operators ..u e.. r.. ec rc.O u. oc operators ouuc.u rc expressions c O . . u ..
Expression orr .u r.rc,. ~:uc ~u. erO e.u .- . O ~:uc :cu..uu.. Operators o:.
rc< cc expression orr rOc.r.cc,. -,c.O cO.e.u oc operators .u e..uO.c,. c.u .u..

C++ u c operators c,er :.eO. c:u c,reOu eO:uu o. operators O,: :c.r c,reO.





Oc.. u. ee- u.
Multiplication *
Division /
Modulus %
Addition +
Arithmatic operators
Subtraction -
Logical AND &&
Logical OR || Logical operators
Unray NOT !
Greater than >
Less than <
Greater than or
Equal to
>=
Less than or
Equal to
<=
Equal to ==
Relational operators
Not equal to !=
Increment ++ Increment &
Decrement
Operators
Decrement --
Assignment = Assignment
Operators
Addition +=
22
Assignment
Subtraction
Assignment
-=
Multiplication
Assignment
*=
Division
Assignment
/=



.-O eceuu ccc operators e,cr . . u uc. O ..c e-..Or o,uu , o,u euu . e. O. cc -cO
~e.u. ouc. oc:e u,u. e.u,u e O e.. operators .,u O.e. -c. .


Arithmatic operators

Arithmatic .<e. Operators ..u ec Oueu oru rc ., .< rc. O,u e...u. .<u rc ..u..
c:u c,reOueu Arithmatic operators c.Oc c rc c.u c,- ecc O,:eO:ur. Expression orr
.u r.rc,. .u rc,<c .- e.. O,:eO:uu cru o,u:

===========================================================


// ArithmaticOps.cpp

#include<iostream.h>

void main()
{
int toShop = 500, backHome = 500, distance;
distance = toShop + backHome;
cout << "The distance I walked: " << distance << "
meters" << endl;

int time = 50, shoppingTime = 30, walkingTime,
speed;
walkingTime = time - shoppingTime;
speed = (toShop + backHome) / walkingTime;
cout << "My average speed was: " << speed << "
meters per minute" << endl;

int weekShoppingTimes = 3, allTime;
allTime = time * weekShoppingTimes;
cout << "Time I spent on shopping for a week: " <<
allTime << " minutes" << endl;

}

===========================================================

(~:u O,:eO:eu:c :. ~c c.O :. O .O u .. u O,:eO:u Occ o,u,. cc .<r er u.u or
eccr ece c,r O . ec:. ~: .c Ou u e. o. eru.u ec c ecrr O.e.u crO. o,u. [e.. - cu
eru.u Or c eO:u Ocu c,reO ] u.u .- Visual C++ : e.. O,:eO:u .u c, c.u. rcu
O O o. ec c ..c.u or. ec c ece type rcu u. eu.o eeu. e-.e:. O O .e- O,:eO:u Oc
errors .u eOu o,u)

~:u O,:eO:euu ecuu . rcu eu r e.. c c .ce.r r:ec.cO e..e -: . cc .,ue. c .u
rc r.c. :. .: ..u rc c c o.c... O,:eO:eu: cc.eOu ecrc o,ueu cc .c..e. uOee
e O r:ec.cOu , o: eO u OeOu o,u c c c, . c c c c O.c O. rc u,- . ec:. c c eOc u toShop,
backHome e: distance .u int - variables u u O. u,u .. . toShop e: backHome eOu ¯cc o.ec .
rc o,u. ¯cc o.. . Oc ece ecruu. cc. ecce.u .- crueu addition operator (+) or c
23
toShop :. backHome variables (e:Ou operands) ecr c ..Ou. er.O c.u c,- expression orr .
Expression .u r.rc,. . cr O.e.u .- ¡O,u cccecce.c :cu..uu.. e.. expression oer:
r.c.. Oueu toShop :. backHome .u variables ecr oru rc . c c c, distance variable u c
.-:. rc...

~u ce O o,u er ue.u distance uc .-:. O o. o.. console window or .uO output eO.

ecO,u er.Oee c , r:ec.cO e..e c,. < e. c .uO . c r.c. O.cO. rc u,- .O time c -: . cc
.,u .O .uO r.c. c,rO.O shoppingTime c r:ec.cO :. o.ce uOeO o,O..O .uO r.c.
c,rO .O walkingTime c cc.c..e. o,O .e. eO.. .-:. rc .O speed c .u variables de e.c.
o,u. o:c time eOu ¯c c, shoppingTime eOu +c c o.ec . rc o,u. ¯c :. +c o..u Ou.: ece
ecruu. c,u e c Ou eu r:ec.cO ...O :. o .O .uO . c r.c. c-..,u .O, time : o.e.u
shoppingTime : o.. subtraction operator (-) ..O u. rc o: r c ... o. walkingTime u c .-:.
rc o,u. ~uce c c.c..e. e...u.. o,O.e. eO.. ee... o. o.. speed u c .-:. rc o,u.
o. e c rc o,u eu division operator (/) ..O u. rc, r:ec.cO :. o.ce u OeO o,u c c, c c .c..e.
o,O c e. r.ce.u e-c . ec:. expression orr c O e.u .

euO,u er.Oe u weekShoppingTimes e: allTime .u variables ..c define rc o,u eu
cc eOc u eu .rO r:ec.cO .. O.c .<u e: o ec:. eu.rc .urc . c r.c. O.cO. rc.O..
oOe.ue.c multiplication operator (*) ..Ou. rc or Ocr r:ec.cO .,. ec:. .u O r.c.
eu.rO .. O.c .<u .<rc .c r.c. c-. e.u o,u.

e.. O,:eO:eu c +, -, /, * .u operators :uc. ..Ou. O ouc o: r O.u ec.rO o,u eu
multiplication operator (*) .,u c.<. . ou. , .- e.eur . < r c . ec:. c.O c c rc x cr<
e.:c Asterix - * cr< -OO cu O o,u. uOc, O,:eO:eu: z O,u er.Oee e c r c e. c Oc:u
c.O c c rc o,u o.r.c. -cuu. .- c,uO.u e-.e:. OO c,u eO . :,r cc c oc e c r c .rc
Oc:u e..cu eu o. Oc:u u c o,u er.Oe eOu. orr.r ece cO.e.u e c rc.,u.O oO..
O O O.. ou. e.: c c O.e.u toShop :. backHome : o..u oru O, ~uceO. o. o..
walkingTime o.e.u e-ecu eu . e.O,u oOe O. Occ Oc:u ..O u. rc . .:cu c c,c cr . o.. u
.-O oO.. e c O . uO,cc ece e c Ou -OO .-O u:O c, rc .u :,r.

c,u ~uc O o,u eu Modulus operator (%) .,u e.rcc. rc.O. . c:u O,:eO:u cc.e. rc
-cu u:

======================================================


// Modular.cpp

#include<iostream.h>

void main()
{
int aNumber = 27;
int mod = aNumber % 2;
cout << mod << endl;

int anotherNumber = 65;
mod = anotherNumber % 5;
cout << mod << endl;
}

======================================================

~:u O,:eO:u r..u.r rc -cuu. cceOu :. ecO,u oOe O. Occ mod : o.. ece cceOcu
¡ :. c console window or u c print eO. cc. oOeO.eOc mod : o.. ¡ O e. e.ee. : modular
operator (%) ..u ecOueu re.. e-..Or e-ce.u ce c,e-u ~uc. .<u. rc... e.
ouO aNumber .u variable oer: o.. Ou z¯, z u e-c. c,e-u ~u c. mod u c u,u cu rc o,u.
z¯, z u e-c OO ¡+ c ~uc. ¡ c eO. e.ue. cc. oOe O.eOc mod = 1 eO . z Ou oOeO.eOcu
ec ueu e..... o.c cc.e. rc -cuu.
24




Logical operators

oc Logical Operators ..Ou. rcueu, o: u.u . r.eOu ccc, ucr.urc r..Ou ec rc.
ec:... e.. Logical operators ..u ec Oueu oOeO.Ou r:c.r e.u o. oOeO.Ou ouc
ucr.<rc e.-u..r e..:u,.... e. e.-u.. o,u Oueu o. oOeO.Oue. eu.-oeu.
..O.u ouc. . e.. OO:. .,u .O oc cc.:c<.r e.u -c. .

c,u .-, .- ~c c e. eO u. A, B :. C u,.,u c. u u eceur e uu .O. .uu. A e. :eer c .c,
c,:, -O .-O eceuu ouc o,e u c c,:,e.u .u .. B e. :eer rc c,:, .uu. ouc o,e.
o,e c.c, c,:,u.. C cu c,:, : eere u . u Ou ouc c,e r.c Oc <.. e. e..e:.eu r eeOr
c,. < .-O e.ee r ..: “A e. : eere c ®c, c,:,e.u . u. . o,e uc c.O.. B O o,u eu c ® c,
c,:,u :eere.. u.u o,e rc c.O.. C e. :eere cu c.O. . o,O o,u eu rc c,:, eceuu ..”
e.. c c .c.. e. r ..u ecr. -cu u. o. e. c c< ece eu. eu.Ou -O .-O eceu O . .:
cc. eOu :. oOeu oOeO. Occ eu. c r.. rcu u.u ecO,u oOeO.eOc oeu. cr.. rc..
eree OOc .: O,: er.Oer r .. o,u eu eu... . oeeu. , .- u c<. rcu eu .: eu. c r..
rc -Oc oeu. c r.. rc -Oc¯ .: u ecu. cc -cO. eu. r .. o,u u. .-O .: eu. cOe.
o,u,. u..u. rc :,r. .: u ecu. c c -cO. oeu. ec . r.. o,uu. .-O .: cOe. o,u eu
oeu. -O u c<. rc :,r. u. u e. oOeO.eOc e. ecr u orr Ou .-O u..u. rc
eu.:,r.. cc.<r O,:eO:u Occ c e.O,u oOeO. .ueO. ou. .-O oOeO. rc.r ecr. -c.
o O.e. eu.-oeu. u.O ou O .. .. u c< OcO o<..O e c eO . o,u,. oOe O. Occ e .cc eu.
eO. uOu oOeO.Orc e.cc oeu. eO. u.u o,u,. oOeO. Occ e.:cr ec c.<r eu. eO .
e.O,u oOeO.Ou :·u. .,ue.c. ocO Logical Operators O,c.u Oueu.

. u ~:uc oc ecr. -,c Arithmatic Operators e,.OO. ccuc ece ~uc rec OOc e-..u.r
o..u.. u.u Logical Operators ccuc ece c-. ecueu 1 e:. 0 .u o..u ..c c.<.. e.:c
¡ o.. true (eu.) u,.,u o..O ouc,c Ou ouc c o.. false (oeu.) u,.,u o..O ouc,c eO .
e.. true e: false o..u Boolean data type orO o.eO < r O o..u -O .- data types cc c ec ce. c
:cu..uu. .ur o,u.

oc c,u Logical Operators ..O u. rc ~:u A, B, e: C u ecu. c c -c cc.:c<. OOc o. cu
cc .<r O,:eO:urO o.ec . rc o,u o.r.c. -c. .



Logical AND (&&)

Logical AND : r.c.. u. oOeO.Ou rc.r e.u o. oOeO. e .cc. eu. u. c.<r true o..
uccO... o. or oOeO.Or OOc oeu. eO u. Logical AND u ccOu eu false o.... e..
ecOueu c:u o.r.ce.u :

======================================================

// LogicAnd.cpp

#include<iostream.h>
#include<string>
using namespace std;

void main()
{

string aHair = “Brown”, aEyes = “Blue”, bHair = “Black”,
bEyes = “Brown”, cHair = “Red”, cEyes = “Black”;


25
// (1)
bool hairCheck = (aHair == “Brown”);
cout << hairCheck << endl;

// (2)
hairCheck = (aHair == “Brown”) && (bHair == “Red”);
cout << hairCheck << endl;

// (3)
bool eyesCheck = (aEyes == “Blue”) && (bEyes == “Brown”)
&& (cEyes == “Black”);
cout << eyesCheck << endl;

}

======================================================

~:u O,:eO:eu: c,uO .- eu.cu u. Equal to (==) operator or, expressions ec:. c.Occ rc
u e- . Equal to (==) operator .,u c,uO e. o.r.ce.u euuu: Equal to (==) operator or .-
c,uO.u cuu. Assignment operator (=) orO O:. eOue r.c..r ~O rc.. = ..u ecOueu
re.. operands ..cr e..u r c. O ouc, == .. u e c Oueu r e.. operands ..cr e..u c,.
cc.e. rc... o. operands . .ec: o..u e..u u. ¡ e:Ou true o..c, oe..u u. c e:Ou
false o..c == ..u u ccO.. oee u. ~:u O,:eO:eu: ¡ O,u er.Oee: o,u aHair ==
“Brown” .u expression oru e cOueu aHair u,.,u operand oer: o.. Oueu “Brown” c,.
cc.e. rc... aHair eOu “Brown” .u o.. ~:uu assign rc o,u ue. e.:c == ..u true e:Ou
¡ ucceO.. u cceOu e.. o.. hairCheck u,.,u bool type variable or u c .-:. rc o,u ouc,
O,:eO:u r..u.r rce.c hairCheck : o.. ece ¡ print eOu o,u.

c,u z Ou er.Oe ece -cu u. o:c Logical AND - && c.Occ rc o,u. .- e..e:.urO ecc c O
ccc aHair == “Brown” .uu true o.. uccO.. (bHair == “Red”) .u expression uccOu eu
false o.... .rue.c.u bHair : o.. “Black” Ou ece o. define rc o,u u e... c,u e..
expressions ..c && ..u e.-u. rc o,u. e.O O ec Oueu r.rc¯ ecOueu o. expressions
..u uccOu true e: false o..u && ..u cc.e.OO cr O... ~:u ec:uO ccc && ..u , o.
cc.e.OO cr erecu oOeO. e.cc true e:Ou eu. o..r .u u. true o.. uccO.. e.: c
cc.e.OO creOu cceOu expression or Ou (aHair == “Brown”) c o.. true Ou ouc ecOu
expression or Ou (bHair == “Red”) : o.. false eO . oeeu., (aHair == “Brown”) &&
(bHair == “Red”) .u expression or ..u u cceOu eu false o.... false o.. hairCheck u c
.-:. erecu ouc false o..O ouc,c 0 o.. print eO . e.. :c .O. .-O ~:u c :.O cc .c..
e.ee r . O,u.: “A O o,u eu c.c, : eer.. B e. :eer cu..“ .: ecO,u oOe O.eO c oeu.
cr.. rc.. e. u e. && .. u false ucceO .

c,u euO,u er.OeO. (aEyes == “Blue”) .u expression or uccOueu true o.... (bEyes
== “Brown”) uccOu eu c true o.... (cEyes == “Black”) c true o.. u ccO.. e.cec:. o..
true eO. e.u e. && ..u u cceOueu c true o.... e.u e. true o..O ouc,c ¡ o.. print eO .

. c.O oc ~e.u .O .ueu Logical OR (||) operator or .,u..







Logical OR (||)

Logical OR ..u ~OOueu oOeO. ecrr cc.e. rc, o. oOeO. ecru orr e:. eu. u. true
o.. uccO... c:u cc.:c<e.u e.. O e uc eO:
26

===========================================================

// LogicOr.cpp

#include<iostream.h>
#include<string>
using namespace std;

void main()
{

string aHair = “Brown”, aEyes = “Blue”, bHair = “Black”,
bEyes = “Brown”, cHair = “Red”, cEyes = “Black”;

// (1)
bool hairCheck = (aHair == “Brown”) || (cHair == “Red”);
cout << hairCheck << endl;

// (2)
bool eyesCheck = (aEyes == “Black”) || (bEyes == “Brown”)
|| (cEyes == “Blue”);
cout << eyesCheck << endl;

// (3)
hairCheck = (aHair == “Black”) || (bHair == “Red”)
|| (cHair == “Brown”);
cout << hairCheck << endl;

}

===========================================================

~:u (¡) oOe O.eO c hairCheck : o.. true eO . .r u e.c .u (aHair == “Brown”) :. (cHair ==
“Red”) .u oOe O. ecr. true o..u .uu. e:.u.

(z) oOeO.eOc (bEyes == “Brown”) :,ecuuO oeur expressions oeu. .. u.u eyesCheck :
o.. true -OO cueO . e.. ec OuuO e: uO u. , || .. u true u ccO .O, o. cc .e. rcu oOe O.
orr e:. eu. O . c ..<Ou O...

(+) oOeO.eOc e.c. expressions, false o.. .,u . u e. || ..u false o.. uccO.. || ..u true
uccO.O u. o. cc.e. rcu oOeO. orr e:. eu. O . ou.O.. O . ue. e.. eceO.



Logical NOT(!)

.-O ~:uc :. O c c .c.. c,u C eOu c,.< e.ee r .u,. e uuu: “.e- o,e u c c.O. !” e.:c
C r .r e u Oc e.. o,e O O. .-O O,Oe:u o,u eu e.. c c.c.. C O oeu. ec c r.. rcu -O..
.rue.c.u C e. o,e uc c.O eu.O r.cOc < -O .-O eceuu e:.u . cc.c..e. oeu.
cr... expression orr ..u e.ee cO. :,r:

cEyes == “Blue”

c,u r e eOr .e-u e.. c . <. oe.: “.: C .,u r. ec. oeu..rc¯”. .e- c c u c Ou eu
“.O ” .uu.. o:c o. c. <. o.e. o,u o.r.c.O c cu c, e,c..O .- ece u c<. rc .u
Oueu c c.c..e. c r..<. oeu.c .u O... .-O ~:u :. O Logical operators ..u ecrec
r e .. ec.r eu. c,. ee... -,c ... u.u ~:u ccc reOr oeu. c,. cc .e. r c .O u.
Logical NOT : e:. oc c-..u .u.. Logical NOT ..u ec Oueu re.. oOeO.Or oeu. u.
true o.. uccO .. . e.. c:u O,:eO:eu: c,r eO:

27

===========================================================

// LogicNot.cpp

#include<iostream.h>
#include<string>
using namespace std;

void main()
{

string aHair = “Brown”, aEyes = “Blue”, bHair = “Black”,
bEyes = “Brown”, cHair = “Red”, cEyes = “Black”;

bool cEyesCheck =!(cEyes == “Blue”);
cout << cEyesCheck << endl;

}

===========================================================

~:u O,:eO:eu: cEyes == “Blue” .u expression or .. u false u ccOue:.u ! – operator or
.. u true ucceOu o,u. Expression or true OOe:.u false o.. ucceO. e. u e. cEyesCheck :
o.. ~:uc true o..r .u o,u.


Relational operators

C oeur ececu.O. O:. ceu O,: , o,. High heels c,cc e.u eO u u e. -O .- u c .e<.
rc.. A oeur ececu.O. O:. ce u o: .. .- c,u e.ee r Oe:.u o. eu. Ou o,u: “A, B O
O:. ceu o:.”. e.ee rOe:.u o. oeu. Ou o,u: “C, B O O:. ceu o:O eceu.”. .- e.:c
ec rcueu e. u ecu.e. ce Oc ouc.ur.u ouc e. -u..r (Relation) e..:u,. .. .
Relational operators Oc r.c.. Oueuc e.O,u oOeO. ouc ouc.ur e. -u..r o,u rc...




Greater than operator (>)

Greater than operator ..u ecOueu o. cc.e. rcu oOeO.Ou ..c oucu cr< ce o,u
oOeO.O, O. ce oOe O.OO O:. o.e.u O..c c,. u c .e<. rc .. . o. oee u. > - operator or
Oeu true o..c, o. oee eu.Oueu u. false o..c ucceO . c:u cc.:c<. ece -cu u. o:
ecr. -,ecu eu ~:u cc.:c<e. o. A,B,C u ecu.e. ce o..u c c-cO.:

===========================================================

float aHeight = 4.5, bHeight = 4.7, cHeight = 5.0;

// (1)
bool heightCheck = aHeight > cHeight;
// (2)
heightCheck = cHeight > bHeight > aHeight;

===========================================================

~:u (¡) er.Oeu ecOueu aHeight .u variable oer: o.. cHeight .u variable oer: o..O
O:. o.e.u O ..c c,. cc .e. rc ... .-O eceuu cc c e. oOe O.eO c o. oeu. e:.u > ..u
false o.. u cceO.

28
(z) oOeO.eOc ec Oueu r .rc¯ o. oOeO.eOc ecOueu “C oeur ececu.O. O:. ce u O,:.”
.u r..u cc.e.OO cr rc ... ou. , cHeight > bHeight .u expression or ..u cHeight,
bHeight O O:. O..c c,. cc.e. eO. ~uce bHeight > aHeight expression or .. u bHeight,
aHeight O O:. O..c c,. cc.e. eO. e. ouO cHeight > bHeight > aHeight : ec.c :c. ece
c,e-u true e:. false o.e.u ... Ou eu ~:u r ..eu: eu.-oeu.u.O. . uOu c,:,c c ece
r .ue:.u , cHeight > bHeight :. bHeight > aHeight .u oOeO. eceru. true o.. u ccOu
e:.u o: oc:e u. cHeight e:Ou C e. ce oeur eccu.O O:. O,: -O eu..r -O. .

u.u c,u e.:c o. expression oeru r.eOu oc:e. O c,c . ouOc e u . :,r. ou. e.eec r O
:,r -O .-O eceuu o,u: ~:u expression or ..u aHeight e:Ou A e. ce, bHeight e:Ou
B e. ceOc, cHeight e:Ou C e. ceOc O:. o: c,. cc .e. erec.


Less than operator (<)

Less than operator .u Greater than operator : O c,c. oOeO.O.. ou. , o. ..u ecOueu o.
cc.e. rcu oOeO.Ou ..c oucu cr< ce o,u oOeO.O, O. ce oOe O.OO O:. o.e.u O..c
c,. cc.e. rc... o. eu. u. < O e u true o..c, o. oee eu.Oueu u. false o..c uccO..
c:u cc.:c<e.u e.. c,r eO :

===========================================================

float aHeight = 4.5, bHeight = 4.7, cHeight = 5.0;

// (1)
bool heightCheck = cHeight < aHeight;

// (2)
heightCheck = aHeight < bHeight < cHeight;

===========================================================

~:u (¡) er.Oeu ucceOueu false o.. -Oc (z) er.Oeu ucceOueu true o.. -Oc .-O
O,Oe:u o,u. uO c cOu c,:,c c rcue:.u (z) O,u oOe O.eOu r .eOu eu c:u r ..u. :
“aHeight, bHeight, cHeight .u variables uuO. oucu r :.. o..r .ueu aHeight ..“ o
ouO ~:u o: o.. true eO.


Greater than or equal to operator (>=)

e.. operator or .u .- ~:u u c O Greater than operator e: Equal to operator oer: oruO..
ou. o. o: cr< ce o,u expression or, O. ce o,u expression orO O:. O..c c,. cc.e.
rcuO. e.u ., o. expressions or . .c e..uc,.c cc.e. rc.. o. oOeO.Ou ecru orr e:.
eu. u. o. true uccO. :

cc..
===========================================================

int a = 10, b = 20, c = 10;

// (1)
bool check = (b >= a);
// (2)
check = (c >= a);

===========================================================

(¡) oOeO.eO:c, d, a O O:. O..c u e. check : o.. true eO.
(z) oOeO.eO: a :. c e..u ue. check : o.. true eO .
29




Less than or equal to operator (>=)

e.. Greater than or equal to operator oer: Oc,c. oOeO.O.. o.u cc.e. erecueu o: cr<
ce o,u expression O. ce o,u expression orO O:. r:. e:. e..u c,. .uu..


Equal to operator (==)

Equal to operator ..u cc .e. Ou eu o: cc .e.OO cr eOu o..u ..c :c.O. e..uc .uu.:

cc.:
===========================================================

int a = 10, b = 20, c = 10;

// (1)
bool check = (b == a);
// (2)
check = (c == a);

===========================================================

(¡) oOeO.eOc false ucceOu ouc (z) oOeO.eOc true u cceO .

Not equal to operator (!=)

e.. Equal to operator : Oc,c. oOeO.O.. cc.e.OO creOu o..u ..c oreurO eOue u.
o. true o.. u ccO. , e..u u. false uccO.:

cc.:
===========================================================

int a = 10, b = 20, c = 10;

// (1)
bool check = (b != a);
// (2)
check = (c != a);

===========================================================

(¡) oOeO.eOc true ucceOu ouc (z) oOeO.eOc false u cceO .


Increment & Decrement operators


Increment operator (++)

e.. Addition operator (+) : O rc c.r ecec :,c u O. :,r.. u.u increment operator .. u
e c Oueu re .. e-..u .r o..r orr u c.<r ~:c c,.... e. ue., e-..u.r o..rO ¡ O
O:. ~:c e-..Or orOc. oru rc.O oO.. O OO increment operator or c.O c c rc eu.:,r.
Increment operator : O..rc< O.. c:u c,reO :

===========================================================

30
int number = 50;
number++;
cout<< number << endl;

===========================================================

~:u, number : o.. orr u ~:c uO. o,u. ou e. o: uO o.. ¯¡ ece print Ou o,u.


Decrement operator (--)
e.. increment operator : O c,c. oOe O.O. . ou. decrement operator ..u e c Ou eu re..
e-..u.r o..r ¡ ru c:c c,... :

cc.:

===========================================================

int number = 50;
number--;
cout<< number << endl;

===========================================================

!) print eO .
Assignment Operators

Assignment operators ..O u. rcu eu variables OcO o..u o.ec . r c e. c ..


Assignment operator (=)

e.. .- c,uO.u :· uu operator orr . ecc o.ec..u ec:. e.. ..O u. eO :

cc.:

===========================================================

int number;
number = 15;

===========================================================


Addition assignment (+=)

Addition assignment operator orc addition operator : o.ec.r.r ece ..O u rc :,r. e.. ..O u.
rcu o.r.c. :cu..,u.O addition operator ..u ecrc :,r assignment orr addition
assignment ..u e c rcu o.r.c. ecr. -c. :

===========================================================

int number;
number = 15;
// (1)
number = number + 20;
// (2)
number += 20;

===========================================================

31
~:u (¡) oOe O.eO c number eOu zc r oru rc o,ueu addition operator or ..Ou. rce.u. (z)
oOe O.eO c c,r eOu eu o. o.ec . r c .. addition assignment ..Ou. rc e.u ecrc< o.r.c...
o:c, addition operator ..O ue. c expression oer: O. ce e.c . . u ecO,u number e.c . ~Ou O
o,u. += ..u :eO., oO.. o.. number variable orO oru eO. e.ue. re.. variable orrO
re.. e-..Or ercu . oru rc.,u.O oO.. O OO addition assignment operator ..O u. O:.
c:eeO.


Subtraction assignment (-=)

e.. addition assignment : cu Oc,c. oOeO.O.:

cc.:

===========================================================

number -= 20;

===========================================================

~:uc, number eOu u zc r o: rc o,u.

Multiplication assignment (*=)

e.. ecc .< rc. ec:. ..Ou. eO. e.. r..u.r Oueu ~:u operators ..c r..u.r O
o.r.c.O.. . c:u cc.:c<e.u e.. c,:,c c Ou o,u:

===========================================================

number *= 20;

===========================================================

~:u ecOueu number : o.. zc u ecc ece .<O... e.. c:u multiplication operator ..u
ecrc o,u . < rc.O e..u eO :

===========================================================

number = number * 20;

===========================================================


Division assignment (/=) r..rcueu c ~:u ccc..:

cc.:
===========================================================

number /= 20;

===========================================================

~:u, number : o.. zc u e-c., c c u c number u c .-:. eO .


e.u,u u operators .,u Oeuc. u..OO cueO. u.u ~:uc ec:u eu.Ou operators Oc..r o,u.
e.O. Bitwise operators u. u :,c u eO . Bitwise operators e-.e:.OO ..Ou Oueu cO.. e-..
e.. rO. u rc e.c.. e.. .- c,u. oueu..eu rO.uur ue. Bitwise operators .,u rO.
r c . eOuu oOe O.OrO ~uc rc o,u.
32










4. cc.<r O,:eO:ur r ..r.cuO.
c·c:. uoc.
(Program Flow Control Statements)



(e.. cccecc. r.O.O ecc, e.. ec.eu: Appendix er.Oee o,u “Debug rc . e: Errors
:·u..,u.” .u er.Oe r.O. ece.)

cc.<r O,:eO:ur .c. .u ec c:crO e..u.. ec c:cr o,u .rue.u ue c e..eu
.,u .O u. , oc o. ec c:ec: ..uO -... rc . u.. ec c:cr ..u c.cu. eu.rc O O, o:
.,- O o,u c.cr .r u e.u ce..eu.r .,u .O eu.:,r eO. . c.cu. eu.rc cc .<r
O,:eO:urc c.cu. eu.rc ec ..c.Or e.u u rc,eu .c. . cc .<r O,:eO:urOc
c.cu.ru eu.cO .,c .O ~: :cO O, o.u r e.. ce..euOu ec.r rc.,u.O ocO :,r
eu.eO. e.u e. oc rc.u Oueu, oc Oeu uc..<. rcu c-u cc.<r O,:eO:uOc
r..r.cuO. ue ccc c.cu. rce.u, oO. .:cu .-cr...u -OO cu rc...

cc .<r O,:eO:ur e.. “.:cu -O” .ueuu :,c u eOu eu r .r c¯ ecc ece .u O O o.
rc,< r:c.r .u cc. cOu.. o oucu orr u., re.. cc.<r O,:eO:ur, o. c.Oc c
rcu u. eOu crOu e,crcc.. O,:eO:ur c.Occ rc. o. ..Ou. rcuu. :O oc:e :.
er c < -O :,e. u. , o. o. O,:eO:eu: o.rc .< . ..O. c:u e:c. . uOu rc,<r u.
O,:eO:ur re.. ec.r ecrc .O .uu. r.c.. . cc.<r O,:eO:ur .- cO. .u eu :,r
uc. o: r.c.r .uer.O o. ..Ou.rcu u. :O oO.. r.c.. ~Orcce. oc. < u . u O..

e. r.c..u ec r c.O u. oc cc.<r O,:eO:u Oc r ..r.cuO. ocO oO.. ccc c.cu.
rc.u . u .. e.. e cr c . ec:. C++ : OOc re..c...u o,u. c,u oc cc.<r O,:eO:ur
r..r.cuO. c.cu. rce. o. re..c...u :·u..,u. oc®..

~:u r. re..c...u e.cc. .uOO oO. :,cuO.O “Program control statements” .uu ..Ou.
eO . Program control statements Oc . rc.rO e-c. c,rO. :,r. c:u c,reOueu oO. Oc.rc<.
rc o,u o.r.c...



Conditional Statements Looping Statements Jumping Statements
if – statement while - statement
if…else - statement do…while - statement
else…if - statement for - statement
switch…case - statement break & continue
goto – statement
33

c,u oc e.. Program control statements O,:eO:u Occ ..Ou. rc< o.r.c. OO:. .,u.O
cu e.: rc. .


Conditional Statements

Conditional statements ..u cc.<r O,:eO:ur u c cc.u Ou uuO.uO ouO o. O,:eO:eu:
r..r.cuO. e:Ou o: .c.... c.cu. rc :,r. . c:u c,r eOueu o. conditional statements
ec:. c,:,cc rc ...


if - statement

if - statement or ..u e c Ou eu cc.<r O,:eO:ur u cc re.. uuO.r e,c c,< O O c.<r
.. r..Or ecrc...

uceur ece r e eOr e.ee r O. .,. e uuu: “.. ‘2001: A space odyssey’ u,.,u ec.u . cc
.ueu o. ec.eu: . c c,c .c zcc O o:u. c.<. ”. ou., .: O ec.u . cc .,u .O u. o: . c
c,c.c zcc O o: O e. uu O. e,c c . . u .. e.. r ..u ccu. rce.u oc c,u if ..O u. rc. u
cc.<r O,:eO:ur c..:

==========================================================

// if.cpp

#include<iostream.h>

void main()
{

int bookPrice = 180;


if(bookPrice < 200)
{
cout << “I buy the book(1).” << endl;
}

bookPrice = 230;

if(bookPrice < 200)
{
cout << “I buy the book(2).” << endl;
}

}

===========================================================

~:u O,:eO:eu: (¡) oOe O.eO c , if .. u bookPrice : o.. zcc O O:. o:c,. cc.e. erec .
e.. ec Oueu if : Oc:u uc o,u (bookPrice < 200) .u expression or ..u . if ..u cc.e.
erecu eu e.. expression or eu. eOc,. .uu.. eOuu o.cru rOe:.u , if .. u , bookPrice
: o.. zcc O O:. o: O . .u uuO. e,c ecu eu c,. cc .e. rc.. o. uuO. e. c c< O Oe:.u ,
e:Ou (bookPrice < 200) .uu true OOe:.u, if .Oeu o,u cc .<r er u.u r ..u .r eO . c,u
e.:c bookPrice : o.. ¡sc ue. (bookPrice < 200) .u expression or true e:Ou eu. eO.
ou. bookPrice : o.. zccO O:. o: O. .u uuO. e. cc< O o,u. e.ue. if uc o,u er u.
r..u.r O “I buy the book(1)” .uu print eO. (z) oOeO.eO: if ..u u,Ouu o. cc.e.O
eceO. e.Oc bookPrice : o.. zcc O O,: ue. (bookPrice < 200) .u expression or false
e:Ou oeu. eO . oe:.u “I buy the book(2).” .uu print eu.eO . oee u. , if .. u O,:eO:u
34
r..u.r Ou o.r.c. c.cu.O cr rc o,u . ou. ecOu oOeO.eO o,u cout O ..u. r..u .r
eu.Ou o.c u if ..u O,:eO:u c.cu. erec .


if…else - statement

c,u ~:u c c .c.. e.ee r .. : “ec.eu: . c zcc O o:Oeu.u .. o. . cc .uu. ouc, . c zcc O
O:. O,:O eu.u .. eOuu ec.ur . cc .u..“ e.. r..u u cc .: oOeO. z r cc-c rO. rc
o,u. ecc oOe O.eOc .: O o,ueu eu. c..,u . ¡r c.<r u.u e. oOeO.eOc .:O eu.c.
.,u e. oOeO. z r o,u. cc.<r O,:eO:urc e.O,u eu.c..,ue. oOeO. ..cr c.<r o,u
oOeO. Occ ocO c.Occ rc .O ecOueu if…else .. if…else .u if : r..r.cuOe.:. O,:
c . < Or . c,u ~:u c r... if…else e..c. .u.u cc.<r O,:eO:urO ouuc.u rcueu
eree c,. -c.:
==============================================================

// ifElse.cpp

#include<iostream.h>

void main()
{

int bookPrice = 250;

if((bookPrice < 200))
{
cout << “I buy the book.” << endl;

}else {

cout << “I buy some other book.” << endl;
}
}
~:uc if .. u bookPrice : o.. ecc ccc . zcc O o: c,. cc.e. eO . bookPrice c,u z¯c r Ou
ue. cc.Ou cout O ..u. r..u.r eu.eO. r..u.r Oueu else u c o,u cout O..u.. .
bookPrice : o.. zcc O o: OO.u. else u c o,u cout O..u. r..u.r eu.Ou ouc, r..u.r
Oueu if uc o,u cout O..u...


else…if - statement

ecc c r... c c.c.. o. c,u e.ece eOue rc. : “ec.eu: . c zcc O o:O eu.u .. o. . cc
.uu. ouc, . c ¡¯c O O:. o:Oeu.u .. ec.u ecrr e.u orr .e. .:cOrO u,. rc. .
ec.eu: . c ¡cc Oc O:. o: O Oe:.u .. ec.u + r e.u z r .e. .:cOu ececeur O u,.
rc. .“ c,u e c Oueu r .rc¯ .: :O eu. c. .,u .O c,u oOe O. + r o,u. cc .<r O,:eO:urc ,
e.ece eu. c..,ue. oOe O.Ou z rO O,: e.u o,u oOe O. Occ else…if control statement or
c.O c c rc .O :,r.. c:u O,:eO:u u e.. c,:,c c Ou o,u:

=====================================================

// elseIf.cpp

#include<iostream.h>

void main()
{

int bookPrice = 85;

if((bookPrice < 200) && (bookPrice > 150))
{

cout << “I buy the book.” << endl;

35

}else if ((bookPrice < 150) && (bookPrice > 100))
{

cout << “I buy 2 copies of the book.” << endl;

}else if (bookPrice < 100)
{

cout << “I buy 3 copies of the book.” << endl;

}

}

=========================================================

if ..u . cu . && operator or ..O u. r ce.u , bookPrice : o.. zcc O o:c,.c .uu e: ¡¯c
O,:c,.c .uu cc.e. erec . ou. bookPrice : o.. o,u eu zcc :. ¡¯c ouc c,. ee... -,ec .
bookPrice o.. Ou s¯, zcc O o: u. u ¡¯c O O:. O,: eu.Ou u e. cc. O,u cout O..u.
r..u.r eu.Ou -O c,:,cc.. e..c. o,u operator or && u e. cc.e. rcu oOeO. ecr. eu.
O. .u. .

. c.O e..c. o,u else if .. u bookPrice o.. o,u eu ¡¯c u ¡cc u ouc c,. cc.e.eO . o.u eu.
eu.Ou e:.u . c. O euOu oOe O.eO else…if .. u bookPrice ¡cc O o:c,. -,ec . e.. eu. Ou
u e. o. uc o,u cout O..u. r..u.r eO. e.ue. ~:u O,:eO:u .- r..u.r rce:.u print
Oueu euO,u oOeO.eO else if u c o,u cout O..u. c.<. e.ece, eu.c. .,u.O o,u oOeO.
.<u O,:Ou OOc o. oOeO. .<uO ouc,c else if statements .<uru o. oOeO. e.. rO.u
rc .u..



Looping Statements

ecOu ¬<e. Programming control statements Oc.. Oueu Looping statements .. Looping
statements ~e.u. ec:. oc c,u ecc cc.<r O,:eO:ur ecr. -c. .

e.. O,:eO:u r ..rcu eu e. o.r.c.O. : oc Oeu O,:eO:uO re.. e-..u.r o..r
e,c.. . u.. oO O O,:eO:u e.. e-..O cc .e.rc, o. ¡cc :. zcc ouc e-..Or eu.eO. u.
o: o.. eOuerO cr rc.. ou., e-..O zcc O O,: u. o: o.. zcc crO. o: rcu ouc, o.
¡cc O o:u. o: o.. ¡cc crO. ~:c c... eOuu Ocu Ocu rOe:.u , O,:eO:u Oeu oc
ec.u e-..O u .. u cc.e.rO o,u c rc :,r Ouee eOue rc. . eree c oc e.O,u
O,:eO:ur e.cueu¯ o. ~u..u ecc..

e c rc. u ec Ou eu e. O.. : (¡) O,:eO:u Oeu oc ecu c-u e-..O cc .e. rc, o. ¡cc O
o: c, oee u,u u. zcc O O,: c,. .uu u c<. rc .u. . (z) e-..eO o.. ¡cc O o: u., o.
¡cc Ouu c, o: o.. eu.r:O. ~:c c,.. .u.. (+) e-..eO o.. zcc O O,: u., o. zcc Ouuc,
o: o.. eu.r:O. c:c c,. . . u. . oc Looping statements ..O u.O .ueu e.O,u rO. u
ecrc.u oOeO.Occ.. c:u, while u,.,u looping statement or o...ce.u e.. ecrcu o.r.c.
c,reO .


while - statement

while ..u ecrcueu, re.. uuO.r e,cecu u.r, ouc ouuc.u Ou cc.<r eru u,Ou
u,Ou r..u.r rcO... e.:c u,Ou if statement or r..rc o.r.c. e:.O u.. .uu. if .. u
ecOe. r e.. uuO.r e,cec u. orOcr c.<r u.. u c o,u eru.u r..u.r rcO ...
u.u while O,u looping statements ..u ecOueu r e.. uu O.r eu. Ou eur eru.u
eu.uOuO. u,Ou u,Ouu r..u.r rc...

36
c,u oc ~:u ec:u rc O,:eO:u while ..u ereueu ereec,. -c.:

===========================================

// while.cpp

#include<iostream.h>

void main()
{
int number=0;
cout<<"Enter a number: ";
cin>> number;

while(number<100)
{
number++;
cout<<number<<“, “;
}

while(number>200)
{
number--;
cout<<number<<“, “;
}

cout<<number<<endl;
}

======================================

~:u O,:eO:eu c cc. eOu , cout :. cin ..u oc number u,.,u variable or u cO o..r o,uc
rc. . (cout ..u e cOueu re.. cuu.r console or .uO output r c . O ee, cin .. u
erecu eu oc console or .uO type rcu re.. cuu.r O,:eO:u ucO o.c.u. rc ... ~:u
o. o,uc Oueu number u cO.. cout ..O u. r c e. c o e.. oc “ << ” cr< e..c. . cin ..Ou.
rce.c oc o. ~cce.u e.c. .u Oueu “ >> “ cr<..) c,u .-O while statements z r c,r.
:,r. cc. O,u euu cc .e. erecu eu number : o.. ¡cc o: c .uu. . o. eu..r u. , o.
while u c o,u er u. ouOcuO r ..u .r O . o,ce® . ou., number : o.. u,Ou u,Ouu ¡ -,.u
~:c .. . e.. uOu ueu number = 100 O OO..

ecO,u while loop oru cc.e. rcueu number : o.. zcc O O:. O,:c .uu.. o. eu. u.,
while u c eru. ouOcuO r..u.r Oe.u number : o.. zcc crO. ~:c .u o,u. number :
o.. ¡cc u zcc u ouc u., while loops ecr u orr e:. r .. eu.rcu -O c,:,cc. . e..
O,:eO:u r..u.r rcuu. Terminal window or uc re.. e-..Or type rc enter key or
.-uu. oOO cin O..u. .- type rc e-..O number variable orO o.ec . rcu o,u. .- o.O ¡cc
O o: e-..Or e,c.Oe:.u ¡cc crO. o: o.. O,: Ou o.r.c.c, zcc O,: e-..Or e,c.Oe:.u
zcc crO. o: o.. o:Ou o.r.c.c, O,:eO:u ..u output rcu o,u.

(e.. O,:eO:eu: r ..u .r O . e:.c u c,r .,u .O u. o. debug rc r..u.r Oe. c.e.
..u rcu o.r.c. u,c.. .u .. Debug rc . cc-cO Appendix er.Oee: ec:u eO )


do…while - statement

ecO,u loops Oc.. Oueu e.... e.. or rc,<ru :,ecuuO while statement orO :c.O.
e..u.. ~:u cc.:c<.. Do… while ..u c. OO c:u ccc ceOu o,u:

================================

// Dowhile.cpp

37
#include<iostream.h>

void main()
{
int number=0;
cout<<"Enter a number: ";
cin>> number;

do
{
number++;
cout<<number<<", ";
}while(number<100);

do
{
number--;
cout<<number<<", ";
}while(number>200);

cout<<number<<endl;
}

================================

do… while : O..rc<. uc.r eOue -O .-O c,r . :,r. do… while : ecOueu e.ccO
cc. eOu do .Oeu o,u eru.u r..u.r O ... ou. cc. Ou O.ce.c while ..u cc.e. rc<
uuO. eu. OOu oeu. OOu do .Oeu o,u er u. ouO.c .e.u r ..u .r eO . ~u ce while :
cc.e.O ecOu ouc, o. oeu. OOe:.u loop or - c ... eu. O Oe:.u do u c o,u er u c .O.
r..u.r eO. e. ouO, ~:u while loops ..u cc.e. erecu uu O.u ..c. oeu. OOu, cc.
do statement or u cc e-..OO ¡r oru O o. print Ou o,u ouc, ecO,u do ..u o.u ¡r o: O
print Ou o,u. e.. ~:u oce. O,:eO:u ec:. ouc. ocO.r e:u r..Or eu.Ouu , o.u .-O
do… while r..rcu o.r.c. c.u :,r..


for - statement

for statement or or ouru while :. c. < oOeO.Or ece e,cr. :,r. for ..u e cOueu c
r e .. uu O.r e,c ecu uc, o .Oeu o,u cc.<r eru de ouOcu ece r..u.r rcO ...
u.u for : while O O:. .c erc< -Or o,u. c,u oc e.. for statement or r.. rcueu
eree c,. O .e. -c. .

================================

for(int i = 0; i < 10; i++)
{
// code…
}

================================

~:u u c,reOueu .-O e-.e:.OO c,r .O :,r o.r.ce. for – statement orr. o: Oc:u uc
er.Oe + r .-O c,r . :,r . . cc. er.Oe u int Oc.e. variable orr define O o,u. ecOu
er.Oe u o. variable oer: o.. re.. e-..OrO O:. o:c,. cc.e. eO. euO,u er.Oeu
variable oer: o.. ¡ ru ~:c u,eO. for r ..u .r Oueu e. er.Oe e .c c .. u .

c:u c,reOueu e.. r..u.r O . ec Ou o.r.c..:

for uc cc. O ecOueu i u,.,u int variable or define Oe.u o. c O e..u O... ~uceO <
operator or cce.. . rce.u i : o.. ¡c O O:. o:c,. cc.e. erec. o. ¡c O O:. o:u. cc.O
38
ecOueu i++ ..u i : o.. ¡ ru ~:c c,. .. . ou e. c,u i : o.. ¡ eO. c,u for .Oeu o,u
eru r..u.r O. o,ce.. eru e.cc orOcr r..u.r Oe.u ce u,Ou r..u.r Oe. c.e.
~:cO c,. e<. e. oOeO.eOc for Oeu u,Ouu i < 10 ..u i : o.. ¡c O o:c,. -c.. uO.u
o. ¡c O o:ue. i++ ..u u,Ouu i : o.. ¡r u ~:c uO. . c,u i = 2 -O .-O eceu . ~u
ouu c,O u,Ouu for : cc.<r eru.u r..u.r eO. e.ece u,Ou u,Ouu i : o.. ¡c O
o:u. o. ¡ru ~:c ...u, for .Oeu o,u eru r..u.r O .u eceO. e.. o,<:Oueu i = 10
Ou oOeO.eOc.. ou., i = 10 O r..u.r Oe. c.e. ~:cO o. OO, i < 10 .uu oeu. Ou u e.
i++ .u eru. r.. Oc:uO ... e.ue. ~uce i orr u O,: Ou eu u u,u, for .Oeu o,u
er u.u r ..u .r Oueu u u,u.

c,u e.. uOu c,:,c c rc .,u. c < ec for e: while ouc o,u e. -u.. OO:. .,u. c< ec,
while ..u c. O,:eO:ur u,Ou for ..u c.u c-ueu ereec,. cc.e. rc -c. . c:u
c,reOu eu while ..u c.u cc O,:eO:ur:

==============================================

// whileProg.cpp

#include<iostream.h>

void main()
{

int count = 0;
while(count < 20)
{
cout << “Go…” << endl;
count++;
}
cout << “Halt!” << endl;
}

========================================


~:u O,:eO:u r ..u.r rce:.u ” “Go…” .uu zc O.c.r print Ou Ou o,u. ~uce “Halt!”
.uu print eO . c,u e.. ecc O,:eO:u for statement or ..Ou. rc c.ueu ereec,. c,u
-c. . c:u c,r eOu eu e.. O,:eO:u. :

===================================================

// forProg.cpp

#include<iostream.h>

void main()
{
for(int count = 0; count < 20; count++)
{
cout << “Go…” << endl;
}
cout << “Halt…” << endl;
}

===================================================

~:u for ..u c .u cc O,:eO:uu e c Oueu c “Go…” .uu zc O.c.r print O, ~uce “Halt!”
.uu print O .. . c,u e.. O,:eO:u ecer: cr uO c,e-u eOue r. e..uO.c¯ cc. eOu ,
while e..c..uu. oOeO.eOc count - variable or define rc o,u eu eOu. orr.r ece.. u.u
for e..c..uu. oOeO.eOc o. for statement or u c., o: er.Oer ece define rc o,u. oe.u .
39
count : o.. ~:c u,O e.c c o. r.c .. ec O o,ueu for :. er.Oer ece.. oeeu. for .. u
e c rc o,u eu while ..u ecrc r.c..u orc.. rc or eO.u.rO .,u . -O rO :,r..

break & continue

break :. continue .u ..c ~:u .- c O e.c. Looping statements ucO ouuc.u rc. ec:.
e..c..,eu . e.O.e. r.c.. u. Looping statements c.cu. rc...

break : r.c .. u. Looping statement orr r..r.cuO. ouc .. uOuO. c,. ... e..O
cc.:c<.r ece, break statement or while u cO e..c. o,u ou c. c:u O,:eO:u u c,r eO :

====================================================

// break.cpp

#include<iostream.h>

void main()
{

int count = 0;
while(count < 20)
{
cout << “Go…” << endl;
count++;
if(count==5)
{
break;
}
}
cout << “Halt!” << endl;
}

=====================================================

~:u O,:eO:eu count=5 O OO if uc o,u break statement or r..u.r O while loop or - c ...
e. u e. Go… .uu print eOu o,u eu ¯ Ocr c.< . break statement or eu.u-<. u. Go…
.uu zc Ocr print Ou -O .-O c,:,c c..

continue statement or break statement oru .cr eOue eO . break .. u erecu eu loop oer:
r..O e.cc<e.u u,OuO. O ouc continue .. u erecu eu loop oer: c,uO eceO.u cOuu
r..u.r O e. O.c. c.<r ouc.. uOu O. cc. r..u.r Oe. O.c.O O,:eO:u r..u.r Oe.
c.e. c,uO ... e.. c:u O,:eO:uu c,:,cceO :

=======================================================

// continue.cpp

#include<iostream.h>

void main()
{
int count = 0;
while(count < 20)
{
count++;
if(count==5)
{
continue;
}
cout << "Go..." << endl;
}
40
cout << "Halt!" << endl;
}

=========================================================

~:uc, count=5 O OO if u c o,u continue statement or r..u.r Ou ouc, o.ue. o. O.ce.
while : r..u.r O. ouc.. o,< :O e.u cout << "Go..." << endl; er u. r ..u.r O .
orOcr ..:,c ... u.u continue .. u loop or - c c.ueu u,u u e., while c .O. r ..u .r
eO. e.ue. oOe.ue.c Go… .uu print O u e-u o,u eu ¡) Ocr . continue statement or
eu.u - <. u. Go… .uu zc Ocr print eO .













5. Functions



Functions .u e..uO.c,. .- oe.. u.u .- o. c,uO.u c,r o,u. .- ~:u cccecc
Occ c O main(), C++ : .-O :.eOu cc. :. c ..u function or. . u.u function orr oc ocO
crOu eu eree c¯

Function orr .u C++ c.<r eu.O eOuu e-.e:. cc.<r O,:eO:u Occ . c r r ..r.c
o rr.. . eOuu Ocu Oc u r.ue:.u functions eu..,u O C++ ..u cc.<r O,:eO:u cO.r
cc -cO e u . eu.:,r.. Function orr u c o:. Oueu cc.<r. cO. re.. r..Or rc.,u.
ec:. c.u cc cc.<r eru c,er. Function orr ..u re.. cc.<r eru c,er ec:.
o.Oc<.r e.c.. o. eru.u ..u e ceOu r.c.. ouO Functions oer: u. uc<. rcu
c,e-. . cc.:c<.r ece cc.<r uc. .u r e.. ec.r print rcuu.O cc.<r eru.u o:.
er.O u .Ou cc Function orr print u. u u. rc :,r. .- cO main u,.,u function or eOu
o. u. c,- o,u eu o. cc.<r O,:eO:ur cc. eOu. r..u.r Ou function or Ou e:.u.

Functions ..u cc.<r O,:eO:urO e c eOu ee O.u rc.r c,:,c cO c,r. :,r. :
41

¡. or Ocr c.u cc cc.<r er u.u u,Ou u,Ou ce..eu.O
.,ue. c:er. e,ce..

z. cc .<r O,:eO:ur er.Oe OcO e-c. eOu r c .. e. .. u
o. O,:eO:u cO. e: OO:. .,u. c:e eO.

oc c,u function orr .u r.rc,. :·u..,ue. cc. c .Oc ece o. c.Occ rc c.u cc ecc
cc.<r O,:eO:ur r.u o.r.c.r .uc,. O.e. -c. . c:u c,r eOu O,:eO:u cc.e. rc
-cu u. o. ~c c cu rc o,u eu .-O function orr r..rc< o.r.c. .,u ecc ece ecuO. c.O
c.<. oue. o: o,u e.c ec OO:. .,u .O cue.: eu.rcuu. Functions .,u Oeuc, oc c:u
O,:eO:u .,u e.rcc. r ce.u ouu c,O O,:c cOu ecr. -c. :

========================================================

// introToFunctions.cpp

#include<iostream.h>

void print();

void main()
{
print();
}

void print()
{
cout << “Hi! This is my 1
st
function.” << endl;
}

========================================================


oc variables .,u rO. rce.c, variable orr define rc.O ecc o. declare rc .u -O .- c O O..
(e. r ..O c c -cO .-e. .ur. . c: o,u u. rc,<.rc cc. cc c ec ce. c variables .Oeu ou
er.Oe e: z Ou cccecce.c int – data type .Oeu ou er.Oe u,Ou r .Ouu) e.. functions
ec:.c ec.cOu rc,<r. e.ue. variable orr e.u. function orr c declare rc ~uce define
rc . u. . Function orr cc.O declare rc e.u ecOueu oc O,:eO:u u c o. function or
c.Oc c rc.O .u -O cOe.u compiler .-c r...O o. :c u O.c ... oO O o. O,:eO:u compile
rce.u ..e.c, function declaration or :.O OO function or e.. rO. u rc.O c,u eOu o,u.
uOc, variable orr e.-u.e.u .- c O cc c . function orrcc declare e: define rc . orOc
ecrc :,r..

~:u O,:eO:eu c void print() .ueuu ecOueu e.. function or declare rce. r..O.. o:
definition or ec Ou eu main function orO c:c u o,u ,

void print()
{
cout << “Hi! This is my 1
st
function.” << endl;
}

.u er.Oe u . ou. , print function or ..u ec rc< r.c.. u c<. rc o.O u.. o..r ecueu
e.:c.. o. ecrc< r.c.. u., cout << “Hi! This is my 1
st
function.” << endl .u
er u. r ..u .r rcO . -O .-O eceuu o,u.

main() u cc print() ece function oer: u. ec:u O o,u -O .-O c,r . :,r. e.. function
call ece :,c u eO. o.u e c Oueu print function or r..u.r rcO ... e.OO print u c o,u
cc.<r eru.u r..u.r O. eceO. e.. ec Ou o.r.c. u,c.. ec:. .-, ~:u O,:eO:u
debug rc . o.c..rc, Visual C++ : step in e: step over .u r..r.c u O.u ..u O,:eO:u
42
r..u.r Ou oucceOc cc.e. rc .u .. (ec.eu: “Debug r c . e: Errors :·u..,u.” .u
er.Oe r.Oe.u e.. ec rc< o.r.c. .-O c.u :,r.). oOO main ucu o.c..Ou O,:eO:u
r..u.r O e. c.e. main u c o,u print : function call or eOu c,. < ou,u u print ucO
o,ucOu -O .- cru o,u. O,:eO:u r..u.r O e. c.e. print u c o,u er u. .u u ..u
rce.u ce o. u,Ou main ucO o.ce o,u c eOu o,u. e.O O Terminal window or ece .-
-,cOe:.u, o. u c “Hi! This is my 1
st
function.” .uu print O u e-u .- cru o,u. e.
ouO ~:u eceuu ccc, .- Oeu e.cu cc functions OcO o,u c O e. c ..u ec.cO O Ou eu main
function or. .

~:uc, function orr cc.<r O,:eO:ur u c . cr ece r..u.r Oueu ereec,. c,rO<..
c,u , functions .u e..uO.c,. O:.u cO -c. .

~:u .- c O cc c function orr ..O ue. oOe O. + r o,u.

1. Function declaration
2. Function definition
3. Function call – e...u ecOueu O,:eO:ur re.. eO.u.r o,u function orr, o.
O,:eO:eu: uOu e O.u.r e O (~:u O,:eO:eu: c u. main : eO) r..u.r
rcO ...


Function orr er.Oe + ru e.u O u.. c:u c,reOueu o. er.Oe + . .

1. Return type.
2. Function name.
3. Parameter list.

Function orr r,cr. ecOc .uu.rO e..u rc :,r. .- r,cr. ecOc.rO cuu o,uc rc OO
(input) o. .- o,u c rc cu u.u eOuer. OcO ..eu. rc, o.ce .-O cuu.r c-. ec.
(output). Function orr ..u ec Oueuc e.... o. cOuu cuu c-.e.u, o. cuu eOuer.
OcO ..eu. rc, o.. u c u Oc.r u ccO., o.ce cu u.u c O rc.. ~:u er.Oe u euu cc.
O,uu Ou Return type .ueuu, Function oeru cOrc< e.. cOcc cuue. cuu Oc.. crO..
ecO,u er.Oe u cr Ou eu function oer: u. -O .-O c,:,c c. . euO,u er.Oe Ou Parameter
list .u euu c,r eOueu function or, input or ece o. u cO c-. .uu. cu u.u.. u. u
Parameter list orr e:. Return type orr eu..,u e:Ou , input orr e:. output orr eu..,u
functions c e,c. :,r.. e. Oc.e. functions ..u re . cu u.r u.. u cO c-. eu..uu. ouc
r e . c O cc.r c OuO c-. eu.ec . oc ~:u u ecr. -,c oOeu O,:eO:eu: print function or
e.O,uur . o. e c rc or. ec. O e. Ocu ec c .r console window or .u print r c . c.< .





1. Function declaration

Function declaration orr .. u e cOu eu uO function orr compiler .-c r...O :c u O.c . -O .-
~:u eO.u.rc cOO.. oeeu. c,u oc ~:u Return type, Function name, Parameter list .u er.Oe
u euu . e.uOu O function declaration orr c .u eu eree c,. -c. . c:u c,r eOu eu oO,u
function declaration orrO cc.:c<.r :

========================================================

int add(int num1, int num2);

========================================================

43
c:u c,r eOu eu ~:u add function oer: declaration or, ~:u u .- c O er.Oe OcO e-c. o,u
o.r.c...


int add(int num1, int num2)



Return type Function name Parameter list



e.. function or output or ece c-. ecu cu ue.: Oc .. int .. e.. Return type .ueuu
c,reO . oe.u . o. num1 :. num2 .u int variables ..c input or ece c-. .u.. e.. parameter
list .ueuu c,reO. Parameter list ece oc e.u,u c ec:u rc o,u eu variables 2 r c.<r
u. u .-O r,.u .u,. variables .<uru .u parameter lists e:u functions e,c . :,r ..



2. Function definition

~:u function declaration orO oc.c function definition or c:u c,r eO :

===========================================================

int add(int num1, int num2) // function head
{ //
int addition = num1 + num2; // function body
return addition; //
}

===========================================================

add : function declaration oru add : definition or eOue Oueu ereec¯ cc. O o.O e.c
Oc:u ..cr oru O o,u. e.c Oc:u OO-u Ou eO.ue.u c,reOu eu add function oer:
o.c..r eO.u.. . u,ue:.u function or -cc,O,u O .O cOu .uu. e O.u.. . e.c Oc:u
O,eeu eO.ue.u function oer: -c c ec.. oOeuO ... Function or u c o:. O. .u e.cc
e.. Oc:u ouc ouuc.u O. .u.. e.. Oc:u ouc er.Oe function body .ueOu :,cueO.
e.: function declaration orO e..u ece c.. o,u ~:c. er.Oe function head ece :,cueO .
Function definition oer: function head or ouO.c.e.u. return type oruc parameter list oruc
function declaration orO e..u O. . u..

Function definition or uc ecOueu r.rc¯ .cu addition u. u variable orr e.c. o,u ouc
o.O parameter list oer: o,u variable ..ec: o..u e. oru O o.ec. rc o,u. ~uce return
u,.,u keyword or .-O cr uO c,e- . return : r.c .. u., o. ~cce. o,u variable oer: o..
function or u c OuO c-. c ... ou. function oeru c OuO cu u c Oc.u. rcu eu return keyword
or . .u. return r..u.r O.u e... function oer: r..Oc u.. O ...

u.u c,u function oeru return Ou o..O e c Oueu r .r c¯ e..O ccu c uO e..e:.ur u .-O
c,e-u o,u.


3. Function call

ecccc ec:u O ccc function orr r..u.r O. o.c.. Oueu function call ..u . c,u oc ~:u
add function orO main uc eO call rc< o.r.c. -c.:
44

========================================================

void main()
{
int result = add(10,2);
cout << result << endl;
}

========================================================

add : function call or, .-O eccc :.O print function oer: function call oru eOue ..r e.u
o,u o.r.c. eceu c¯ e.. call rc. ecOueu expression orr u cc.. e..u ecOueu add ..u
return rc< c-u o.. result u,.,u variable orO o.ec . O... function call or eceOu o.r.c.
-cuu. add ~c ce. o,u Oc:u u c e-.. ..cr ou uc .u.. e.. u. add function or ucO cu u
o,uc rce. ..c.... e.. parameter passing .ueOu :,c u eO . e.. e-.. ..c function
definition oer: num1 :. num2 .u parameters eOu o.ec . eO. . oO O add r..u.r Oe.u, o.
o..u . .ec: eeor.. Ou ¡z o.. addition variable or u c .-:. eO.. c,u return ..u ¡z o..
function or u cO erec . o. o.. main u c o,u result variable or c-. .u.. oOe.ue.c o. o..
print eO .

.- ~:u cO function declaration, definition e: call .u oOeO.Ou, or O,:eO:ur ece c:uu
ecc.eO. o,u:


========================================================

#include<iostream.h>

int add(int num1, int num2);

void main()
{
int result = add(10,2);
cout << result << endl;
}

int add(int num1, int num2)
{
int addition = num1 + num2;
return addition;
}

========================================================













45






6. Arrays



cc.<r O,:eO:u Occ, re.. cuu eccr e.. rO.u rc .O ec Ou oOeO.Ou .u eO.
cc.:c<.r ece eue. cu ¯ :c O.ue. o.ccu.O e. -u. cc.<r O,:eO:ur c O.O oO..
u. , o. o.c c u. o..u ¯ .-:. rc.,u.O e c eOu o,u. e.. r c . ec:. c:u cc c variables ¯ r
e,c.O eceOu o,u.

==========================================================

float humidMon = 3.3, humidTue = 3.12, humidWed = 2.99,
humidThu = 3.01, humidFri = 3.00, humidSat = 2.98,
humidSun = 2.91;

==========================================================

c,u e.. o..u c.O c c .O .,u .O oO.. O OO e.. variables oru or eOu eOu. ¯ Ocrc
..O u rc. u .. .-O eceuu cc c e. o.r.ce. or. .<e. cu u eccr e.. rO.u r c e. c
variables e-.eO o,u Ou ~:c... u e. .-O o O. ..O u. rce. oc:eu.O.uO .:<c.O ec eO.
e.. O:.u c,:,c c Oueu .-O rO. u r c .O e c eOu cu u c ..<. ~:c .uOO. . cc.:c<.r
ece ~:u ec:u O,:eO:eu: eu e. c u ¯ : c.<r eu.O Oeec cu +e¯ : . o.c c u.Ou .-:.
rc.,u .O e c Oe..,. e uu u. oO O rO.u .e- c.cue.u eu.cO ... o,ce. . r e eOrO
variables +e¯ r O,u O..c e-..Or e,c.O e:. oO,u variables e-..Or e.. eOueOu. rO. u
r c .O :,r ..Or u,u -O .-O O,Oe:u o,u. oee u. oc e.O,u O ..c cu u e-..Ou c.cu.
rcu eu eree c¯ oc Arrays c.Occ rcueu e. ec:...

Array orr .u or ec.c rc,<r :. e. -u. cu u eccr or er.O u ccOu c,- orr.r . eOcc
e,cr eue. cu :u ucc, or or cue. c,- < o.c..., e. ru u,O .r o,u . u Oc u.
c,.e uOr, r:re.r re.. r:.Or rc O.c .<euc c-..u cr< Oc o...u, O,u cuu
Arrays u c .-:. rc:,r ec ec:. cc.:c<.u.. Array orr uc .-:. rc o,u e,. cuu.rO.
eO.u.r e:Ou index number orr o,u. .-O Array orr u cO ocu cuu o,uc rc :,r.
(cc.:c<.r ece o.:.c OOeO. c,OrO uOu or o.:.c.r u.r or rc . ecruu). u e-u cu u
eOue rc:,r. (u. c,.euOr re.. eO.u.r o,u u.r eOue r c . ecru u). re..
cuu.r ~Ou rc c,. . :,r. (.e- . u cue. e-mail c c u c,. e ueOu or oe.r e. c cu.r
~Ou rc c,. . ecruu). e. e,.ec.r . e c rc.O .- ~:u ec:u rc, oc.c cuue. index
number or c,u.u .u .. Index number or .. u e crcu eu oc.c cu u. e.. Array or
..c .e.u e.-u..r o,u rc... Arrays e.. rO. u rc . e-.e:.OO c:e.. oeeu., Arrays
cc -c u..e< r rc,< e.u,u e O ecr. -,c . oc®. .

Arrays cc-cO rO. rc e.c c..u oOeO. +r ecr. -,c. .u.:

1. Arrays uccO.

c:u c,r eOu eu array orr e,ce.c e:Ou define rce. c ..Ou rc< O..rc<...

===========================================================

data type array name [length] = { data 0, data 1, data 2, ...... }
46

===========================================================

~:u .-O eceuu cc c array orr define rce.c c cc. O e.ecueu o: o:. Ou cuu OcO
.,cecu data type or.. ecOuO array oer: u. e.ec. euOuOO :.Ou er.O Oc:u O,c.u ..
e.. er.O Oc:u u c e.c. .u eu array oer: length or e:Ou o: ..c u.O.. Array orr
..cu.O .u o. array oer: o,u cuu e-..O. . ~:uc c,r O eue. cu ¯ : o.c c u.O c c -c
cc.:c<e.c o. array oer: ..cu.O e:Ou length oer: o.. Oueu ¯ .. .rue.c.u array or
u c o.c c u. o..u ¯ r ouuc .u Ou -,O u . e.ue. o: c o. array or uc ..<. rce.c Oc:u
u c e.c . . u eu ¯ o.. .. e.ee oc array length or ec:u rc. u eu , compiler .-c r... O eu ,
e,c. .u array oer: ..c u.O c,u.u. u ue... ..c u.O c,u.u O O, compiler .-c r...O array
orO oO.. Ou .ur cc..O RAM u c u uO,cc O eOurc .u :,r . (oO..Ou . c RAM .ur
..c u.O ee....u eu array oer: o:. Ou cuu Oc .e. O ..cu O. e:Ou cu u Oc .e. bit
cc..O, array oer: o:. cuu e-..eOu O,:rce.u. o.cc u. cc.:c<e.c o,u eu int Oc.e.
cu u ¯ r u e. int : O..cuO. Ou 4 bit o.. 7 u O,:rc . u.. oO O o. array oer: O..cuO.
e:Ou size or ece 28 bit o.. c,e-. e.. array size .uu array oer: length or e.. cOcO.
eu..uu. array length .u array oer: o,u cuu e-..O Ou ouc size .u o. array or RAM
u cu eOurc.uu. .ur c ..<... . c.O “ = ” cr< e.c. ..u, oO.. Ou cuu.u array or
u cO o.ec . rc, array or define rc. eceO. e.:c e.c Oc:u ( {} ) ..O u. rc o,u -OO .-O
c,r. :,r .. e.c Oc:u c.Occ rc.O ec Oueu e.:c oc rO.u rcueu cuu orrO O:. O,:
e-..Or e.. O. e:ueOu. e.. e.c Oc:u uc oc array oer: .-:. rc . u cu u ou uc .u
rc. . ~:u eO:u ece -cu O O .-O c,r.u :,r uOu ec.r Ou eu e.c Oc:u u c o:.
cuu o.c.. Oueu c u -O. (data 0). ~uce oO. data 1, data2 ece ~:cO O,e:.. eOuu Ocu
Oc u r.ue:.u array orr index or o.c.. Oueu c eOu - ¡ u eu.eO . e. ouO array orr
cc. cuue.: index number or c Ou ouc ecO,ueu: index number or ¡ eO . euO,uu z eO .
Array orr length or e:Ou array oer: o:. rc :,r cuu e-..O ee....u :,r r..r u.
o: o,u oOeu cuu.O :. index number orO ¡r oru r c...

Array length = Last index number + 1

o ouO, oOeu cuue. index number or ¡c Ou array orr length or ¡¡ r eO, ou. o: cuu.u
¡¡ r .-:. rc :,reOu ouc o. array or define r c e. c .- o: er.O Oc:u u cO e.c. . u
o.. ¡¡ Ou o,u.

~:u r rc,< uOu o.cru rOe:.u : Length or ¡c Ou Array orr ccc . index number or )
Ou ouc o: .-:. rc :,r ccc. cu u e-..O ¡c r.

~:u array oer: e.c Oc:u u c o,u cuu oru or eOu rc o,u eu er... Oc u -O u c .e<.
rcuu. Array orr o..u z r ouc er... e.c .O e,.O O. .ur u-. .uu.



Array orr o:. cu u e: oO.e. memory addresses

Array orr cu u o:. Ou eu or eccrO -Oc o O. orr c O ce ueOrr O.e.u eO..u.O
o,u -Oc .- ~:uc c OO.. e.. cu u, orrO ce O ueOrr O.e.u define rcu cc variables
eccrO e..ueO. u. u array or ..u e.. variable ecc or o rr.rO e..u rc o,u ue. o.
.u,. variable orrO array oer: index number or ..u c.. O.O :,r..O e,ce o,u. Array
orr u c o,u variables eccr RAM .ur. u c o,u euc or eccr O.e.u oreurO
e. ce.u . . e.u e.. o. cu u.u e. memory addresses c,r eOu hexadecimal e-..Ou c oreurO
e-.e:. ee e..ueO . (e.. cu u ecc e..u Oueu e,-, ec.re. o,u u O.e eccrO..
or eurO cO ~c rc o,u u O.e Oc c c u.u eOue Ou eu e c O.e.u ). or eccrO o,u cu u
e:Ou variables ecrr memory addresses oreuru eOue Oueu o. variables o.u data type
oer: O..cuO.O e..u o..ru. cc.:c<.r ece array orr uc or c.u o,u num1 e:
num2 u,.,u int variables ecrr ecruu. num1 : memory address or cr Ou hexadecimal e-..O
47
0012FF70 .u o.. .,. euuu. int cu u Oc.e. variable orr O ..cu O. 4 bit u e. num2 variable
oer: address or num1 : address oru eOue Oueu ! ru. ou., o: address or O . . u eu ,
0012FF70 o..O !r or rce.u c,e-u 0012FF74 .u o... . e.ece u ., array oer: cc.O
num3 u. u uOu variable orr o,uu., o: address or O .. u eu 0012FF74 o..O ! r or
r c e.u c,e-u 0012FF78 .u e-..O..


2. Array orr ouuc.u o..u c-..,u.

Array orr o,u re.. o..r c-..,u.O c O.e.u, o. o.e.: index number or c,u.u . u..
Index number or cuu. OO int array orru o..r c-..,u.O ..Ou. rc< O..rc< O.. c:u
c,reO :


===============================================

int value = arrayname[index number];

===============================================

~:u, value u,.,u int variable orO array oer: index number u. u c,r eOu e O.ue. o,u o..
o.ec. eO. Index number or o,u c rc . u eu array oer: u.O ~cce. o,u er.O Oc:u u c -O
uc.e<. rcuu.


3. Array orrO o..u o,uc rc.

e.. ~:u r ..OO O c,c . oOe O.O. . c:u u o. c,r eO :

===============================================

int value = 10;
arrayname[index number] = value;

===============================================

~:uc, value : o.. array oer: index number .ueOu c,r eOu e O.u.O o.ec .eO.

Arrays e.-u.e.u ~:u c,rO r..Ou z r c.e...rO ecuO.ecu cc.<r O,:eO:ur c:u
c,reO :




===============================================

#include<iostream.h>

void main()
{
int numbers[10];

for(int x=0; x<10; x++){
numbers[x] = x;
}

for(int y=0; y<10; y++){
cout<< numbers[y] << endl;
}

48
}

===============================================

O,:eO:eu: cc. O number u,.,u ..cu.O ¡c r Ou array orr define rc o,u. e. u e. e..
array oru c .-:. rc :,r cu u Oc ccc . index number or Ou eu ) -O .-O eceu .
oeeOueu ecc r. ccc array index or o.c. .Oueu c e O ue... o.ec .e. c for u c index
number or ece ..Ou. rc o,u eu x : o... . o.ec .Ou eu c x : o...:

numbers[x] = x;

for loop or r..u.r Oe.c array orO c eO ) cr O. o..u ¡c o.ec.eO. index 0 eO.u.O
o.ec .Oueu c . . index 1 e O.u.O o.ec.Oueu ¡ .. oOe.ue. index 9 e O.u.O o.ec.Oueu )
. :

numbers[0] = 0;
numbers[1] = 1;
....
....
numbers[9] = 9;


ecO,u for loop or index number or ece y ..Ou. rc array oer: o,u cu u c-.e.u .u o O.
console window or .u print rc.. O,:eO:u r..u.r rcOO c,e-ueu c:u c,reOu o.r.ce.
output orr .

====================================

0
1
2
3
4
5
6
7
8
9
Press any key to continue

====================================

~:u ece index numbers .. u array orr ouuc .u cuu e.. rO.u rc . “Array indexing”
ece :,cueO.

~:u O,:eO:eu: o..u o.ec.. for loop orr ..Ou eu.rc :eO e.c Oc:u ..Oue.u
e c rce:.u o. c:u o.r.c. .u. :

===============================================

#include<iostream.h>

void main()
{
int numbers[10] = {0,1,2,3,4,5,6,7,8,9};

for(int y=0; y<10; y++){
cout<< numbers[y] << endl;
}

}

49
===============================================



char arrays

char array orr .u characters Oc u e,cu array orr.. e. .,u O e. ee.u rO. rc e. e: u O u.
char arrays Oc O e.e c e..eu.r u - .. . eccc , strings ..Ou.Oueu characters e.:.ru e,c
character ecc, u,uu. O.r..u .-:. rc .O -O .- c O O.. char array orr .u e.. string data
type orO o.ec .r.r . uO,cc O. rOe:.u string orr o,ueuu. e,c o,ueu char array orr
..u. u.u e.. ec Oueu ocO eu.eceuu eceu. cc.:c<.r ece .- c:u c,reOu string
or uc..<. rc. .,. euuu.


string message = “System error!”;


~:u message string or .u c:u c,r eOu message char array or. Ou o,u:

char message[13] = {‘S’, ‘y’, ‘s’, ‘t’, ‘e’, ‘m’, ‘ ’, ‘e’, ‘r’, ‘r’, ‘o’, ‘r’,
‘!’};


Array oer: “System” :. “error!” .u Ocu -< : ..c ouc : :,e u-. o,u eu : e character orr
..u -O uc.e<. rcuu. u.u char array orr e,c.O, O:. c:e, u O,cc r..r o,u. c:u
c,reOu eu e...:

char message[] = "System error!";

o: c e.c Oc:u ~Ou O o,u ouc, eOu eOu. characters eccr eOu OO :e O. text string orr
array orO o.ec . rc o,u. uOc array oer: ..cu.O crOu er.O Oc:u u c e-..Or ec:uO
eu..,u. ou. , e.ece char array orr e,c e.c oc o: ..cu.O ec:u rc.u u,u. char arrays
e. -u . uOu c.e<.r u e- . oc System error! .uu array orO o.ec. rc O O, o. text string or
oOe.uOu u,uO or e O.u.rO .- e-u ~e- . : e character orr o.ec .eO . ou. ‘ ! ’ o,u
e O.u.O .-e-u e.. : e character or array or u c u,u cu eO . e.: c e.. eu. u. , o.. u
array oru c o,u text string or u.Ou eO.u. :·u..,u.O c:e O... e.. :e character or
:,cueOueu “null character” u,uu. “null terminator” .u u. u . e.. :·u..,u e. cr < ‘
\0 ’ eO.

u. u .-O o,u,. O O u,e.u c . <.r Ou o,u eu , string e: char arrays .ueOu e..u or.ce.
data type ecrr e,c.O e:uOeu r.rc .uu.. C++ .u C cc.<r ....eO r:. ee.e:.. c...
ou., C++ u ccO. o,ueu C ....O ccu. O.e.u u-.e.u.. char arrays .u .c C uc..cr..
Oeu text strings .-:. rc. c<e uc..<. rcu cc data type or.. u. u char arrays : ..Oue.
o,u oc:e -O cO ce r.cu C++ uc..cr.. Oeu string .u data type or text strings e.. rO. u
rc. c:e rc. ec:. :cuO. c ueu.. u.u .: C u c u - char arrays ..O u. C++ u cc
u e-u uO :,c e...

c:u O,:eO:uu c,reOu eu char array orr e.cu o.r.c. :. o: null character or ..Ou. rc
o,u o.r.c.. :

===============================================

// char array.cpp

#include <iostream.h>

void main()
{
50
char message[] = "Thank you!";
int i = 0;
while(message[i] != '\0')
{
cout << message[i];
i++;
}
cout<<endl;
}

===============================================

~:u O,:eO:eu: “Thank you” .u o.e.u .u char array orr e.c. o,u ouc o: o,u
text string or while loop orr ..Ou. rc array indexing .. u print rc o,u. while .. u
text string oer: oOe.u. ec:. cc.e. rc o,u o.r.c. -cuu:

while(message[i] != '\0')

message array oruc .. eO.u.rc null terminator or :.Ou OO, loop or -ce..e
“Thank you!” .uu print rc. u O,:eO:u u..OO cu O . e c Ou -O .-O eceuu o,u.
e.ece null terminator or ..u char array orr oOeu Ou eO.u. ee... .u :,r..







7. Pointers



oc variables ..Ou. rc cc.<r O,:eO:u c.u o.r.c. ~:uc ecr. -,ceO. . variables
..Ou. rcueu cc.<r .ure. o,u re.. cuu.r ue.. eu. rc. ec:. -O o:c cO. .
pointers ..Ou. rcueuc e. r.c<.O... u.u or O,c.u eOuer pointers e: variables ouc
o,u.

e.. eOue r. r .r c,. :cu..uuO u. variables :,eecu eO..O. c,:,cc rc.u . u ..
variables : eO..O. c,:,cc rc.u :,r e:.c. o.r.c.r u., u. argument or ece variable
orr c-..uu. function orr c c-cO ecr. -,c.. . c:u c,r eOu O,:eO:u ece -cu u:

========================================================

//usingVariables.cpp

#include<iostream.h>

void change(int dat);

void main()
{
int data = 100;
51
change(data);
cout << data << endl;
}

void change(int dat)
{
dat = 200;
}

========================================================

~:u O,:eO:eu: c,r eOu change u,.,u function or u e c Oueu , o. argument or ece
c-..uu. variable oer: o.. eOue rc eOuu o..r o.O o.ec. rc... cc. O, main function
or u c o.. 100 r Ou data u,.,u variable orr uu. o,u ouc e.. variable or change ucO
pass rc o,u. c,u, change function or ..u o. pass rc o.. 200 -OO eOue rcu -O .-O
c,r. :,r.. .- e.. O,:eO:u r..u.r rce:.u main : cout .. u print rcu eu ¡cc -O
c,r.u :,r. ou. , change function or, data .. u o.O pass rc o.. eOuerO cr rc. .,. r..,
data : o.. eOue Oe. u,u. e..O e: uO c,r.,u .O u. , function orr u cO variable orr
pass rcu O O e c Ou eu r.r c,. ee...-,c. . u..

Function orr ucO re.. variable orr pass rcu OO ecOu cc. Ou ec. u. RAM .ur. u c
o,u o. variable oer: oucOcur RAM uc uc..<. O... ~uce, function or ucO o.. pass
O. ec eO. u.u o.. ece pass Oueu ~:u u ccOu .c cu ue. ou c Ocu.. - e,-, .c cu u.
eu.eO . e.ue. function or o. cu ue. o.. eOue rcc eOueO cr Ou eu o. ouc Oceu:
o.. c.<. . ~:u O,:eO:euu c-.ecu c O cc.O e: u O ~:u r . r ..O. . change function or
c-..ueu data variable or eu.O o: oucOcur. e.. oucOcu u. dat variable or.. e.ue.
o. ..u eOue rcueu dat : o.... data variable oer: o.. eOuerO ..eu. eu.O ¡cc
ece. cOu ..

.- ~:u r.O rc,<u variables e.-u. c..u c.e<.r ou.Oc<. eO. o. u. variables .. u
cc .<r cu u OcO ec.u o.c.e.O. . .- e..e:.urO ecc c O cc c , variables c.<r ..O u.O
.uu. function orrO cc.<re. o,u cuu e.. :eO rO.u rc e. :,r..Or eu..,u. o.O
e,.OO. r ..rc.O e cOueu cuu Oc oucOcu e.... e.ue. function orrO cc .<r. u c
o,u e,-, cu u e.. e u Or r c .O eu.:,r .. e.. cu u e.. “eu Or rc.O” o,u eu.:,r ..O
ue. variables ..O ue.u c.<r r e eOu O virus e: worms O,u O,:eO:u uc..<. rc.O
eu.:,rO o,u. (virus e: worms .u, oOec.r u eu.cO r e.. ereur O o.u cc .<r.r o,u
cuu eOue rce., .r.c,.e. e:. eOuu re.. ouOec cc.<r r..Or ecrce. :,r..O o,u
cc .<r O,:eOu.). u.u rOecr e:. variables c.<r ..Oue.u cc.<r O,:eO:u c.. u.
.:O cc.<re. cu u e.. :e e.-u.u.u.Or c,O,u O.O variables ..u ~: eu.e,ce .
e:ueOu .:O C++ O,u cc.<r ....Oru u.. c e..eu. .,u .O eu.:,r O ...

~:u ec:u, Variables e.-u.e.u o,u e.. e . u -eOu .c . ec:. C++ u c o,u o rr. Ou eu
pointer .. Pointers ..u .-O variables ..u ~: eu.c,e-u e.cc rce. oOeO.O c-.ec.
oe.u. pointers e:u eOu, variables ..u cc.<r cuu ec:. e.ecu o.c.er rec.c ~Ou O ...

oc e.u,u e O pointers :,eecu eO..O. OO:..,u .O cue.: .u..

Pointers Oc r..O u. cc.<r cuu eOu :eO e.-u.O. -O .- e..e:.urO ecc r.OO..
e,-, ec.re. c re.. cc.ce.r e.. re.. e.-u .u.Or c,O,u O.O u. ec.O u c .: e Ou
e O.u. c O.e.u ee....u . u .. e.ee ., cc .<r cu u :. e. -u .u.Or c,O,u O .Oc, cc.O
oc o. cuu RAM .ur. u c c : O e O.u ee....u . u.. u. u e.. e O.u oc ee....u eu
eree c¯

e.. ec.eu: . c ...e.c , cc.<re. cu u o:. Oueu RAM u c -Oc, o: o:. cu u OcO
ccu.u e:Ou memory addresses o,u -Oc ec:u O< . (e.. .e- .ure.u .c: o,uu.
rc,<.rc u,Ou “RAM” u,.,u er.Oe r.Ouu). re.. cc.c.r eOuOu eO.u. ee....,u.O
.:e. u,c,c c c u. c.O c c .O .u:,r ee cc .<r cu u o,u e O.u ee....,u .Oc ~:u r .
52
oO.e. “.ur c cu” e:Ou memory addresses ..Ou. rc :,r.. cc.<r O,:eO:urc, re..
variable orr ..u ue..eu. erecu cuu.r memory address or c-..,u. ~u. c:e. .
Pointers e. -u .O rc,< zr ecr. -c. u oc e. .,u rO. rc. .





¡. cc .<r cu u.r memory address or c-..,u.

Variable orr u.O ecc ‘&’ cr < e.c e.u .-O o. variable or u e..eu. rcu cuue.
c c u. c,e- . c:u c,r eOu eu e... :




=======================================================

#include<iostream.h>

void main()
{

int data = 100;
cout<< &data << endl;

}

========================================================

~:u, cout O..u. o:. ecce.: data : u.O ~c ce.u ‘&’ cr < e..c. o,u. o.u c,e-u eu
data : memory address or e:Ou data u,.,u variable or, RAM u c c : O e O.ue. c cu.. . .-
e.. O,:eO:u r ..u.r rec.u c:u O,u c:ee. c.ce. e:Ou hexadecimal ¬<.O o.u
e-..Or print eOu cruO c,e-O. (.-O c,e-ueu eOue o..r O.:,r .. u.u e.: c
u c.e<. rc. u ec. u. e.. memory address oer: e O..O... o. :,.OO. hexadecimal
Oc.e. e-..Or.)

=========

0012FF7C

=========


z. Pointer orr declare r c . e: memory address orr o.ec. rc. ..u o. pointer or define
r c..

Variable orr u c .-:. rc :,r er r e.. o..r O ee ., pointer orr .-:. rc :,rer
memory address orr. oc “cuu Oc..u” u,.,u cccecce.c rO.rc o.r.c.O, cc.<r
cu u.u, int, char O,u cu u Oc . OcO e-ecu u e. o O.e. addresses .-:. rc .O u,u. . u eu c
oc.c cuu Oc..O o.u pointers .. e. u e. ocO int pointer, char pointer, string pointer o.c. cc-c
rO. rc.O eceO. Pointer orr u c ..<.O e:Ou declare r c. ec:. Ou eru.c or rc,<ru
:,ecuuO variable declaration oOe O.eO c e.ecu er u.O e-.e:. e..u. . eOue u. pointer
declaration :c pointer oer: u.O ~cce.u ‘ * ’ (asterisk) ecr< e.c.O oO.. O ... c:uu
c,reOu eu e.ece int Oc.e. pointer orr declare rc o,u o.r.c..:


========================================================

53
int *p;

========================================================

e. ouO, p .u int pointer orr ece :,cueO.

c,u oc p pointer or declare rc o,u ue. .c.O o. define rc . u. (ou. , pointer orO o..r
o.ec . er.O o: c,O,u . cc .<r .ur. u c e O c rc . u.). Pointers u c .-:. rc:,r er
memory addresses O. u e. pointer defenition oOe O.eO c oc o.O o.ec. rc. u eu memory address
orr eO . c:uu c,r eOu eu e...:

========================================================

int *p;

int dat = 120;
p = &dat;

========================================================

~:u, dat u.u int variable orr define rc o,u ouc u u O,u ecec:c ‘&’ ..Ou. r c e.u dat :
address or p pointer orO o.ec . rc o,u. e.: c .- u c .e<. rc . u c ..u ec.r u.
o.ec .e.c pointer or (p) ~cce.u ‘ * ’ ecr< eu.e.ecu -O.. Pointer or :ecr p ece ..Ou.
rc o,u. e. ouO, pointer orr define rcu O O o.O ‘ * ’ cr < e.ecu eu u,u.

c,u p u c address orr .-:. O o,u u e. ocO o. address orO oc.c cuu. e.. p pointer or
..c .e.u :eO e.-u. O. :,r. ou. e. oOeO.eOc, p pointer or, dat e.. dat : memory
address or ..c.e.u :eO e.-u.O o,u. c,u ocO p .. u, dat : o.. c-..,u. O,u ec ecrc
:,r. c:u c,reOu eu o. ecrcu o.r.c.. :


========================================================

int *p;

int dat = 120;
p = &dat;

int number;
number = *p;
cout << number << endl;

========================================================


~:u O,:eO:euc , number u,.,u int variable orr u.O. o,u ouc, number = *p .u eru.
.. u e c Oueu number u cO dat : o.. o,u c O... e.:c p pointer or, dat eOu OO o.ec .r.r
ece r..rc.. ou., number = *p .u eru. eOuOO number = dat .uu e.c Oe:.u
e c Oueu c or. ec. Ou number eOu dat : o.. o.ec. O... e.. ec Oueu p u c .-:.O o,u
dat : memory address or u e... Pointer oer: r.c.. u. o. uc o,u e.. address or ..O u.
er.O o. address or :. cuu. e.. e.-u..r o,u rc.. (e:Ou point rc ... Pointer orO o.
u. c,- o,u eu e. e:ueOu). e.:c u,Ou, p ..Ou. Oueu ‘ * ’ (asterisk) cr< e.. -O .-O
eceuu o,u. number = *p .u er ue. *p .. u dat : o.. c-. ec.. e.ue. c,u number u c
o,u eu c cout .. u print Oueuc ¡zc o....

~:u c,rO pointer or declare rc., pointer orO memory address orr o.ec. rc define rc., e:
pointer or ..u oc.c o..u c-..,u. .u oOeO. u euu, pointer or e.. ‘ * ’ (asterisk) cr<
..Ou. Oueu cc. :. euOu oOe O. Occ c.<r -O .-O c,r. :,r. Pointer definition :
o.ec .e.c ‘ * ’ ecr< ..Ou. Oueu u,u.

54
c,u , e. OuO O .u,. o.c..re.r O e.u . .-Oc :,e.u o,u eu e.. pointers ..Oue. c
e..c..uu. O..rc<(syntax) .c u .c er c < -OO cu Ou -O. . e. u e. e.. O..rc< e: u-.
.,u e. r..r O.e.u, c:u, pointer syntax c,reOu eO:u .-O ~c c cu erec . o. eO:u
er.c.r c.. .e- cc .<r. oec - u u e. ocO. .uu. o: o,u O..rc< .e- o,eO : c,Ou u c,
o.O - u u e. oc c e O.O ~: :cuu.



int i = 10, j; // int variables

int *ip; // int pointer

ip = &i; // int variable oer: address or int pointer orO o.ec.
// r c.

j = *ip; // int pointer oer: o:. address or :. int variable
// oer: o.. ( j ucO) c-..,u.

*ip = 20; // int pointer oer: o:. address or :. int variable
// oer: (i :) o.. (zc -OO) eOue rc .



~:u c,r O e. pointers :. e.-u. O..rc< Ocu er.Oer c.< . ~uc rc,< e. oOeO.eOc oc
e.rcc. rc.O eu....

e. OuOO oc O .e. -c. oOeu rec pointers ..Ou. rc cu u eOu :e O c..O e. . c r
r..Oc... u.u pointers : u.. r ..r.c uO. c,r .O u. oc pointers ..Ou. rc c.u c,-
function orr rOc.r.cc,. cc.e. rc -,c. .u .. e. ec:., oc oOe.u.O ecr. -,c change
u,.,u function or o:. usingVariables .ueOu :,cuO< O,:eO:u pointers ..O ue.u
u,Ou ere. c:u u ~cccu rc o,u:


========================================================

//usingPointers.cpp

#include<iostream.h>

void change(int *dat);

void main()
{
int data = 100;
change(&data);
cout << data << endl;
}

void change(int *dat)
{
*dat = 200;
}

========================================================

~:u usingPointers u,.,u O,:eO:u c c -c rO. r c .O cc. O, oc pointers ..O u. eu.rc c .u
cc usingVariables O,:eO:eu: e c O e. r.rc,. ~r.u u u,Ou O .e. -c. . rc,<.rc c,u
o. O,:eO:u o,u cO OO o.ce e..e u,OuOcr o. cc -c .ur. ocu rc.uu.

55
o:c change u,.,u function or data : o.. u. argument or ece c-..uu. ouc o: o..
eOue rc.. u.u Function or u cO pass Oueu data : oucOcur c.<r ue. . c data variable
oer: o.. eOueO.rO cr eu.eO. e.ue. main u c o,u cout O ..u. ..u print Oueu ¡cc
o.... . c,u oc ~:u c,r eOu usingPointers u,.,u O,:eO:u ece euu e... rce:.u , o: c
change function or u. argument or ece c-..ueu variable orr eu.O pointer orr -O .-O
eceuu o,u . e.. .-O change : function declaration oer:c change : Oc:u u c o,u int *dat
.ueuu c,:,cceO.



==========================

void change(int *dat);

==========================

ou., oc change function orO pass rc. u eu memory address orr. e.. ecrc o,u o.r.c. main
function oruc c,r. :,r. cc.O data u,.,u int variable orr e.c. o,u ouc ~uce o: address
or pass rc.u change eOu call rc o,u.

==========================

change(&data);

==========================

change uc ecOueu r.rc¯ change function or, *dat = 200 .u er u. .. u , dat u c o,u
address or :. data u,.,u variable or eOu c..O o: o.. u c<.u.r ece eOue rc.. e..
variable orrO rc :,r ec.r eu.Ou ouc pointer orr :,ece. c..u c.e<. e.... o ouO
oOe.ue.c cout .. u data : o.. print rcu o,ueu ¡cc eu.O zcc..


Arrays ec:. pointers

Arrays .u e..uO.c,. .- “Arrays” cc cec ce. c ~e.u.u u.. .- c.u e.. arrays ec:. pointers
e,c. cc-cO c,u ecr. -c..

re.. array orrO pointer orr e,cOO o. pointer or ..O u. er.O array oru c o,u e.c
cu u.u e.. e. -u . O. :,r. . Array orr ec:. pointers e,c. eco.r.c.rO ecrc :,r. c:u
c,reOu eu e.. o.r.cecr ..O u.er.O, int array orr ec:. pointers ecrr e.c. o,u o.r.c...





Arrays ec:. pointers e,c .

=========================================

int numbers[5] = { 23, 32, 44, 68, 11 };
int* numberP1 = &numbers[0]; // (1)
int* numberP2 = numbers; // (2)

=========================================

(¡) oOe O.eOc e c Ou eu r .rc,. .-O o,u,. O O O,Oe:u o,u. o: c numberP1 u,.,u pointer or
define rc o,u ouc o.O numbers u. array oer: index 0 Ou e O.ue. o,u cu ue.: memory
56
address or o.ec. rc o,u. numbers[0] .ueuu index 0 Ou cuu. crOu ouc &numbers[0] .uu
..u o. cuue. memory address or c-.ec.

~:u c,r Oe. array pointer orr e,c e. cc. r ... . ou. , oc.c array oer: cuu Oc..O o.u
pointer orr e.c. o.O array or uc o,u cc. cu ue. address or o.O o.ec. rc...

(z) oOeO.eOc ecOueu r .rc¯ o:c, “&” e: Oc:u ~Ou rc o,u. o,u euu . e.:c e c Oueu c
(¡) oOeO.eOc ecO ec.... ou. numberP2 .u pointer orO numbers array oer: cc. cuue.
address or o.ec .eO . e.. : ecr (¡) oOeO.eO e cOu ec.. eccO r c .r . e. u e. e..
eco.r.ce.u .- r,.,u o.r.c.r array pointers e,c e.c ou..u. rcuu.


Array pointer orr ce..eu.O .u.u array orr u c o,u cu u e.. rO. u r c .

arrays ec:. pointers e.cueu eree c,. .-O c,u O,Oe: . c,u oc ec.u. Ou eu o. e,c
pointers, arrays e. -u.e.u ..O u. rcu eu eree c,. ee... -,c .O. .

.- e..e:.urO ecc array pointer orr uccOu oOeO.eOc ecrec array oer: ¡O,u cuue.
address or o:. pointer orr uc..<. rc ... c,u .- c,u.u.u Oueu e.. pointer or ..u,
array oer: o,u oeuru cuu c-..,u., oO. eOue r. OcO cr rc . o.c ec ecrcu o.r.c.
cc-cO. . . cu. oc array orr z O,u cuu. e:Ou index 1 eO.ue. o,u variable or eOu array
pointer orr ..u cOeeu eu eree c,. -c. . c:u c,r eOu eu int array orr ec:. pointer orr
e,c oOeO.Or:

==================================================

#include<iostream.h>

void main()
{

int numbers[5] = { 23, 32, 44, 68, 11 };
int* number = numbers;
cout<< number << endl;

}

==================================================

.- c.u ccc c,u number u,.,u pointer oruc o:. Oueu numbers u,.,u array oer: cc.
cu u. (index 0) Ou z+ o.., RAM u c cOu u eO.ue. memory address or.. c,u ocO oO..
Oueu o. pointer or .. u array oer: z Ou cu u. eOu c O e .O. . e.. e c rcu eu eree c¯
oc rc.u ec. Oueu ~:u z+ o.. RAM : cOu u e O.u.O ce O o,u cu u. eOu pointer or
c ...u (point) rc ... oOO pointer or +z o.. eOu e. -u .Ou o,u. Pointer or uO,cc eO.u.O
c...u rc.O u. oc rc.u or. ec. Oueu pointer or u c o,u memory address or, +z o..
cOuu eO.ue. address orO e..u rc ... eOuu Ocu Ocu rOe:.u pointer or cc. cuu.
eOu “c,uu.” . u..

Array orr u c o:. cu u, RAM .ur. u c eO..u. o,u eu or eccr ece c. c.u O .
e: ueOu (“Arrays” cccecce. “Array orr o:. cuu e: oO.e. memory addresses” .u
er.Oee: e.. O e uc erc < ), e.. “c,uu.” ecrc . c:e ec.r O o,u. .- rc.ueu pointer
orO ¡r oru r c .. . c:u e.. ec rcu o.c, c,r eO:

==================================================

#include<iostream.h>

void main(){

57
int numbers[5] = { 23, 32, 44, 68, 11 };
int* number = numbers;

number++;
cout<< *number << endl;
}

==================================================

~:u, number pointer oer: o.. ¡ru ~:c c.. o,u ouc, e. e:ueOu o. array oer: z O,u
cu u. eOuO c ...uOu o,u. c,u cout ..u uO,cc ece. +z o.. print eOu O,:eO:u r..u .r
r c e. c .-O eceuu o,u. .-O array oer: . c. cuu. c-..,u.O oO.. u. ec rc . u eu
number : o.. uOu ¡ru ~:c c,. ... oOO o. u c ouuc.u Ou o,u eu !!: address or. .
e.ece .-O c-..,u.O oO.. cu u., array oer: c : O e O.u. ouO pointer oer: o.. ~:c
c,.. .u..

~:u .- c O eO pointer arithmatics ..Ou. rcu c,- e. or oOeO.Or. .- o:c pointer orr o..
eOue r ce.u array orr u c o,u cu u rc. c..eOu o.r.c. cO O.. c,u oc pointer arithmatics
..Ou. er.O ~:u ccc c-..uu. cc cuu.u e.., ecc .<u.. r.. ecrcu eu ereec,.
cc.e. rc -c. .

cc.:c<.r ece ~:u numbers u,.,u array oer: euOu cuue.: o.. !! eO ¯c crO. ~:c
c,.. .u.,. e u.. e.. ecrcu o.r.c. c:u ece c,rO. :,r:




==================================================

#include<iostream.h>

void main()
{

int numbers[5] = { 23, 32, 44, 68, 11 };
int* number = numbers;
number+=2;

cout<< *number << endl;

(*number)+=6;

cout<< *number << endl;

}

==================================================

cO.e.u ecOueu ecc ccc . number array or eOu pointer orr uccO . .. u -O .-O eceu .
~uce, pointer oer: o.. z ru ~:c c.. o,ueu o. array oer: euOu cu u. eOu e. -u .
r c . c< e.. . c .O o. cu ue. o.. Ou !! print eO . c,u , .-O :. Ou eu pointer arithmatics
..O u. r c e.u c.u c,- expression orr . o: Oc:u ..Ou. Ou -O .-O eceu(expression orrc
Oc:u ..Ou. cc-cO “Operators” cccec ce. ec:u O< ). e.. expression oer:c ecOueu
r .rc,. -c. .

*number+=6 .u o.r.c.O ~:u expression oer: Oc:u ~Ou er.O cOe:.u, precendence
u....u O ou O cc. O e c O. .ueu plus equal (+=) operator or, pointer (*) operator orO ecc
r..u.r O ... * operator or expression oer: . cu u - uc o. r..u.r O . .u Oueu +=
operator orO ceO.. o ouO, cc. O number : o..O e r oru Ou o,u. u. u .-O eceuu cc c
ocO oO.. .< u rc .. e.. eu.eO . e.. u e cOu or. ec.u. pointer or array oer: eO.u e
58
r ~cce.u Ou e O.u.O e.u..... ~uce o. eO.ue. o,u o.. print eOu o,u. c,u
expression or Oc:u e..c. c. OO e c Ou ec -cuu. * e: number ..c. Oc:u uc ouuc .u
r c . ..u (*number), expression oer: cc.O ecOu ec. ece, number pointer or eOu e.
e..e:.euc e.-u.O o,u o.. c-..,u. eceO. c,u += operator or r..u.r O o. c-..u
o..O e r oru eO . ou. !! eOu e r oruO array oer: o. eO.ue. o.. ¯c r -OO cu eO.
e.. O,:eO:eu ecO,u cout O..u. ..u u:Oc, Ou o,u.

.-O ~:u rc,< uOc cOu c,:,cc O . c < e c:u O,:eO:uc ~c ccu erec . o. for loops ..Ou.
rc. u, arrays u c o:. Ou cu u. OcO o,u c eO.u o. cu u eOue r. OcO ..eu. rcu c-u
.-O c,r.:,r Ou o,u:

=====================================================

#include<iostream.h>

void main()
{

int Lotto[10] = { 21, 2, 61, 20, 86, 44, 37, 10, 0, 1 };
int* number = Lotto;

// 1st, print the array
for(int a=0; a<10; a++){
cout<< *number++ << endl;
}
cout<< "\n";

// copy the array to a temporary array
int temp[10];
for(int b=0; b<10; b++){
temp[b] = Lotto[b];
}

number = Lotto; // point the pointer back to the
// 1st element of the array

// swap the data in the array
int c = 9;
for(int d=0; d<10; d++){
Lotto[d] = temp[c];
c--;
}

for(int e=0; e<10; e++){
cout<< *number++ << endl;
}

}

=====================================================

~:u O,:eO:u .- e.eur c O O,:eO:u OcO O:. ec O.e.u erc < orr -O .-O eceuu
o,u. u.u e.. c,:,cc rc.,u. ~u. c:e.. o: cc. eOu. ecOueu Lotto u. u array orr
uc..<. rc. -O .-O eceu. ~uce e c c,c ccc o. array or ec:. pointer orr u.O. o,u.
~uce ecOueu array oer: o,u o..u e.cc for loop orr ..u print O... oOe.u o.. print
O ce o. newline character (\n) or ..u Terminal window oer: uO :e ecc.r e:Ou new
line orr e.c.. ~u ouu c,O, Lotto array oer: length orO e..u length orr o,u temp u. u
ocu array orr e.c. o,u ouc e.. temp array or u cO Lotto array oer: e.c cuu for loop
orr o...ce.u er.c rcu c,e-. ouuc,O number pointer or Lotto array oer: cc. cuu.
eOu u,Ouu c ...u rcu c,e- . .r ue.c.u o. pointer or c,u c ...uO u e-u eu array oer:
oOe.u cuu.O e:.u. .cu. array oer: cuu print rcu OOc pointer oer: o.. eOueO -O
.-O .ur o,u. . c.O O e.e ec.r e c eO . . c. for loop oru Lotto u c o,u cu u ecc.,e .
59
r<c O eccc. . ou. , . c u o,u o.Ou , o. o,u cu u . cOu e.u... e c eO . e.. e cOu eu ~:u
oc uccO temp array oer: o..ce.u . For loop or u c o,u cc. expression oer: o:. arrays
Oc er.O Oc:u u c o,u o..u ece -,c O O .-O e.. ecOu o.r.c. c,:,cc Ou o,u. Lotto :
Oc:u ucO d e..c. o,u ouc, temp : Oc:u ucO c e..c. o,u. d : o.. for loop or r..u.r
O.u e.. ) crO. O,:Ou ouc, c : o.. c cr O. o: Ou o,u. temp u c o,u eu Lotto uc o,u
o..u . -O .-O .ur o,u . e. u e., Lotto u c o,u . c o..u temp uc o,u ce o..u e..c
o. o,u o..u .c o..u e..c ..c,Oe.u Lotto u c o,u o..u e. ecc.,e. r<c O eccecu
o,u. oOe.ue. c e.. r<c O :,c,< o..u print eO . e.. O,:eO:u r..u.r rc O O c:u
output or c,e-u o,u:

==============================

21
2
61
20
86
44
37
10
0
1

1
0
10
37
44
86
20
61
2
21

==============================

. cu ceOueu Lotto : cu u . cu c: O o.r.c. Ou ouc ~uceO o,ueu o..u r<cO eccc
o,u o.c,..













60



8. Object Oriented Programming
(Oeu .cr r.ec-<.)

(Object Oriented Programming cc-cO e.. cc cecce.: oueu ~u. . cr :,cuO.r c.<r -O
ecruu. o. cc-c e.cc< Oeuc ecr. -,c.O or cccecc.ru eu.:,r..)

Object oriented programming .u r.rc¯

e.. ec.eu: c e.eur .- c O r .ec -<.u o.u O e. procedural programming
¬<.O. . e.O,u cc .<r r .ec -<.u e-.e:. O O r ..u .r Oueu r .ec -<e. ~:c e O
c:cO, o-<: o.r.c.ru.. oe.u., e.eur oc cO O,:eO:u Oc ccu. O e. functions ..
e.O. procedural programming : c.e<. . c,u oc e c.u. Ou eu e.. ..ue.u .--O ..u rc
uO c-. O er. <.ru cc .<r O,:eO:u c O . ece -,c .O.. e.. uO c,r . e:Ou uO
r.ec-< O.. Object Oriented Programming u.u :,cueO.

cc.<r O,:eO:ur .u r.ec-re.r Oeu re .. .,OcOrO ~cccu rc Oec. ece
:,c u O. :,r. e.. .,Oc e-.e:.O O e,-, ec. re. Oeu . c r er.Oe.u o,u eO . cc.:c<.r
O.e.u re eOr e.. Oc ..Ou. r c . cc.<r. .. u ~.,u O. ec:. virtual reality ¬<e.
cc.<r .-cr...r uc..<. rc.O eu. u., .:O e..Oc cO. u,.,u OeuOc, O ,cr ev.
u,.,u OeuOc, ccr.. .u OeuOc, eOuu e..Oc O ..Ou. r c. :. e. -u . eu.e.r ec c u.
O,:eO:u u c u.O.O ecOu o,u . o:c ecOueu e,c. . u cc .<r O,:eO:uO oc.c e,-,
ec. re.: cOu u Oe u u o. cc .<r O,:eO:u u c u c ..<. rc ... e.ece e,-,ec. r. uc
o,u Oeu c.cr er.Oe.u cc.<r O,:eO:u uc..<. rc. object oriented programming ece
. cr O.e.u e,cr. :,r..



Object oriented programming ..Ou rcueu o,.¯

Procedural programming :c .-O re.. function orr o,u cc.<r eru.u u,Ou c.O cc
rc.O ec Ou oOeO.Or ecruu. u.u o. u,Ou c.Occ rce.c o. function oer:
r ..r.c u O. .cr eOue rc .O .-O oO.. .,.c euu u. e.O O .- rcu eu r.rc¯ .-
Function or copy rc, o. eOuu eO.u.r Paste rc, o.O oO.. eOue r. e c rc, o.O oc u
u.r ecu o,u. e.. r..O ..u eco.r.c.r c.: eceO. cc. O,uu u. e.. copy-paste rce.c
r.ec-<. O: O:. O..c O... uOc e.. u O,:eO:u e,.u,u. program bugs e:Ou O,cc
ece r.ec -<. rc o,u u,u o,uOe. e...Ou.O ~:c ... u.u object oriented programming
..Ou. rc e.u e.. copy-paste oOc c:... o:c .-O Inheritance u,.,u object oriented
r.eOc. e.O,u oOeO.Ou Occ ..Ou. rc :,r.. Inheritance .u, cOu u cc.<r eru.u
copy-paste eu.rc, . c er u.uOc :.u.r e c eu.rc, oO.. eOuer.c e:uO .c o. eru.u
c.Occ.O .,ue. O.e. re..c..r.

uOc, object oriented programming ..u cc.<r r.ec-r.r O:. c,:,cc Ou ouc, ceO
O,:eO:u uO rc<. rc .c O:. c:e ec.r -OO cu eO .


61
Oe u Or e:Ou object orr .u r.rc¯

e,-, ec.re. OeuOr .uOO o.O :. Oe.e c.e< o,u. oe.u. o. Oe uOO :.
r..r.cuO.uc o,u. e,-, ec.re. OeuOrO cc.:c<.r ece . Ou..u.r ecruu.
.Ou..u.rO u..u :,:.r o,u. o.O Oc<.r o,u. o. ..u .Ou ..u.rO Oe.e O ::r
u ccO. . e. O. . Ou..u. u,.,u Oe ueO: c.e<.. oc e.. c.e< properties .u eOu :·u O. .
uOc, . Ou..u.rO u. c u r ..r.c u O.u c o,u. o.O u. eO .. c.cu. rc:,r.. u..e. e O
ec.ec.OO o,u c c (altitude) c.cu. rc:,r.. u. ..u.. eOue rc:,r.. e.. r..r.cuO.u
oc .Ou..ue. functions ece :·uO.. C++ .. u Oe uOr uc ..<. r c . .u e.. properties
(c.e<) e: functions (r..r.c uO.u ) or er.O or orr.r u.O... C++ u c Oeu Or u c ..<.
rc.O oc class u,.,u keyword or c.Occ rc. .

c,u oc ~:u ec:u .Ou..u. u,.,u Oe u O C++ ..u u.Oueu ereec,. -c. :

===========================

class Plane
{

};

===========================

~:u c,rO e. . Ou..u. u,.,u object or C++ ..u u ccO. o.c.. rc :,r o.r.c... o:c
cc. O class .u keyword or e..c. o,u. ~u ce uuu Oeu eO: u.(plane) ec:u rc o,u.
~uceO function orrc e.u e.c Oc:u e..c. oOe.ue. c colon orr u-. o,u. e.ece object
orr u,u. .-e.. cuu Oc..r uc ..<. rc. ecec :,cueO. ou. c,u Plane .uu int e:.
char e.u cuu Oc..r. o. “user define data type” e:Ou “c.Occ rcuu. O eu u.O cu u
Oc..r ece :c u O. .

oc Plane .u object or e,cOc, .-O eceuu ccc ouc reOr o:. eu.eO. e,-, OeuOrO u.
o.O o.u c.e< o,u. . Ou..u.rO o,u property orr Oueu o: eO.... uOc, re..
e..e:.urc o. ..u rcu c ..Oc o: c.e<.r Ou o,u . o.O ec.ec.eO: eO o,u c c e:Ou
altitude or uOu property orr. e.. properties oc Plane u cO c,u ouuc.u rcueu e.ee.:





===========================

class Plane
{

private:
int Speed;
int Direction;
int Altitude;

};

===========================


62
c,u Plane eu r..r.cuO.u o.O ouuc .u rc. . oO.u., o: eO.. c.cu. rce. :,r..O,
o. ..u rcu c ..O c.cu. rc e. :,r ..O e: o: altitude or c.cu. rce. :,r..O .u
r..r.cuO.u.:

==========================================

class Plane
{

private:
int Speed;
int Direction;
int Altitude;

public:
void ChangeSpeed(int spd);
void ChangeDirection(int dir);
void ChangeAltitude(int alt);

};

==========================================

c,u oc Plane object or define rc oOe.u.. ec Oe. r.rc¯:

Procedural programming :c oc ecrec re.. ec.r ecrc. ec:. eOu eOu . variables :.
function define r c .. . u. u e.:c r e .. Oe u OrO o.u functions :. variables, o. OeuO u c
ouuc.u rc o,u. ou. , oc Plane u.u class orr e:Ou object orr e.c., o.O o.u cu u
ou cO o:. rc o,u.

uOc .- cr u ocu ec.r Oueu e.. private :. public u,.,u keywords ..c.. e.. keywords
:,cuO.O ec.ceO access control keywords .u u. ..OueO. private .. u e cOu eu
O,:eO:eu: eOu u,ur e O :-c O, e.. Plane object oru c o,u variables ..Ou. rc.O e:.
eOue r c .O o,u :,r ..O u,u rc .. . o O. e.: c Plane object oer: “ecc .c r” ec -OO
cueO. public keyword oru cOeueu o. keyword or .Oeu o,u e .c c, e.c cO O O-u -O. .
c,u , e.ece r c e. o,u oc O. r.r c¯ Plane object orO c Ouu o,u r e OrO, object oru c o,u
variables :O o:e. u..O oO.. ccc eOue rc.O ~:eu.ce.u o. object oer: ec.eu -O
u:Oc,eO. u.u o. variables eOue rc.O uu..urc r..rc e.:c Plane ..u ec.. o,u.
ou. ouc o,u functions Oc r ..r.c uO.. . ChangeSpeed() ..u o: Speed variable or
eOue rcu o,u. oe.u. ChangeDirection() .. u o: Direction variable orc
ChangeAltitude() ..u o: Altitude variable orc eOue rcu o,u. e.. functions
er.u,ur eO OO c.Occ rc:,r.. .uc.u oO. declare rc o,ueu public keyword or .Oeu
ue... e.. :c.O. . Ou..u.r o..uuc r..r.cuO.u o: u.. O.O :e O c.cu. r c .O
eu.:,r -OO e..u.. .:O :O o:e. . Ou..u.O ..:,r ccc . eO. e..O eOue rc eu.:,r..
o. ecrc :,rer .Ou..u. uccO e...e.: r.c . r . c c u :O.. u.. O.O rc:,r er
.Ou..ue. cockpit oer: : ce.u, .:O ec.. o,u cOc :. e-.uu. c.Oc c rce.u o. c.cu.
rc. c.<.. e.:c, .Ou..u. uccO . ccuO ouc,c Oueu Plane class or u,u .-.. .Ou
u.. O.e. r.c ..O ou c,c Ou eu .- Plane : functions ..O u.O .uu. oOe O.O..

Access control keywords cc-cO uO ccOu .cr ~cce.c ecr. -c. .

c,u oc ~:u c,r O functions, define rc. :

===============================================

63
void Plane::ChangeSpeed(int spd)
{
Speed = spd;
cout<< Speed <<endl;
}

void Plane::ChangeDirection(int dir)
{
Direction = dir;
cout<< Direction <<endl;
}

void Plane::ChangeAltitude(int alt)
{
Altitude = alt;
cout<< Altitude <<endl;
}

===============================================



Procedural programming :c function orr define rcu o.r.c.O O:. e.. function definitions Oc
O..c eOuer c,r. :,r eu.eO. eOuerO o,ueu function name orO .cu o. function or
o.u object oer: u. ec:u O u -. c.< . Object oer: u.c function name orc eOu Oueu “
:: ” ecr<u. e...u.e.u .- Visual C++ u c object name or type rc ~cce.u :: ecr< type
rcOO o. object orO oc.c variables :. functions Oc u. Visual C++ .. u ecu u . rcu o,u .
.- rc.ueu c eOu r:. menu oru .-O oO.. item or .u click rc...

~:u function definitions .. u e cOu ec .-O c,:,c c o,u. oO. .. u Plane object oer: variables
Oc o...u, pass rcu c-u arguments Oc o..u -OO cu erec. ~uce o. eOueO o..u
print eO .

c,u e.: c e c O ec .c erO e.u r Oe:.u : Plane object or ..u o: o:. o..uuc cu u e:Ou
variables :cO eOue rce. o.u. ..:c ec.re.u ~Ou rc o,u ouc, o O. ue ccc ,
uu..urcO c.<r eOue rc .O functions define rc o,u. C++ object orrO o,u e.. cu u
cOu ec. re.u e,.Oe. :,r ..O Data Abstraction ece :,cueO. Object orr eu cuu, class
u,.,u or o rr.O e..u rc . Encapsulation ece :,cueO.

Encapsulation : c ..u c e..eu zr c,r eO:

(¡) Modulraity - Object orrO eO..u orr.r ece r ..rc.O o,u :,r..O. object oriented
cc.<r O,:eO:ur object orr o. O,:eO:eu:. oeur objects eOu u eOu O o rr.r ece
c,Ou .O :,rO. ue., oeur objects .u cc. e O .O o.O e c eu.eO - .Ou ..u.r
.Oueu.O ccr o,u oeur Oeu Ocu eOuO ec.r.

(2) Information hiding – cuu e,.Oe. :,r..O. Object orrO private e:Ou ecc .c r cu u
u-..,u .O :,r u e. o. cu u oeur objects Oc e. -u. O.ru eu.cO, eO..uO eOue rc.u
:,r. - .Ou..u.rO ..:,r ccc. eO.. o: u . c.cu e.... Oeu eOue rc., .Ou .... e.
(.Ou .... u,.u object oer:) :Oc O.ru eu.cO ecrc :,r.. o:c ..u.O ..:,r ccc.
eO.. ..ue. ecc.cr cu u.r eO.

c,u oc ~:u r . private cuu Oc :,ec. c c-cO cc.:c<.r cc.e. rc. . e. ec:. oc
. Ou..u.r . Ou u..O. c,rO .O Pilot .u object or uu. o. object or ..u Plane object or
e.-u.O rc:,r ec e: rc eu.:,r ec cc-cO O .e. .
64

c:u c,r eOu eu Pilot object or u .O. o,u o.r.c.. :


===============================================

class Pilot
{

public:
void ChangePlaneSpeed(Plane p, int spd);
void ChangePlaneDirection(Plane p,int dir);
void ChangePlaneAltitude(Plane p, int alt);

};

===============================================

. c.O Pilot object oer: functions define rc. :

=================================================

void Pilot::ChangePlaneSpeed(Plane p, int spd)
{
p.ChangeSpeed(spd);
}

void Pilot::ChangePlaneDirection(Plane p,
int dir)
{
p.ChangeDirection(dir);
}

void Pilot::ChangePlaneAltitude(Plane p,
int alt)
{
p.ChangeAltitude(alt);
}

=================================================

~:u e,. function orr. u. argument or ece Plane object orr c-..uu. -O .-O eceuu
o,u . e. ouO ~:uuc r ccc object orr .u o,u euu. r.ec -r.. O eu define rcu cc data
type orr eO. Functions u cc , o. pass rcu c,- object or c.Oc c rc o,u o.r.c. -cuu. o:c
p .u Plane object oer: instance orr ece :,cueO. o., int i ece variable orr declare
rce.c, i .u int : instance orr .,. r. :. e..u.. Plane uc o,u functions OcO call rc
o,u eu p e: function name or ouc u ur (period) u,-e.u . Visual C++ uc, .- object instance
or type rc, u ur type rc OO object or u c o,u functions e: properties VC++ .. u cr Ou
o,u.

e.ece Pilot object or ..u Plane object oruc o,u cuu, ouc o,u functions ..c.e.u
eOue r c .O :,r -O .-O ~:u eceuu uO o,u. e. o. cu cc .<r O,:eO:ur o,u or object
orr eO eOuu object orr functions OcO call rc . o. objects ouc massages send rc. e:Ou
c<O: :O..c, rc.,u. ece :,cueO. Object oriented program orr .u o,u euu. objects
der ouc o,u c<O: :O..c, rc.,u.r.

e.Ou OO objects e. -u.O rO.u r c e. c ..O u. Ou ecr< z r .- cOO.. oO.u., “ :: ” e: “
. ” .u ..c.. “ :: ” c.Occ Oueu ~:u c,rO < ccc, declare rcu cc object orr u c o,u
65
functions define rc e.c.. “ . ” c.Occ Oueu object instance orr ..u o. object or u c o,u
function orrO call rce.c e:. object or uc o,u variable orr c-..,ue. c..

c,u .-O main() uc eO Plane : functions OcO, Pilot object or ..u c:u cc c call rc :,r..
o: c .- rc. ueu cc. O Pilot e: Plane object ecer: instance ecrr e,c. Ou ouc ~uceO “ .
” .. u Pilot : function OcO o,u c O . . u .:

=================================

void main()
{
Pilot pt;
Plane pl;
pt.ChangePlaneSpeed(pl, 500);
}

c:u c,r eOu eu ~:u .- c O er u.u e .c c e..u rc e,c e.cc < O,:eO:u.. e..
O,:eO:u VC++ u c type rc o. r..rcu o.r.c. -cuu:

================================================

#include<iostream.h>

class Plane
{

private:
int Speed;
int Direction;
int Altitude;

public:
void ChangeSpeed(int spd);
void ChangeDirection(int dir);
void ChangeAltitude(int alt);

};


void Plane::ChangeSpeed(int spd)
{
Speed = spd;
cout<< Speed <<endl;
}

void Plane::ChangeDirection(int dir)
{
Direction = dir;
cout<< Direction <<endl;
}

void Plane::ChangeAltitude(int alt)
{
Altitude = alt;
cout<< Altitude <<endl;
}

class Pilot
{
66
public:
void ChangePlaneSpeed(Plane p, int spd);
void ChangePlaneDirection(Plane p, int dir);
void ChangePlaneAltitude(Plane p, int alt);
};

void Pilot::ChangePlaneSpeed(Plane p, int spd)
{
p.ChangeSpeed(spd);
}

void Pilot::ChangePlaneDirection(Plane p, int dir)
{
p.ChangeDirection(dir);
}

void Pilot::ChangePlaneAltitude(Plane p, int alt)
{
p.ChangeAltitude(alt);
}

class FighterPlane:Plane
{

};

void main(){

Pilot pt;
Plane pl;
pt.ChangePlaneSpeed(pl, 500);
}

==========================================

Inheritance

~:u c ec:uO ccc, .-O re.. cc.<r eru.u der eOuer. e:uO u,Ou u,Ou ..Ou.
rc.O oO.. u. object oriented programming : ou uc .u inheritance u. r.eOc. e..c..u :,r.
oc e.eur cO . Ou..u. cc.:c<.. e..c.e.u e.. OO:..,u .O cu e.: rc. .

cc.:c<.r ece .-O e...u. .Ou..u.rO o.ucO .. .Ou..u.r c u,u .O oO...,.
euuu. e...u. .Ou..u.rO e.u. .. .Ou..u.rO c ec.cO c.e< e.u. or euru
eOue O c.e<c o,u. u. u .. . Ou ..u.rO o,u eu c e...u. . Ou..u.r ccu.. eO .
e. u e. .-O e...u. . Ou..u. ccu. er.Oe.u .. . Ou..u.r u.O. :,r.. .- rc.ueu
e...u. . Ou..u.r e.u o.O oc u u ou uc .u rc. u c.e< oru rc . . .Ou..u. u,u .. .
e.ece or object orr c.e< o.eO< rc. u eOuu object orr uc..<. rc. Inheritance
ece :,cueO. .. ..u.O u,ue.c .-O e...u. ..ue. eu..,u . e.c O.e. :,r..O o.O
ou uc .u r c .O oO.. Ou o,u. e.. eOue e.. ..u. ecr ouc o,u c ..u eOue ece
ecr. u c,u oc . . .Ou..u. uuu eu eree c,. -c. :

=====================================

class FighterPlane: public Plane
{

};

=====================================
67

~:u c,r eOueu . . . Ou..u. e:Ou FighterPlane object or, Plane object oru inherit
e:Ou c eO< rce. ¡Ou o..c.. Code oer: c,r eOu cc c inherit rce.c ..Ou Ou O..rc<
cceOc e.ee.: e.: c oc declare rcu eu uO object orr ue. cc. O e.c . . u eu class
keyword or. . ecOuO e.c . .u eu uO object oer: u... ~:u e.. FighterPlane eO .
euOu O, “ : ” ecr < e.c . . u.. e.. ecr < u c,reOueu , o. ecr <O ecc o,u object
oer: (FighterPlane) c.e< ecr<O ce o,u object or u (Plane)o.eO < .(inherit)
O..u -O.. :ucOuO inherit rc.u c,c< object oer: u., o ec:. ..Ou rc .u access type
or e.. e.c. . u.. ~:uc o.eO < rc.u object or Oueu Plane .. Plane O ~c c e.u o:
access type or ece public e..cu eu , plane : u e-u e.c cuu.u c.ccc rce. o.u.
FighterPlane class orO u - . . u -O c,r O .O.. .- o: c private keyword or c.O.cc rc. u.
FighterPlane :O Plane : o,u functions c.Occ rc .O eu.:,rO...

e.:c . c class or “Base class” ecec, .c class oru o.eO< rc e,c uO class or “Derived
class” ecec object oriented programming :c :·uOu c,e- .

c,u .- object oriented programming : ..Ou Ou uOu ecr <r Ou “ : ” c O O.. e.. :· uOu eu
“is based on sign” O.e.u. oouO .- e. OuO O .ure. u-..u.u ecr< .uu + r :
(1) “ :: ” (2) “ . ” (3) “ : ” u,Ouu e.. ecr < ..O u. Ou oOeO.Ou erO e.u e: rc e:.u ,
(1) ..Ou.Oueu object orr o,u functions define rcu O O.. (2) ..Ou.Oueu object orr u c
o,u function OcO call rcu O O e:. variables c-. .uu. OO.. (3) ..O u.Ou eu e..e:.urO ecc
c O ccc c,c< object orr o.eO<e.u uO object orr uuu OO..

e. ouO, FighterPlane object orO Plane object orO :. e.c. cu u :. .. .. .Ou..u.O
e...u. ..u.O rc :,r eO .. eOue r c ., c ..O eOue rc ., altitude or eOue rc. o.c
e.cc rc:,r.. o ouO .-O main() : eO, Plane u c o,u functions OcO, oO. FighterPlane u c
o,u u. ee ecr. call rc :,r Ou o,u. ou. e.: c oc Plane u c o,u functions ., FighterPlane
u cc u,Ou ..Ou.O .u.. o ouO Inheritance ..O u. r c e.u ocO cc .<r eru.u copy-paste
eu.rc e.ee .c ..O u.O .u :,r.. u.u e.. e...u. function orrO u,Ou u,Ou call
rc.r eu.eO. oc e.:c Plane uc o,u functions u,Ou c e.. eu.O .ueu oO. FighterPlane O
o.u ocu. functions ece.. c:u c,r eOu eu e...:


=====================================

void main(){

FighterPlane fp;
Pilot pl;
pl.ChangePlaneSpeed(fp, 200);

}

=====================================


~:uc .- cru ec.r Oueu , ChangePlaneSpeed ..u e.:c c-. .ueu Plane object orr
eu.O FighterPlane object orr -O.. u.u ChangePlaneSpeed ..u ~ccu eu Plane object orr
eu.eO c¯ Object oriented programming : uOu O.e.r u. e.... ou. , .-O Base class object
orr oO.. u,urO, Derived class object orr OOc pass rc :,r.. oeeu. c,u
ChangePlaneSpeed u cc call Oueu FighterPlane u c o,u ChangeSpeed function orrO..

e.. eu.uu. ec c.e<.r. c,:,ccO., FighterPlane u c c,uO re. function orr ouuc .uO
eu..,u -O .-O o: declaration or ece -,c e.u c,:,c c eO . e.: c , main() uc eO
68
FighterPlane instance orr e.c., Pilot object orr ..c.e.u FighterPlane : ChangeSpeed eOu
call rc . eceO. u. u FighterPlane u c oO,u function orr cr uO u,u. oee u. o. Plane uc
o,u ChangeSpeed O .. u c¯ o,ueuu. c,u o. Plane u c o,u ChangeSpeed eu.eO . o.
FighterPlane .. u Plane u c eO o.eO< rc.u, c,u u.. eu rce.u eOu eOu. function orr.
oue. e.:c ChangeSpeed .. u e c Ou eu Plane u c o,u Speed : o.. eOue r c . eu.eO .
ecOueu FighterPlane uc o,u Speed : o.. eOue rc ... Object oriented programming ..Oue.
o,u r.c ..e. -OO or e..r.r u. e... . ecc r. cc c. e.ece Inheritance .. u .-O
cOuu cu u.u copy-paste r c.ru eu.cO u,Ou u,Ou c.O c c r c e. :,r..O c,e- .

c:u c,r eOu eu ~:u .- e.eur c O er u.u e..u er.O uuu c,- e. c c < O,:eO:u. . o.
VC++ u c type rc r..u.r rc e c Ou ec u,Ou c,:,cc rc.uu:

================================================

#include<iostream.h>

class Plane
{

private:
int Speed;
int Direction;
int Altitude;

public:
void ChangeSpeed(int spd);
void ChangeDirection(int dir);
void ChangeAltitude(int alt);

};


void Plane::ChangeSpeed(int spd)
{
Speed = spd;
cout<< Speed <<endl;
}

void Plane::ChangeDirection(int dir)
{
Direction = dir;
cout<< Direction <<endl;
}

void Plane::ChangeAltitude(int alt)
{
Altitude = alt;
cout<< Altitude <<endl;
}

class Pilot
{
public:
void ChangePlaneSpeed(Plane p, int spd);
void ChangePlaneDirection(Plane p, int dir);
void ChangePlaneAltitude(Plane p, int alt);
};

void Pilot::ChangePlaneSpeed(Plane p, int spd)
69
{
p.ChangeSpeed(spd);
}

void Pilot::ChangePlaneDirection(Plane p, int dir)
{
p.ChangeDirection(dir);
}

void Pilot::ChangePlaneAltitude(Plane p, int alt)
{
p.ChangeAltitude(alt);
}

class FighterPlane:public Plane
{

};

void main(){

FighterPlane fp;
Pilot pl;
pl.ChangePlaneSpeed(fp, 200);

}

==========================================

u.u .. ..u.O e...u. .Ou ..u.O rc:,r ecO o.ucO . e.c O.e. o.uc :,r..O c o,u.
e.. :,r ..O FighterPlane object or eOu c-.ecu o.r.c. c,u -c.:

=====================================

class FighterPlane: public Plane
{
public:
void FireMissile();
};

=====================================

.- rc.u eu FighterPlane ucO . e.c Oce. :,r..O c-.ecu uO function orr ~:u c,reOu
ccc o,u c rc... c:u FireMissile function or define rc o,u:

======================================

void FighterPlane::FireMissile(){

cout<< "Missile fired!" << endl;

}

======================================

oe.u., c:u ccc Pilot u cc uO Function orr define rc. ece.:

=================================================
70

class Pilot
{
public:
void ChangePlaneSpeed(Plane p, int spd);
void ChangePlaneDirection(Plane p, int dir);
void ChangePlaneAltitude(Plane p, int alt);
void FireMissile();
};

void Pilot::FireMissile()
{
FighterPlane fp;
fp.FireMissile();
}

======================================


c,u .-O main() : eO . u, .e.c.r . c.:cu ece .. ..u.O c:u ccc rO:,r.:

======================================

void main(){

Pilot pl;
pl.FireMissile();

}

======================================

c,u . c O,:eO:u c:u cc c .:

======================================

#include<iostream.h>

class Plane
{

private:
int Speed;
int Direction;
int Altitude;

public:
void ChangeSpeed(int spd);
void ChangeDirection(int dir);
void ChangeAltitude(int alt);

};


void Plane::ChangeSpeed(int spd)
{
71
Speed = spd;
cout<< Speed <<endl;
}

void Plane::ChangeDirection(int dir)
{
Direction = dir;
cout<< Direction <<endl;
}

void Plane::ChangeAltitude(int alt)
{
Altitude = alt;
cout<< Altitude <<endl;
}

class Pilot
{
public:
void ChangePlaneSpeed(Plane p, int spd);
void ChangePlaneDirection(Plane p, int dir);
void ChangePlaneAltitude(Plane p, int alt);
void FireMissile();
};

void Pilot::ChangePlaneSpeed(Plane p, int spd)
{
p.ChangeSpeed(spd);
}

void Pilot::ChangePlaneDirection(Plane p,
int dir)
{
p.ChangeDirection(dir);
}

void Pilot::ChangePlaneAltitude(Plane p, int alt)
{
p.ChangeAltitude(alt);
}

class FighterPlane:public Plane
{
public:
void FireMissile();

};

void FighterPlane::FireMissile(){
cout<< "Missile fired!" << endl;
}

void Pilot::FireMissile()
{
FighterPlane fp;
fp.FireMissile();
72
}


void main(){

Pilot pl;
pl.FireMissile();

}

=============================






Access control - public, private, protected keywords
(Object orr u c o,u cu u eOu o,u c O . c.cu. r c.)

re.. object orr u c o,ueu variables :. function -O .- cu .. Object orr u c o,u e.. cu u
OcO, object oru c Ou eO c..Oe. :,r..O c.cu. r c. C++ object orr o,u . cr c.e<.r.
.- ~:u u,urc c O information hiding u,.,u erc c. .O.c O.r Ou eu e.. :,r..O ue... o
:,r..O u., object orrO cOuu o,u ..rO, c.O cc rc.O :,r..O o,u eu object or u c o,u
rOc cuc.uc e: c.Oc c rce. :,r..O u,u eu rOc cuu.uc .ueOu u c<. rc... e.
ec:.. public, private :. protected .u access control keywords ..Ou. Oueu . public :. private .u
..c. cc-cO e. Ou OO .- .. uc.r r.O. o,u u.u o: r..r.c u O. ou c,r u,u. c:u
c,reOu eu Plane u c o,u private cu u.r Ou altitude : o.. main() : e O :e O eOue r c .O
.u cu e.:.r:

================================================
void main(){

Plane p;
p.Altitude = 1300;
}
================================================

.- e.. eOue r. O,:eO:eu: main() function orO e c rc O,:eO:u compile r c .O cu e.:
rce:.u .-O error orr c,e-u o,u ouc O,:eO:u compile eu.Ou o,u. o. error oru
r.eOu ec. u. main() : eO (e:Ou Plane object orO c Ou u e O) Plane u c o,u private
variable orr Ou Altitude c.O c c r c .O eu.:,r -O. . oc e.: c e c r c .O cu e.:.u ec.,
:c .O. r e eOr .Ou..u.r o,u c.cr .u c, ..O u. eu.rc o: cuuu... c.cu. rc .O
eu . O,u.. u.u ue,rO. o. r..eO e.cO.O .:O eu.:,r eO.. . Ou..ue. cuuu...
c.cu. rc.O :,rer .Ou..ue. o,u ue .uc, e:. cOc c.Oc c rce.u c.<r O. .u..
o. ouc,c Oueu Plane u c o,u ChangeAlitutude function orO rcu call r c .rO.. ~:u
O,:eO:euc e.. e crcu eu Pilot object or ..u. .: o. rcu c-ueu u.. u c o,u public
function or Ou ChangePlaneAltitude .. u . e.. r .. e: main() uc eO ercu. Plane :
functions ec:. call rc. :,ecu uO Altitude e:. Plane : eOuu r e . private variable orr eOue
r c e. eOuu re . r ..r ~:u O,:eO:u u c eu..,u. .-O Plane : o,u cuu eOue rc.
ec:. oOec c .O oO.. Oueu ou..u . Pilot object orO c.<r. u. .- rc .u Oueu,
Plane : o,u functions ~Ou rc, Pilot : functions Oc eO :eO Plane : cuu eOue rc :,r
o.r.c.O O,:eO:u e,re ... oO O main : eO Plane : cuu.u eOue rc .O eu.:,r O ... e.
ouO object oriented programming .. u object orr uc o,u cu u OcO e,ce.u o.c.e.O .-O
O,Oe:u o,u.

73
Object orr u c “private:” .uu .Oeu declare rc o,u cuu.uO object orO c O u e O o,uc O .O
eu.:,r -Oc “public:” .uu .Oeu o,u cu u OcO o,u c O .O e,.O. :,r -Oc ~:u .- c O O..
+u O,u access control keyword or Ou protected c e-.e:. c cO private keyword orO e..u..
Object orr u c “protected:” .uu .Oeu o,u cu u OcOc c Ou u e O o,u c Oe. oOe O.Or u,u.
u.u protected keyword oer: o,u eOue u. , object orr protected .Oeu define rc o,u cu u
OcO o,uc O e. oOec., o. object oru inherit rc uccOu c,- derived objects OcO c.<r
c-.c.O o.O :,rO... e.. c,:,cc rc .,u. ec:. c:u c,reOu ccc, Plane class orO
protected: keyword or .Oeu LandingGears u,.,u bool variable orr declare rcu u.
LandingGears : o.. true r c e.u . Ou ..ue. e..:-,e. ec:. Ou ..c cc.u. r..u.r rc
o,u -O cr Ou ouc o. false r c e.u ..u. e..:-,e .O e c.u. u,u -O c,r eOu o,u:

===========================================

class Plane {

private:
int Speed;
int Direction;
int Altitude;

public:
void ChangeSpeed(int spd);
void ChangeDirection(int dir);
void ChangeAltitude(int alt);

protected:
bool LandingGears;

};

===========================================

c,u c:u ccc .- e.. protected variable oer: o.. main() uc eO true rc .O cue.: .ue:.u
o.u error orr u cceOu o,u. e.u e. protected cu uc private e.u. object orO c Ou e O ..O u
rc eu.:,r -O eceu .

===========================================

void main()
{
Plane p;
p.LandingGears = true;
}
===========================================


u.u .- Plane : derived object or Ou FighterPlane u c eO o. rc .O cu e.: rcuu. o.
e.c Or Ou o,u. c:u c,r eOu eu FighterPlane u c eO LandingGears : o.. true rc .O .u
cue.:... e. ec:. FighterPlane u c SetLandingGears u,.,u uO function or declare rc o,u:




===========================================

74
class FighterPlane: public Plane
{

public:
void FireMissile();
void SetLandingGears(bool st);

};

===========================================


SetLandingGears() ..u LandingGears variable or u.. u true e:. false o..O cuerec :

==============================================

void FighterPlane::SetLandingGears(bool st){

LandingGears=st;

}

==============================================



Constructors

Plane object or u c re.. e..e:.ur . Ou..ue. eO .. c-..,u.O GetSpeed u,.,u function
or o,u,. euuu. c:u, GetSpeed function or Plane class or u cO o,u c rc o,u:

===========================================

class Plane
{

private:
int Speed;
int Direction;
int Altitude;

public:
void ChangeSpeed(int spd);
void ChangeDirection(int dir);
void ChangeAltitude(int alt);
int GetSpeed();

};

===========================================

GetSpeed function or e.ee define rc. :

===========================================

int Plane::GetSpeed(){

75
return Speed;

}

===========================================

GetSpeed() .. u Speed : c,u cOu u o.. return rcu o,u.
c,u main() u c e O ocO .Ou..ue. eO .. e.ece c-..u :,r.



===========================================

void main(){
Plane p;
int sp = p.GetSpeed();
cout << sp << endl;
}

===========================================

u. u e.: c or .,OcOr c,uu.. . .- O,:eO:u r..u .r r c e.u ce cc. eOu ec rcu eu
e.ece eO.. eeO. .,. euuu. oOO Speed : o.. ece c,e-u eu rOcr c¯ - uc Oc¯ u,u.
oOO ecOueu Speed variable or re.. o..rO define r c .O ecc o. u o..r c-. .,u .O
cu e.: r c.. . .- re.. variable orr define rc u,u OO o: r e. ocO.r o,u e-..Or
ouuc.u eu.eO. e.ue. .- ~:u e.u variable orr define r c .O ecc o: o.. c-..ue:.u
o. ocO.r u,u r..Or Ou o,u ouc o. O,cc r..Orc eO. e.ue. cc.<r O,:eO:ur
o.c..e.c. o: o,u variables e.cc eO.r.O define r c .O ..c ..r u - . . u.. e.. r ..O,
variable initialisation ece :,cueO. Class variables, initialise rce. o. r .. u. constructor
functions ..Ou. rc ...

o,u euu . constructor functions .- c,uO.u oee rcuO.c,. eu.c,u c.O c c .O e.u o,u. .-
C++ cc.<r O,:eO:ur u c class orr e,c O O .-O eu.eceuu ece o: constructor function
or define eO . e.. e c Oueu .- class oer: u. type rcu oOeO.eOc.. o. class oer:
instance orr e,c OO ecOu cc. Ou ec. u. e.. eu.eceuu constructor function orO
eu.eceuu ccc. call O ... ou. constructor function orO call O . ecOueu eO.r.O, class
instance or uccOu oOeO.eOc.. uOc, constructor orr u. Oueu o: class oer: u.... o
ouO Plane class or u c o,u constructor function oer: u. Oueuc Plane .. Constructor function
orrO return type orr eu..,u. oe.u. . c (default) oOeO.eOc o.O re. argument orr c
eu..,u. e. o.cu, Plane class oer: constructor or declare Ou o,u eu c:u cc c .:

Plane();

u.u Constructor or O,:eO:u uc c:ee . cOu u ouc o.O c:ee. call eO.. oeeu. ~:u
ec:u O ccc oc e.. constructor or oce. class or uc o,u variables initialise r c . c<e
e..c..u eu eree c¯ ~u. c:e. . oc rc. u eu constructor or ocO oO.. o.r.ce.u eOue rc
o. oc Oeu . define rc ... Constructor orr ..O u. rc Plane class oer: o,u Speed, Direction,
Altitude .u variables, initialise rcu o.r.c. c:u O e uceO .

cc. eOu. rc .u Oueu Plane class or uc oc Oeu. constructor or declare rc.. :

===========================================

class Plane {

76
private:
int Speed;
int Direction;
int Altitude;

public:
Plane(); // The constructor
void ChangeSpeed(int spd);
void ChangeDirection(int dir);
void ChangeAltitude(int alt);
int GetSpeed();

protected:
bool LandingGears;

};

===========================================

Plane : public - access controller keyword or .Oeu constructor or declare rc o,u o. c, .-O
eceu . c,u rc. u eu constructor or define rc..:

===========================================

Plane::Plane(){

Speed = 0;
Direction = 0;
Altitude = 0;
}

==========================================

Constructor definition or u c e .c variable OcO . c o..u c-. c oO. initialise rc o,u o.r.c.
~:u c,r eO . c,u .- main() : e:. O,:eO:eu: eOuu rOc e:. o· c, .c cr eO Plane :
instance orr e,c Oc o. e.cu e..e:.eu c cc.O e c Ou ec. u. e O.r .O e.. constructor
orO call O o: o,u variables ue ccc initialise O ... e. u e. .- . cu . rcu ec. Ou eu
GetSpeed() ..u .Ou..ue. eO.. c-..,u. OOc .-O o: eO.. ece ocO.r e:u o..r
Ou c c,e- . eO .. - uc O O e.u c,Oeeu eu . Ou..u. ..u eu.rcu -O .-O c,:,c c .. .-
constructor or c.O c c eu.rc. u. .-O Speed ece e-.e:.OO c,e-u o,u eu ocO Oc:u :<
o..r.

c:u c,r eOu eu constructor or e..c. eOue rcu cc . c cc.<r O,:eO:u.. c,u
GetSpeed() ..u . c eO.. ece c, return rcu o,u.

================================================

#include<iostream.h>

class Plane
{

private:
int Speed;
int Direction;
int Altitude;
77

public:
Plane();
int GetSpeed();
void ChangeSpeed(int spd);
void ChangeDirection(int dir);
void ChangeAltitude(int alt);

protected:
bool LandingGears;

};

Plane::Plane(){
Speed = 0;
Direction = 0;
Altitude = 0;
}

void Plane::ChangeSpeed(int spd)
{
Speed = spd;
cout<< Speed <<endl;
}

void Plane::ChangeDirection(int dir)
{
Direction = dir;
cout<< Direction <<endl;
}

void Plane::ChangeAltitude(int alt)
{
Altitude = alt;
cout<< Altitude <<endl;
}

int Plane::GetSpeed(){
return Speed;
}

class Pilot
{
public:
void ChangePlaneSpeed(Plane p, int spd);
void ChangePlaneDirection(Plane p, int dir);
void ChangePlaneAltitude(Plane p, int alt);
};

void Pilot::ChangePlaneSpeed(Plane p, int spd)
{
p.ChangeSpeed(spd);
}

void Pilot::ChangePlaneDirection(Plane p, int dir)
{
p.ChangeDirection(dir);
}

void Pilot::ChangePlaneAltitude(Plane p, int alt)
{
78
p.ChangeAltitude(alt);
}

class FighterPlane:public Plane
{
public:
void FireMissile();
void SetLandingGears(bool st);
};

void FighterPlane::FireMissile(){
cout<< "Missile fired!" << endl;
}

void FighterPlane::SetLandingGears(bool st){
LandingGears=st;
}

void main(){

Plane p;
int sp = p.GetSpeed();
cout << sp << endl;

}

================================================


Header files

~:u O,:eO:u .- u .rcu c,- e. or. C++ file orr u.. u. u e-.e:.OO Object oriented
programe orr o:. O.e.u files z r e:. o:... cc.O,uu u. C++ file or Ou ouc ecO,uu
:cu Oueu Header file orr O.e.u . (o,u euu . .- Library orr ece O,:eO:uO include
rcueu e.. header files .) Header file orr extension Ou eu “ .h ” .uu.. e.. file or
O,:eO:ur classes declare rc . ec:. e..c..u :,r. ~:u c u. .- rec classes e.cc o.
classes define O . ecOu C++ file or u c. declare r c... u.u e...u.e.u o. classes eOu.
header file orr uc declare rc . eceO. e.. ec rc .O .- Visual C++ : File>new menu oru
“C/C++ Header File” u,.,u item or .. u uO header file orr .e- O,:eO:uO o,u c rc
.u. (oc. s.¡)



(oc. s.¡)

79
~u ce e.. uO header file or u c .e- e.c classes declare rc :,r. oe.u. .e- O,:eO:uO
#include rc.u e.c libraries c e.. header file or ucO #include rc :,r. ~:u O,:eO:eu:
Plane class or ec:. .- “Plane.h” .u eOu header file orr e,c Oe:.u o: o:. rc . u c, c:u
ccc Ou o,u.

===========================================

// Plane.h

#include<iostream.h>

class Plane
{

private:
int Speed;
int Direction;
int Altitude;

public:
Plane();
int GetSpeed();
void ChangeSpeed(int spd);
void ChangeDirection(int dir);
void ChangeAltitude(int alt);

protected:
bool LandingGears;

};

===========================================



c,u .- rc . u eu c:u cc c e.. header file or .e- O,:eO:eu: C++ file or ucO #include
rc... .- Oeu e.cu cc header file orr include rce. c ecrc .u eOue Oueu library orr
include rce.c #include e.. e.ecu ‘<’ e: ‘>’ .u ecr< eOu OO double quaots(“ ”) e.c .. :


================================================

#include “Plane.h” // including a header file

Plane::Plane(){
Speed = 0;
Direction = 0;
Altitude = 0;
}

void Plane::ChangeSpeed(int spd)
{
Speed = spd;
cout<< Speed <<endl;
}

..............
..............
..............
80

void main(){
Plane p;
int sp = p.GetSpeed();
cout << sp << endl;

}

================================================

~:u c,r eOu cc c., FighterPlane e: Pilot classes Oc o:. declarations c header files ucO o,u c
rc oO.c C++ file orO include rc e:.u, C++ file or u c . c .O o:. rc . u eu function
definitions e: main() function or c.<. Class declarations e: include rcu cc libraries o,ueu
C++ file orO include rcu cc header files u c.. e...u.e.u O,:eO:ur o,u e,. class orr
ec:.. header file orr u,u. ece..

























9. C++ Libraries



e.. ec.eu: . c ...e. c Libraries .,u .- .uu. u ~e.u .uu.. Libraries u c o:.
Ou eu c.. .-:. rc u-u cc C++ cc.<r eru.u -Oc libraries oce. O,:eO:u u c
81
c.O c c .O .,ue.u o. er u.u oce. O,:eO:u uc ..Ou. rc.O :,r..O c,e-u -Oc .-
c O O..

Visual C++ u c ocO c.Occ.O .u :,r libraries c,er . o,u. u.u e-.e:. O O e. O. oc
c.Oc c.O .ueu o O. oc ce..eu.O .uuO.c,. e:. eu.c,u.. oece ecOueu, oc re..
library orr oce. O,:eO:uO o,u cu rc O O o. library orO e. -u . rc eOuu libraries c
~e- . O,:eO:u u cO c,. < .. . oee u. oc oO,u libraries e-.e:. OO c.Oc c rcueu :eO
eu.eO . u. u :e O. oc c .u O,:eO:u OcO o,u c rc . u libraries o,u.

C++ Library orr o,u euu. o:. Oueu c.. .-:. rc u-u cc classes .. e. ouO re..
C++ library orr ..Ou. rcu OO oc e crcu eu o. library or uc o:. Classes u c ou uc .u
functions e: eOuu cuu c.Oc c.O .,u... u.u C Oc.e. libraries u c classes eu..,u.

c,u oc Visual C++ u c ou uc .u Ou Libraries r:c.r cc-cO e<r. -c. .


fstream cc.. file stream library

File stream library or uc ou uc.u Oueu c-: u,O e. o,u files e.-u.O rO.u rce.c
..O u.O .,euu functions o.c... .- Oeu cO.O oc:e rcu re.. cc.<r O,:eO:urc c-:
u,O e. o,u files e.-u .O rO.u rc .O oO.. u., .- fstream library or o. O,:eO:uO
ouuc.u rc .u.. fstream u c fstream (file stream), ofstream (output file stream) e: ifstream
(input file stream) .u classes u u O. ou uc .u.. oc files e.-u. rO. u ecrcueu e.. classes
u c o:. functions ..Oue.u.

c:u c,reOu eu fstream ..Ou. rc. u c .u c,- r:. O,:eO:ur. o. O,:eO:u c O.e.u “
test “ u. u txt file orr .e- cc.<re. C:\ u,O e.: uccOu o,u ouc ~uce o. r:. message
orr o. file or u c c.u o,u:

==============================================

#include<fstream.h>

void main()
{
fstream file;
file.open("C:\\test.txt", ios::app);
file << "...Appending data";
}

==============================================

e.. O,:eO:u compile rc Run rcuu. ~uceO C:\ drive or OO-u rc o: test u.u text file
orr u .O o,u o. c, -cuu. o. file or O O-u rce:.u "...Appending data" .uu o:
c .O o,u -O .-O eceuu o,u .

c,u O,:eO:eu: ecOueu r.rc,. -c. . cc. O #include keyword or ..u fstream.h e:Ou
file stream library or O,:eO:u ucO ou uc .u rc o,u.
fstream file; .u eru. ..u ecOueu fstream : class instance orr file u. u u,u ...
c,u file.open("C:\\test.txt", ios::app); .u er u. .. u , fstream class oer:
open functions orO call eO . open .. u C:\ .u “test.txt” file or uccO.. o: ¡O,u argument or
Oueu uccO. . u file oer: path or. . ~:u o. "C:\\test.txt" .. ecO,u argument or
Oueu uccOu file orO cu u o,uc rcu O O o. e cO . . u o.r.c.. . ~:u ios::app .. u
crOu eu cu u o,u c ucu e,. O O. o. cu u, c,uO file or u c o,u cu u OcO append rcu
ece e:Ou “o.O o.<u” ece.. o. ecOueu file << "...Appending data"
82
er ue.u . e.: c file or ucO cuu output rcueu << operator or ..u. ios::app .. u cu u
append O . ecOu e:.u , .- ~:u O,:eO:u r ..u .r rcu e,. oOe O.Orc . “…Appending
data” .uu file oru c c.u c.O or eccr ece c .,eOu o,u. ios::app : app .u ios u,.,u
class or u c o:. Ou, e-..u .r o..r d.u variable orr. ~:u ccc o. ofstream u cO pass
rc OO file orO cuu append O . e c eO . .-O oO.. u. e.. r ..r.cuO. eOue rc.O :,r..
cc.:c<.r ece ios::out variable or e.ce.u Oueu, ~:u O,:eO:u r..u.r Oe.c, c,uO.u
oc.c u.u file orr o,uu. o: c,uO o,u cu u .r.c,. ... c:u c,r eOu eu e. o.r.ce.u
open eOu pass rc :,r variables .. e.O.O ec.ceO “File creation flags” u,.,u u. ..O u eO .


Ios::app ocu cuu file oer: o.O append rc..
Ios::binary File or binary cuu ece OO-u rc..
Ios::nocreate crO. o,u file or c,uO.u c-:
u,O . .u cOu . u. c.<r o. O O-u
rc. .
Ios::noreplace crO. o,u file or c,uO c-:
u,O . .u eu.cOu . u. c.<r
o. OO-u rc..

Ios::out cuu cO . ec:. OO-u rc.. c,uO o,u
cuu .r.c...

Ios::trunk cuu cO . ec:. OO-u rc.. c,uO o,u
cuu .r.c...

~:u e..c. o,u “O O-u r c .” .u euu c,reOu eu file or c.Occ rcuu. Oeu OO-u rc.r
eu.Ou -O ecru u. File orrO C++ ..u reOr ec rc.O ecc o. C++ O,:eO:u Oeu
“OO-u rc .u.”. ~:u O O-u rc . ece :,cueOueu o...


File orr OO-u rc.O :,r e:. eu.:,rc,. c,u.,u.

e. ec:. c:u er u er.Oe ..Ou. rc :,r .. c:u fail function or ..u, file or open rc
eu.:,r u. true o.. uccOu o,u:

=========================================

fstream file;
file.open("C:\\test.txt", ios::app);

if(file.fail()){

cout<< “File open error!” << endl;

}

=========================================


Files r .O.

83
c:u c,r eOu O,:eO:eu c , while loop orr ..u file orr o:. characters e.cc, or Ocrc
character or -,. u char variable orr u c .-:. rc< c,e-. o:c file oru cuu c-. .,euu eu
e:Ou file oru cuu r.Ou c-ueu get function or ..u. get ..u file oer: o,u characters
or -,.u r.O. o. c u cO o,uc rc.. ~uce cout .. u o. character or Terminal window or
.uO output rc. .


=================================================

#include<fstream.h>
#include<iostream.h>

void main()
{
fstream file;
file.open("C:\\test.txt",ios::in|ios::out);
char c;
while(!file.eof()){
file.get(c);
cout<< c <<endl;
}
}

=================================================




string library

string library or .- c.u O,:eO:urO ouuc .u r c e.u , .-O O,:eO:u uc string data type
orO o.u variables ..Ou.O .,u.O :,r..O c,e-. .- .O ~:uc char arrays ..Ou. rcu o.r.c.
c O O.. char arrays ..Ou. Oueu text strings e.. rO. u rcu OOc -Oc c O O.. u. u .- cO cc c
char arrays ..Ou. rc. .cr c.rc .. Text strings .u cc .<r O,:eO:urc ..O u.O .,euu
ec. ec.r. e.O,u ec.O ..Ou. Ou ec.r c. rc o.cu c.Occ.O .,u.O ec O. uec e..
e..O cc..r e.:c oc c.Occ rc.O ec.u. Ou string data type or.

string orr .u o,u euu. o..uuc ece ereu cc char array orr.. u.u string orr .u
:ecr char array orr c.<r . eu.Ou ouc o. C++ class orr . e. -O string u.u library orr
C++ u c u - . .. u c,:,cc eO .

e.. string class or u c o,u eu char arrays ..O ue. c .-O . : <c,.O e cOu oc:e u. ..:,c .O
uc..<. rcu cc functions .. c,u oc e.. function e..uO.c e: oO..u ecrc.O :,rer
rOcrc,. O.e. -c. .

c:u c,reOueu string library or O,:eO:urO o,u c rc string type variable orr define rcu
o.r.c.. :

=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
84
string str = "The Millenium";
cout<< str << endl;
}

=========================================

string data type or ..O u. rcuO O . c u rc. u ec zr o,u. cc. O,u u u. e.: c O,:eO:u
u cO #include ..u o,u c rc.u Oueu iostream.h file or eu.O iostream file or O... ecOuO,
string library or #include r c e.u ce O ~:u O,:eO:eu: c,r eOu cc c , using namespace std;
u,.,u eru. type rc .u.. e. r .. ecr e c r c e.u ouuc,O .e- O,:eO:u u c strings
c.Oc c.O .u :,r. ~:u O,:eO:u Run rc OO string str : .-:. O o,u “The Millenium” .u
text string or print Ou o,u.

~:u O,:eO:eu: e crc o,u eu str u.u string class oer: instance orr e,c... string class or
u c o,u functions OcO call rc.O u. oc e...u.e.u classes e. -u.e.u e c rcu cc c ., e..
str instance or ..u function calls e c rc . u.. c,u oc e.u,u e O string class or u c o,u e..
functions :c u. .,u. oc®..


append function

append function or ..O u. rcu eu r e.. string orrO uOu string orr e.-u. rc.O ecOu
oOeO.Occ.. append function oer: oOeO. rc.r o,u. e.ee Oueu class string u c append
u.u . u functions rc.r u - . e:ueOu. e. oOeO. oucu zr cc-c ecr. -,c. ece..

1. append (string str)

append function oer: e.. oOeO.eOc oc o.O pass .u Ou str u,.,u argument or Oueu, . c
string orO append O . . u ecO,u string or. . c:u cc.:c<. -cu u:

=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";
string str2 = " & The X-Files";
str1.append(str2);
cout<< str1 << endl;
}
~:uc str1 :. str2 u,.,u strings 2 r e.c. o,u. ocO e.:c oO.. Oueu str1 string oer: o.O
str2 string or e.-u. rc... e. ec:. str1 .u append function orO call rc o,u o.r.c. -cuu:
str1.append(str2). append eOu pass rc o,u argument or Oueu str2 string or.. e.. u ecOueu
str1 uc o,u text string or Ou “The Millenium” .uu o.O str2 uc o,u “ & The X-Files” .u text
string or append e:Ou e.-u. O... oOO function call oer: cOcc. ece str1 string oer:
o:. Ou string or “The Millenium & The X-Files” .uu -OO cu Ou o,u.

u.u e.. append function orO call rc.ru eu.cOc ecrc :,r.. e. ec:. oc c.Occ .O
.u eu ec c,c “ + ” operator or. . c:u e.. oOe O.O c,reO :

=========================================

#include<iostream>
85
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";
string str2 = " & The X-Files";
str1 = str1 + str2;
cout<< str1 << endl;
}

=========================================

ou. oc integer data e:Ou e-.. e. -u .e.u ..O u. rcu c-u + operator or e.:c strings
e.-u.e.uc ..Ou.OO .u :,r..

c,u append : z Ou oOeO.O ecr. -c..


2. append (string str, int position, int numberOfChars)

append function oer: e.. z O,u oOeO.eOc or string orrO eOuu string orr eu.c..u
er.Oer c.<r e. -u. rc e. :,r..O o,ueO . Function orO pass rc .u cc. argument or
Oueu . c string orO e.-u. rc . u z O,u string or. (string str). z O,u argument or u. str
string oeru append rc. o.c. . rc . u eO.u.. (int position). euO,u argument or u.,
position argument oru c,reOu eO.ue. eO str string oru append rc . u characters
e-..O.(int numberOfChars). e.. O:.u c,:,cc rcu cc.:c<.r c:u c,reO. o:c ecOueu
str1 : ou u.O, str2 : z Ou character oer: eO s O,u characters or cr O. o,u er.Oe e. -u .
rc.. :

=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";
string str2 = " & The X-Files";
str1.append(str2, 2,8);
cout<< str1 << endl;
}

=========================================

~:u, str1 eOu str2 : “The X-F” .u er.Oe append eO. e.. str2 : z Ou character oer: eO 8
Ou character or crO. o,u er.Oe.. str2 : z Ou character or .u o: “T” O ecc o,u : :,e. .
o,u,. OO e.. : :,e o,u eu z Ou e O.ue. eu.O euOu e O.ue. eu.eO c,. .-O e euu uO
ccOu. u.u o,u euu. string orr character index or o.c.. Oueu -uc eOu. oee Oueu
string orr .u o,u u O.e.u . character array orr O. ue... .- cuu. ccc. array orr index
or o.c.. Oueu c eOu. e.ue. ocO str2 : “T” O ecc o,u : :,e :.Oueu o: z Ou
eO.ue.c.. e. ouO oOe.ue.c str1 : o.. Oueu “The Millenium” :. “The X-F” oru O e.u
e,ecu “The Millenium The X-F” .uu..


assign function
86

assign function or ..u ecOueu cOu u string orr o,u cu u. .r. c.. o.O eOuu string orr
e:. string oru er.Oer o.ec. rc... assign function orOc oOeO. rc.r o,u.

1. assign (string str)

assign : e.. oOe O.eO c e c Oueu str : o,u ec : ecr eOuu string orr eOu o.ec. rc...
e.. c:u c,r eO :

=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";
string str2 = " & The X-Files";
str1.assign(str2);
cout<< str1 << endl;
}

=========================================

~:uc str2 : o,u ec str1 O o.ec. eO . e.e:. u , assign O. oOeu O OO str1 :. str2 or eurO
e..u Ou o,u.


2. assign (string str, int position, int numberOfChars)

assign function oer: arguments c c -c Oeuc c:u c,reO .

Arguments

string str:
. c string orO assign rc .u z O,u string or.

int position:
str string oru assign rc. o.c.. rc .u eO.u..

int numberOfChars:
int position argument oru c,reOu e O.ue. eO, .c string orO, str string or u append rc . u
characters e-..O.

cc.:
=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";
string str2 = " & The X-Files";
87
str1.assign(str2,2,8);
cout<< str1 << endl;
}

=========================================

~:u cc.:c<e. c str1 eOu str2 u c o,u text string oer: index 2 - 8 er.Oe o.ec .eO . o ou O
str1 = “ The X-F” Ou o,u.


at function

at .. u string orr re.. eO.u.r o,u character orr c-. ec.

at (int position)

Arguments

int position:
Character or c-..u .u e O.ue. index number or.


c:u cc.:c<e.c str1 : ! Ou e O.ue. o,u character or(M) c-. e.u o. Terminal window or
.u print erec :

=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";
cout<< str1.at(4) << endl;
}

=========================================


compare function

1. compare (string str)

e.. function oru strings ..cr e..u c,. cc.e. rc :,r. strings ..c e..u u. function or
..u c o.. return rcu c-u ouc, e..u eu.eO u. ¡ e:. -¡ o.. return rcu c,e- .

Arguments

string str:
cc. string orO e..uc,. cc.e. rc . u z O,u string or.

cc.:
=========================================

88
#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";
string str2 = " & The X-Files";
string str3 = "The Millenium";

int check = str1.compare(str3); //(1)
cout<< check << endl;
check = str1.compare(str2); //(2)
cout<< check << endl;
}

=========================================


~:u (1) oOeO.eOc int check : o.. c Ou o,u eu str1 :. str3 e..u ue... (2) oOeO.eOc str1 :.
str2 e..u eu.Ou ue. check : o.. ¡ eO.

u. u u,Ouu e.. string function orr ..Ou. eu.rc == operator or ..Ou. rc c ecrc :,r..
u.u e.:c c,e-ueu ecc oOeO.OO Oc,c. Ou output orr -O .-O O,Oe:u o,u:

cc.:
=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";
string str2 = " & The X-Files";
string str3 = "The Millenium";

bool check = (str1 == str3); //(1)
cout<< check << endl;
check = (str1 == str2); //(2)
cout<< check << endl;
}

=========================================


2. compare (int pos, int charN, string str)

e..u or string orr er.Oer uOu string orrO e..u c,. cc.e. rc :,r. strings ..c e..u
u. function or ..u c o.. return rcu c-u ouc, e..u eu.eO u. ¡ e:. -¡ o.. return rcu
c,e-.

Arguments

int pos:
str :, cc .e.O ec:. ..O u. rc .u er.Oee o.c..r e O.u..
89

int charN:
str : cc .e. r c . ec:. .,euu characters .<u.

string str:
cc.e.OO cr erecu z O,u string or.

c:u cc.:c<e.c ecOueu str2 : index ¡! e O o,u characters ¡+ (“The Millenium”) , str1 O
e..uc,. cc.e. rc... e.:c o. e..u Ou ue. check : o.. c eO.

=================================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";
string str2 = "The X-Files & The Millenium";

int check = str2.compare(14, 13, str1);
cout<< check << endl;
}

=================================================


empty function

e.. function or ..u cc.e.Oc cr rcueu re.. string orr :e string orr c .uu.. e..O
re. argument orr pass rc . u u,u. cc .e. rcu c-u string or :e u., empty ..u true,
return eO .

cc.:
=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";
string str2 = "";

bool check = str1.empty();
cout<< check << endl; //(1)
check = str2.empty();
cout<< check << endl; //(2)
}

=========================================

~:u (1) oOeO.eOc, str1 uc text string orr o,u u e., check = false (0) Ou ouc (2) oOeO.eO c ,
str2 uc reOr eu..,u ue. check = true (1) eO .

90

erase function

erase function or ..u string orr er.Oer .r. c,. . :,r.

erase (int pos, int charN)

Arguments

int pos:
oc.c string oru cuu .r. c,. . o,c®. .u eO.u..

int charN:
.r. c,.. . u characters .<u.

cc.:
=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";

str1.erase(4,4);
cout<< str1 << endl;
}

=========================================

~:u, str1 : 4 Ou character oer: e O characters 4 r .r. c,.. eceO. oOO ~uc Oueu “The
enium” .uu. .



find function

find .. u string orr o,u uu character orr e:. character string orr ec:. cc.e. rc :,r.
oc.c string or uc cc.e.OO cr erecu character string or u e- u. , function or o. character
string or :.Ou eO.ue. index number or return rcu o,u.

find (string str)

Arguments

string str:
oc.c string oer: u e-c,. cc.e. rc .u character string or.

cc.:
=========================================

#include<iostream>
#include<string>
using namespace std;
91

void main(){
string str1 = "The Millenium";
string str2 = "Millenium";

int pos = str1.find(str2);
cout<< pos << endl;
}

=========================================

e.:c str1 u c str2 cOu . c,. cc.e. erecu ouc, str1 u c “Millenium” .uu :.Ou eO.u. Ou
index 4 o.. pos u c .-:. Ou o,u.





insert function

e...u or string orr .u,. eO.u.rO eOuu string orr o,uc rc :,r.


insert (int pos, string str)


Arguments

int pos:
. c string orO str string or o,u c rc .u eO.u..

string str:
o,u c rc .u string or.

cc.:
=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";
string str2 = "new ";

str1.insert(4,str2);
cout<< str1 << endl;
}

=========================================

~:u, str1 uc ! Ou eO.u.O str2 o,u c eO.. o ou O uO str1 Ou o,u eu “The new Millenium”
.uu..


92
length function

e... u string orr o,u characters e-..O e:Ou o: length or c-..u :,r.

length ()

Arguments
e.: arguments u,u.


cc.:
=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";

int len = str1.length();
cout<< len << endl;
}

=========================================

~:u, str1 : characters e-..O Ou ¡+ c,e-.


[] operator

e.. operator or ..Oue.u string orr .. eO.u.r o,u character orr c-..u :,r..


cc.:
=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";

char c = str1[6];
cout<< c << endl;
}

=========================================


~:u, c u cO str1 : e Ou eO.ue. o,u “l” c-. .,eu .


replace function
93

replace function or ..u or string orr .u,. eO.u.r o,u character string orr eOuOO
eOuu string orr o.ec. rc :,r.


1. replace (int pos, int charN, string str)

Arguments

int pos:
str string or ..u, . c string or replace rc . o.c.. rc .u eO.u..

int charN:
replace Ou OO cc. string oru ~Ou rc .u characters .<u.

string str:
o.ec . rc . u string or.

c:u cc.:c<e.c, str1 : “Millenium” .uu eOu OO “X-Files” .uu o.ec. Ou o,u. ou e. str1 =
“The X-Files” -OO cu Ou o,u:


=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";
string str2 = "X-Files";
str1.replace(4,9,str2);
cout<< str1 << endl;
}

=========================================


2. replace (int pos1, int charN1, string str, int pos2, int charN2)

Arguments

int pos1:
str string or ..u, . c string oer: replace rc. o.c.. rc .u eO.u..

int charN1:
replace Ou OO .c string or u ~Ou rc .u characters .<u.

string str:
o.ec . rc . u string or.

int pos2:
str string oer: o.ec.. o.c.. rc .u eO.u..

int charN2:
94
str string oru o.ec. rc .u characters e-..O.

c:u cc.:c<e. c , str1 : “Millenium” .uu eOuOO str2 : “X-Files” .u er.Oe o.O o.ec . Ou
o,u. oue. str1 = “The X-Files” -OO cu Ou o,u:

=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){

string str1 = "The Millenium";
string str2 = "The X-Files";
str1.replace(4,9,str2,4,7);
cout<< str1 << endl;
}

=========================================



substr function

substr function or ..u string orr er.Oer uO string orr ece c-..u :,r.

substr (int pos, int charN)

Arguments

int pos:
oc.c string or eOu rc.O oO.. eO.u..

int charN:
string oru eOu rc.u .u characters e-..O.

cc.:
=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";
string str2 = str1.substr(4,9) ;
cout<< str2 << endl;
}

=========================================

~:u cc.:c<e. c str1 : “Millenium” .u er.Oe, substr ..u eccu. rc, o. uO string orr
ece str2 eOu o.ec . erec.

95



swap function

swap function or ..u or string orr o,u cuu. eOuu string orr o,u cuu. e.. :O..c,
rc :,r.

substr (string str)

Arguments

string str:
. c string or e.. cuu :O..c, rc .u 2 O,u string or.

cc.:
=========================================

#include<iostream>
#include<string>
using namespace std;

void main(){
string str1 = "The Millenium";
string str2 = "The X-Files";
str1.swap(str2);
cout<< str1 << endl;
cout<< str2 << endl;
}

=========================================

~:uc, str1 :. str2 .u strings ecer: o:. text strings ..c :O..c, erec. o ouO oOe.ue.c
str1 : u- . .u eu “The X-Files” Ou ouc str2 : u - . . ueu “The Millenium” eO.


ctime library

ctime library or u c o:. Oueu r.c. e.-u. cuu e.. rO.u rc. ec:. uc..<. erc,<
functions .. cc.:c<.r ece c:u O,:eO:u oc cu. e: r.c. console window or .u
ecu O. :

=========================================

#include<ctime>
#include<iostream.h>

void main()
{
time_t tnow = time(0);
cout<< asctime(gmtime(&tnow));
}

=========================================

96
~:u, time_t .u r.c. .-:. r c. c < e C++ uc o,u cuu Oc.... o ouO, c,u r.c. .-:.
rc.O time_t type oru tnow variable or e.c. o,u. time function or .. u c,u eO c.O c-.e.u
o. tnow u c .-:. erec . ~u ce gmtime :. asctime .. u now u c o,u r.c. text string orr
-OO cu er.O Terminal or .u c e rcO. .














10. C++ ..u ecc Media Player orr e,c.



e.. oce. oOeu cccecc... e.:c oc ecr. -,c.O .ueu C++ ..u ecc Media
Player orr e.cu o.r.c... e.: oc e,c.O oc:e rcu cc .<r O,:eO:u o,u u O.e.u .
“ecc ” .-c r...r eu.Ou o,u. .-O e.. ou uce.c. u c oecO er.O . cc ~c.. O,u ec.r
rc :,r eu.Ou o,u! e.. ~c ccu r c e. oc:e : ecr ~:u ccc ecc Occ ~e.u .u erc c
c.Oc c rc ce.. euOu cc.<r O,:eO:u e.cu o.r.c. c c -c . c O,O: .r .-O c-.c .. .
oe.u. C++ cc-c .-e. cec.... O,: rc...
c,u, oc e,c .O ec.u. Ou media player or .. u .-O mp3, wav, mpeg, avi e: wmv .u
formats Oc u .u media files ..Ou. rc.O :,rOu o,u. e.. ecc Object oriented program orr
Ou o,u ouc, inheritance e: oeuru erc < Object oriented r.eOc.u ..Ou. rc eu..,u ue.
uOr r.ec-r.uO O,:eO:u OO:. .,u.O c:e Ou o,u.

oce. Media player program orO o,u eu c:u c,r eOu o.r.ce. ecc DOS interface orr (.u
cOr).



·oc. Ju.J·

.- O,:eO:u ..Ou. rc OO cc. eOu. ceOu menu or ~:u o.r.c. .u o,u. .-O audio e:.
video file orr play rc.O oO.. O OO rc .ueu keyboard oer: A .uc o-... oOO O,:eO:u
.. u c:u c,r eOu cc c file path orr O.eu o,u.


97


·oc. Ju.z·

.- file path or O,:eO:uO uO,ccO ec.. Enter button or press rc OO o. file or play O.,
O,:eO:u ..u “Playing…” u,.,u message or c e rc. u , oc. ¡c.+ : eceuu ece oc.u
o,u. File or video orr u. video or cerc. ec:. o.uc window orr eO.r.O OO-u Ou
o,u.




·oc. Ju.s·

[e.:c e,cr. .u ec.r u. media file oer: u. or er.Oeru c.<r .u O .O oO.. O .. .
er.Oe rc.ru .u u.r o,u file orr (cc.: Tears in heaven.mp3) ..Ou. r c .O e..
O,:eO:uO e-.e:. O O eu.:,r Ou o,u. e..O c u rc..u o,u u. u e.: c o. ccr . .,u
e.rcc. rc.O eu..ueu. .]

u,Ou main menu or c-. .,u .O .- Enter button or press rc .u.. oOO c:u ece u,Ouu
menu or O,:eO:u ..u ce rc..



·oc. Ju.!·

c,u , c,uO play eO. u cOuu media or, D o-. ..u pause rc :,r .. oOO “Paused…” .ueOu
message orr print eO (oc. ¡c.¯).

98


·oc. Ju.s·


u,Ouu play O. resume rc .O u. A c uO file orr play rc.O u. S .-. ~uceO A c o- .
.u.. Resume rc OO “Resumed…” message or print eO (oc. ¡c.e).


·oc. Ju.o·

S ..u file or stop rc :,r.. oOO “Stoped…” message or print eO (oc. ¡c.¯).


·oc. Ju.1·

O,:eO:uu ~Ou O .O u. F o-. .u.. oOO “Bye!” .u message or c e rc. u O,:eO:u u .
Ou o,u (oc. ¡c.s).

99


·oc. Ju.8·

O,:eO:u r..rcueu ~:u c,rOu o.r.c.O.. c,u oc e.. O,:eO:u c.u eu eree c,.
-c. .




Project Media Player


1. Visual C++ .. u Media Player u. u uO Win32 Console Application project orr e.cuu.
Project or e.cu O O “An empty project” u,.,u option or select rc.O .ur u-..uu.

2. c,u “MediaPlayer” u.u uO C++ file orr project or u cO o,uc rcu u.

3. “MediaPlayer” u,.,u C/C++ header file orrc project orO o,u c rcu u. (header files cc-cO
“Object Oriented Programming” u,.,u cc c ec ce. oOeu ...e. c Oeuc erc < ). c,u .e-
Project workspace oer: FileView window or oc. ¡c.) o.r.c. .u o,u.




·oc. Ju.u·

4. c,u MediaPlayer.h file or double click rc o. OO-u rc .uu.

5. MediaPlayer.h u cO c:u c,r eOu cc c , conio, Shlobj, iostream, string .u libraries include
rcuu.


100
====================================

#include<conio.h>
#include<Shlobj.h>
#include<iostream>
#include<string.h>

====================================

conio library or oc e.:c include rcu eu o u c o,u getch() u,.,u function or oce.
O,:eO:euc c.Occ.O .,u . c<e.. Shlobj library or u oc c-. .ueu wsprintf,
mciSendString :. MessageBox .u functions .. e.. functions c c -cO ce O O e uc erec .

6. oc string library or c.Oc c rcu ue. . c.O “using namespace std” .uu e.c. . u..

====================================

#include<conio.h>
#include<Shlobj.h>
#include<iostream>
#include<string.h>
using namespace std;

====================================

7. c,u c:u uc rc orcu c,reOu code or type rcu u.

====================================

#include<conio.h>
#include<Shlobj.h>
#include<iostream>
#include<string.h>
using namespace std;

#pragma comment(lib, "winmm.lib")

====================================

e.. uO code or ..u e crcueu winmm.lib u,.,u library file or O,:eO:uO o,u c
rc... e.. c,uO oc include rc o,u Shlobj library or e.. r..rcu ouc winmm.lib
eu..,u u. ocO ~c c e. c :.O .O u ..u mciSendString function or r.. eu.rcu o,u.

8. Media Player O,:eO:u ecc object oriented program orr ece e,re. .u u e., O,:eO:u
uu object orru c.<r .uO u.O.O oc:e erec. e.. object or Player u.u u. rc. .
Player class or u c MediaFunc u. u . u , u. argument or ece integer variable orr c-.
.uu. function orr c Stop, Play, Pause .u boolean variables u u O.c mediaCommand e:
pathSrc .u character arrays eu.e:.u character strings ..cc oc ouuc .u rc . u . (o.
variables Oc :. function oer: r.c..u ceO Oeuc eO). Player class or c,u MediaPlayer.h
header file or u c c:u cc c declare rcuu.

====================================

#include<conio.h>
#include<Shlobj.h>
101
#include<iostream>
#include<string.h>
using namespace std;

#pragma comment(lib, "winmm.lib")

class Player{
public:
void MediaFunc(int x);
bool Stop;
bool Play;
bool Pause;
char mediaCommand[50];
char pathSrc[50];
};

====================================

~:u player class : declaration or type rc. oOeu O OO workspace or u c o,u classView
window oer: uO Player class or :. o. u c ou uc .u function or e: variables c:u ece
ceOu o,u.



·oc. Ju.Ju·

Player class oer: ouuc .u function oer: :. variables Oc r.c..u e..uO.c,. c,u oc
.cr O.e.u :·u..u. .

• MediaFunc(int x) – e.. function oer: r.c .. u. o.O pass rcu c-u integer orO ouO
r ..Ou e cr c ... ou. , .- o.O ¡ o.. pass rce:.u function or ..u .- crOu media file
or play rc. o.c.. rc .u.. .- pass rcueu z u., o. media file or ..Ou. O.
u,O,uO. .u. (stop). Pass rcu o.. + u. media file or pause rc .u..

• pathSrc – e.. char array or oc ..O u. rcu eu play rc.O oO.. media file oer: file path
or .-:. rc.O..

• mediaCommand – e.: r.c.. ceO ecr. -c. .

• Play, Pause, Stop – e.. Boolean variables uuO. ..Ou. Oueu media player oer: state or
e:Ou c,uO o. media orr play rc. u eOuO.c, Pause rc o,uc oee u u,uu. reOr
eu.rc.u eO uO.c .ueOu O.c O. rc. c <e..

~:u c,rO functions e: variable c c -cO ~c c e. c .-O O:. e:.c O,O:.r c,e-u o,u.

9. .c.O rc . u eu ~:u declare rcu cc MediaFunc function or define r c .. . e.. e cr c .
ec:. oc MediaPlayer.cpp file orO ... u.. .r u e.c.u Header files u c reOr define rc
102
eu.:,r ouc oO. o,ueu declarations ec:. c.<r e:.<. MediaPlayer.cpp file or open rc .
ec:. workspace oer: MediaPlayer.cpp file or .u double click rcuu.

10. MediaFunc function or define r c .O cc. eOu MediaPlayer.h header file or MediaPlayer.cpp
file or u cO o,uc er.O e O . .u.. e...u MediaFunc : declaration or O,:eO:u ucO
o,u c eO . c:u code oru e.. ec eO. o. MediaPlayer.cpp u c type rcuu:

====================================

#include "MediaPlayer.h"

====================================

11. c,u function or define rc. oc®. . c:u c,r eOu eu o: cc. o..c. (class functions define
rc. cc-cO oc “Object oriented programming” cccecce. ecr. -,ceO. ).



====================================

#include "MediaPlayer.h"

void Player::MediaFunc(int x){

}
====================================

c,uO MediaFunc function or :e function orr -O .-O eceu .

12. .- ~:u r.O ccc MediaFunc function oer: r.c.. u. o.O pass rcu c-u argument
oer: o..O ouO r.c..u ecrc ... e.ue. function or u c cc.eOu . rc.u ec u.
function or ucO pass rcu cc variable oer: o.. r.rc,. cc.e. rc -,c... oOO or or
o..u pass rcO O e c rc .ueu r .r c,. ocO u c<. rc:,r. e. ec:. oc e.: c
e..c..u eu switch – case program flow control statement or. (program flow control statements
cc-cO oc 4 Ou cc cec ce. c ~e.u.u u.). switch-case e.c O O MediaFunc c eeOu o.r.c.
c:u c,r eO :

====================================

#include "MediaPlayer.h"

void Player::MediaFunc(int x){
switch(x){
case 1:
break;

case 2:
break;

case 3:
break;
}
}

====================================
103

e.: c switch-case ..u ecOueu MediaFunc function orO pass rcu c-u int x argument
oer: o.. ¡ c z c oee u,uu. + eOc .uu ccre...
13. c,u oc e.. switch-case : case statements ucO oc.c codes e.c . .u.. c:u c,r eOu eu
switch-case uc type rc.u cc.<r eru.ue.u er.Oer.


========================================================

#include "MediaPlayer.h"

void Player::MediaFunc(int x){
switch(x){
case 1:

// if paused or playing, no menu
if(Pause!=true && Play!=true){
cout<< "Enter the path: " << endl;
cin>> pathSrc;
wsprintf(mediaCommand, "play %s", pathSrc);
cout<<"\nPlaying..."<<endl;
}
Pause = false;
Stop = false;
Play = true;
break;

case 2:

Pause = false;
Stop = true;
Play = false;
break;

case 3:

Pause = true;
Stop = false;
Play = false;
break;
}
}

========================================================

c,u e.. uO codes Ocu ecOueu r.rc,. :·u. .,u.O rcu cue.:.. ~:cu. o,u case
1: eOu u oc...

.cu . o,u if statement or ..u Pause :. Play .u boolean variables, true eOc,. cc.e. rcu
-O .-O eceu . e... u , c,uO re .. media file orr play eO. u e:. pause O e:. cOu. c,.
:·u..,u. ec eO. o. ecOueu e.ee. :

~:uu c .- r.O ccc Pause, Stop :. Play variables Oc r.c .. r e.. e..e:.ur Media
Player or ecrcu r.c .. O.cO. rc u,- ...

ou.,

• Media Player or file orr play rc. u e O uO.u. Play variable oer: o.. true O. .u ouc
Pause :. Stop variables Oc o..u false O . . u ..
• Media Player or Oeu ..Ou. eO. u c,Ou file orr pause rc o,uu. Pause variable oer:
o.. true O. .u ouc oeur variables . .ec: o..u false O. .u..
104
• Media Player or reu eu.rc uc:e O o,u u. Stop variable oer: o.. true O. .u ouc
oeur variables ..c false O . . u ..

c,u , .-O ~:u code oer: eceuu ccc e,. case statement orr u c. e.. Pause, Stop :. Play
variables Oc o...u oc.c ece true e:. false rc o,u. ou. , (MediaFunc function or ucO ¡
o.. pass rc OO) case 1 u cc ecO. . u eu file orr play r c. Ou e:.u, oucc Play : o..
true rc oeurO. false rc o,u. oe.u. (MediaFunc function or ucO z pass rc O O) case 2 u c
e c O . . ueu file orr stop rc. u e. o:c Stop : o.. c.<r true rc o,u. oOe.u O.e.u
(MediaFunc function or u cO + pass rc OO) case 3 u c file orr pause O . ecOu ue. Pause :
o.. true rc o,u. (e.. play, pause :. stop O. ec Oueu ereec,. ~cce.c .-O c,r.u :,r.)

oeeu., oc ecr. -c. u eO case 1 u c o,u if statement or u e cOueu r .r c,. .-O OO:..u
:,r. ou. , e.. if u c cc.e. rcu uuO. eu. Oueu MediaPlayer or Oeu file orr play
rc. u e:. pause rc eu..,uOO e:Ou, Stop : o.. true Ou OOc.. (e.. if .. u Play :. Pause
: o..u false c,. cc.e. r c . eOu OO Stop : o.. true eOc,. .uu c cc.e. rc :,r..)

if ..u cc.e. rcu c-u uuO. eu. eO u. . c.O O:.. ec OuOueu “Enter the path:” .u
message or Terminal window or uc print rc.u file path orr O,:eO:u c.Occ rcuu.e.u
O .e . -O .-O code oer: cc. ec c. ece -,c e.u O,Oe:. ou., O,:eO:u .e-u file path
orr O .eu eu o. c,uO. file orr play rc. u eu..,u u. e:. pause rc eu..,u u. c.<r.
e.:c .-, play rc. oO.. media file oer: file path or console window or ucO type rc, Enter
button or press rc O O, o. type rc path or cin .. u pathSrc string or ucO o,uc rcu c-u
-O code oer: cc. ecc u ce eO (pathSrc u,.,u u. e.c.e.u o,u eu path e: source .u Ocu
..c or rc, erO r c e.u ).

. c.O :. Ou eu wsprintf u,.,u function or e:u eru... wsprintf function or o:. Oueu
Shlobj library or u c -O .- .O rc u cO O.. c,u oc e.. wsprintf function or r.. rcueu
ereec,. OO:. .u. :



wsprintf function

int wsprintf (char* buffer, char* format, char* source)

e.. function or ..u ec rcueu source u,.,u text string or format rc (oO.. o.r.c.O ere.)
o. buffer u,.,u char array or uc .-:. rc...

Arguments

char* buffer:
Format rcu cc text string or .-:. erecu char array orO e... O u pointer orr .

char* format:
Text string or format rc .u o.r.c. c,reOu char array orO e...Ou pointer orr . (e..
format O . e c Ou o.r.c. e..e:.uru ecr. -,ec )

char* source:
Format rc.O cr Ou char array orO e... O u pointer orr .


wsprintf ..u e c Ou ec c,:,c c rc.,u.O ecc o.O arguments pass rc . :. e.-u. rc,< .,u
.cr ecr. -,c. ece.. c:u c,reOu rc,< cc-c oO..u. e... rcuu.

105
~:u .- c O cc c wsprintf eOu call r c e. c oc o.O pass rc .u Oueu char arrays e:Ou text
strings ec:. pointers .. r e.. array orrO pointer orr e.c..u :,r r.. Oueu o. array
oer: index 0 e O.ue. o,u cu ue. memory address or, oc.c data type oru .u pointer orrO
o.ec . r c . -O .- “Pointers” u,.,u cc c ec ce. “Arrays ec:. pointers e,c .” u. er.Oee c
c O O.. ~:u wsprintf function oer: argument pass r c e. c c.O c c rc .u eu e.. . c.c... .
wsprintf u. e.c arguments ece c-..u eu char arrays ec:. pointers .. e. ue. oc o.O pass
rc . u Oueu ~:u r . ccc char arrays Oc index 0 eO.u Oc addresses .. e.. : ecr o. char
array oer: u. wsprintf ucO pass rce.u ec rc :,r.. .rue.c.r array pointer orr e,c.,
pointer orrO :ecr oc.c array oer: u. o.ec. rce.u ec rc :,r O .. (e.. “Pointers”
cccec ce.: c,rO<). Code oer: ec rc o,u eu e.... .- c,u code or ece -,c Oe:.u
wsprintf eOu o: ¡ Ou :. + u O,u arguments ece pass rc o,ueu mediaCommand e: pathSrc
.u char arrays ..ec: u. -O c,r. :,r..

u.u o: z O,u argument or ece erc u. text string orr e..c. o,u. o,u euu. e.: c
e c Oueu c ~:u ec.. eOue o.r.c.rO.. o: c z Ou argument or ece variable orr ..Ou.
eu.rc :eO. text string orr pass rc o,u. (pass rc o,u “play %s” .ueu: ocO. r.rc,. .-
e..e:.uru cru o,u). e.., “play %s” .u o.. .-:. rcu cc char array orr address orr
pass rc .O :c.O. e..u..

wsprintf ..u o,u euu. e c rcu c-u eu ~:u source u.u c o,u char pointer oru crOu
char array or u c o,u text string or oO.. o.cu format rc buffer u.u c o,u pointer oru
crOu char array or u c .-:. r c... e.. format O. ecOueu format u.u c o,u pointer oru
crOu char array or uc .-:.O o,u text string orO ouO.. ou., format ..u crOu string or
ecrcueu source u,.,u string or format rcu o.r.c. wsprintf function orO ecu O. c ...
e.O,u text strings :· u Ou c-u eu format-control strings .u u. u . e.. Media player
O,:eO:eu: “play %s” ece c,r. :,r .. e.:c format-control string or ece .,euu eu “ %s ”
.u er.Oe..

Format-control string orr :,.O O. o,ce.ueu % cr <u. ~uceO ou uu character oru
c,reOu eu wsprintf : euO,u argument variable or uc o,u cuu.O e,cr. .u o.r.c... ~:u
format control string oer: uu character or ece s e.c e.u c,r eOu eu, +u Ou argument or
string orr ece e,cr. .u -O. . wsprintf function or ..u format – control string oer: %
ecr <O ecc o,u string er.Oe, ou. “play” .uu o.O pathSrc string oer: o:. text string or
o.<. o. mediaCommand u c .-:. rc. eceO. o ouO, cc.:c<.r O.e.u .- pathSrc ucO
c-.c o,u eu “D:\X-Files\track3.wmv” .u file path string or u. wsprintf function or
.. u o. “play D:\X-Files\track3.wmv” .u string or -OO :cO. o. csCommnad u c
.-:. rcu o,u. ou. , format-control string or Ou “%s” .uu ~OuO ou,uO wsprintf : 3 Ou
argument or Ou string or o.ec . eO. (mediaCommand u c .-:. rc e.. text string oer: ocO.
e: c e..eu. oc e.. O,:eO:u ~c c .O c .u O O .-O c,:,c c Ou o,u.) wsprintf function or
execute O O:.. play O. o,c. o,u -O c,r O .O “Playing…” .uu print eO.

e:.c. . ~:u er.Oee c e c rc ec u,Ou erO e.u ec:u rce:.u , oc ec rec: Media Player
O,:eO:u c.Occ rcuu. Oeu O,:eO:u u cO ¡, z e:. + o...u o,u c rcO O, o. o...u O
ouO r..u.r O. c <e switch-case code orr e,re... o:c oc cc. case statement or u cc
program or c.Occ rcuu.e.u file path orr c-. e.u, o. file path or pathSrc u c .-:.
rec.. ~uceO, wsprintf function or ..u “Play” .u string or o.O pathSrc : o,u o..(file
path or) o.<. o. mediaCommand .u string or u c .-:. rec.. e. e.cc ecOueu c,uO
O,:eO:u Oeu file orr play rc.u e:. pause rc u,u O O -Oc if statement orr ..u u:Oc,
rec..

c,u oc play rc .u media file or cc.<re. c-: u,O e.: cOu u eO.u. cu.. o: file path or
oc pathSrc variable or u c .-:. rc o,u. c,u rc . u eu e.. file or ..Ou. rc. ec:. oO..
codes cO... (e.. e.cOr O . ec:. .e- cc.<r.O Sound card orr install rc u -. .u -Oc,
cc.<r.O e.-u. rc o,u speaker orr .- euO u -. .u -Oc e.:c ec:u r c. ouO...)
106
c:u c,reOueu media file orr play rc . ec:. oO.. cc.<r eru o:. rc c.u c,- uO
code or. .

=============================================================

#include "MediaPlayer.h"

void Player::MediaFunc(int x){
switch(x){
case 1:

// if paused or playing, no menu
if(Pause!=true && Play!=true){
cout<< "Enter the path: " << endl;
cin>> pathSrc;
wsprintf(mediaCommand, "play %s", pathSrc);
cout<<"\nPlaying..."<<endl;
}
Pause = false;
Stop = false;
Play = true;
break;

case 2:

Pause = false;
Stop = true;
Play = false;
break;

case 3:

Pause = true;
Stop = false;
Play = false;
break;
}

if(mciSendString(mediaCommand, NULL, 0, NULL)!=0){

}
}

============================================================

~:uc, uO function orr Ou mciSendString .-O :. eO . c:u c,r eOu eu e.. function or
cc-c :,cuO...




mciSendString function

mciSendString function or ..u ec Oueu o.O ec.u c-u media file orO media
commands(play, stop, pause, etc) e,c. .. .

int mciSendString (char* command, char* returnInfo, int bsReturn,
HANDLE callback)


Arguments

char* command:
107
e.. string oer: o:. O. . u eu media file or ec:. ec.u command string or..

command string or c:u format orO, e:Ou e,c,e.O ouO e,re u -. .u.:
“ MediaCommand, FilePath ” – ou., cc. eOu oc.c command or(play, stop, pause, etc) ec:u
O. .u ouc ecOuO, o. command or e,c.. .u media file oer: path or ec:u O. .u..

char* returnInfo:
int bsReturn:
HANDLE callback:
~:u c,r eOu arguments u u O. oc e.. O,:eO:eu c ..O u. eu.rcu e:.u o O. cc-c O e uc
e.:c eu.ecr. :cu c,e-. o. arguments ..O u. eu.rcu -O c,r O .O, code oer:
mciSendString function call or u cc o O. pass rc .u eO.u ec:. NULL e:. 0 .u o...u
e..c. o,u. e.. o..u e.ce.u oc:e rcueu arguments ec:. pass erecu eu .u. O o..u
-O. .

c,u code oer: mciSendString function orO call rc o,u o.r.c. -cu u. (call O . if statement
orr u c e c Ou eu o,. c,. ce O O e uc eO ) cc. eOu o.O pass rc o,ueu c,u media command
or .-:. rc o,u mediaCommand string or. . e.. .- ~:uc c O cc c . cc. O media command
orruc, ecOuO file path orruc e.uOu. (cc.- “play D:\X-Files\track3.wmv”).
mciSendString function or execute O O.e command string oer: c,reOu file or, command string
oer: o,u media command or ouO play, stop e:. pause Ou o,u.

e. ouO, code or u c o,u swich-case block oer: cc. case statement or true Oueu u.,
mediaCommand string oer: o:. media command or “play” .uu -OO cu Ou ue., oO O
mciSendString function or ..u oc.c file or play rc. oc®u o,u.

mciSendString function orO call rc o,ueu if statement orr uc eO -O uc.e<. rcuu. e..O
e: uO u. mciSendString function or ue cc c r ..u .r eu.OuO. u. o. oe,uu .
:·u..,u.O e...u :,r..O c,e-u ue.. mciSendString function or ..u return rcu
c-ueu integer orr -O ~:u o: :,cuO. u cc .- cruuO o,u (Functions .. u o..u return
rcu c-u o.r.c. cc-cO oc “Functions” cccec ce.c ecr. -,ceO. ). mciSendString e.c OrO
r ..u .r O Oe:.u , ou. o.O .- c-. ecu media file or play rc.O :,r OOe:.u , o. return
rcu c-ueu c o.... mciSendString : r..r.cuO. oe.cOr OOe:.u, ou. o. file or play
rc.O oec.e:.eu OOe:.u o. ..u return rcu c-ueu c O O,: o..r. e.. c O O,: o..,
file or play rc.O ccu cue.:e.c cc.u Ou .,OcOO e:Ou Runtime error or .u cc. cOu ..
(Runtime errors .u u.u :,cueOueu re.. cc.<r O,:eO:ur r..u.r Ou e..e:.eu c
o. O,:eO:eu: r..r.cuO. o:.c O.O e:uOu errors .). e. : c mciSendString function or
r..u.r eu.O.O OOc e:ueu -cc, :,r.. cc.:c<.r O.e.u .- e,c. file or media file
orr eu.O.O ~: o,u. oee u u,uu. o. file oer: media format or mciSendString function or
eu.:cuuO. O . :,r. u,ue:.u : ecr .- type rcu cc file path oer: ec...r u e-uO. O.
:,r.

if statements or ..u ecOueu o: Oc:u u c o,u uuO. eu. OOe:.u, o: e.c Oc:u uc
o,u code or execute rc. -O .- “cc.<r O,:eO:ur r..r.c uO. c.cu. r c.” .u
cccec ce.c c O O.. e.. “eu. O .” .u eOu o,uuO.e.u . :,c ueOu eu if u c o,u expression
oru c O O:. O,: o..r ~cc... oeeu. “oeu. O .” .u expression or u c o.. uccO..
(e.. Boolean data type or cc-cO e.rcc. rce.c ec:u O<). oeeu. mciSendString ue ccc
r .. eu.rc O .e e.. if : Oc:u u c o.. true Ou ue. (mciSendString ..u c O O,: o..r
u cceOu u e.) if .Oeu o,u codes, execute e:Ou r..u.r Ou o,u. e.e:. u, oc . c.O rc
. u eu e.. if, true eO u. e:Ou file or ue ccc ..Ou. rc.O eu.:,r u., cc.O O,:eO:u
Oeu rc .u eu r.rc,. u c<. rc ... e.. O,:eO:eu: eccuO. cece., oc e.:c ec rc.O
.ueu ecc message box orr O,:eO:u c.Occ rcuu. :O c e rcO ... e.. message box or
u c "Sorry, can't play your file." .u message or c e O . . u.. e. ec:. c,u if u c
ouuc.u O..u codes e..uO.c,. cc.e. rc -c.:

108


=============================================================

#include "MediaPlayer.h"

void Player::MediaFunc(int x){
switch(x){
case 1:

// if paused or playing, no menu
if(Pause!=true && Play!=true){
cout<< "Enter the path: " << endl;
cin>> pathSrc;
wsprintf(mediaCommand, "play %s", pathSrc);
cout<<"\nPlaying..."<<endl;
}
Pause = false;
Stop = false;
Play = true;
break;

case 2:

Pause = false;
Stop = true;
Play = false;
break;

case 3:

Pause = true;
Stop = false;
Play = false;
break;
}

if(mciSendString(mediaCommand, NULL, 0, NULL)!=0){
system("cls");
MessageBox(NULL,"Sorry, can't play your file.","HALT!",0);
Pause = false;
Stop = false;
Play = false;
}
}

==========================================


if u c cc. eOu . e c Ou eu Terminal window oer: c,uO ceOu e.c ec .r. c,. ... e..
system u. u o,u function or .. u ec eO . system function or u. argument or ece c-..ueu
DOS commands eO. (DOS commands .u .- Disk Operating System or .Oeu cc.<r.r
r ..rcOu O O o.O e,c.. . u O..u.u.). system function or .. u ec rcu eu o.O pass rcu
c-u DOS command orO oc.c DOS r..r.c uO. e c r c ... oce. O,:eO:eu: system function
or u cO pass rc o,ueu “cls” u,.,u DOS O..u.. . .-O DOS commands c c-c c,u.r o,ueu
u., “cls” .u Terminal window oer: ceOu c, .r.c.u(clear screen) O..u. -O cuuO. o,u .
e. ue. e.:c ecOueu ecc r ccc. e. Ou OO O,:eO:u ..u Terminal window or u c
ceeOu e.cc .r. c,. ...

. c.O o,u code or ecc ec:u message box or c e rcu c-u cc .<r er u.. . c:u
c,reOu eu MessageBox function oer: :,cuO...


109
MessageBox function

MessageBox function or .. u e cOu eu o.O ec.u c-u message string or ouuc.u Ou ccc
Windows message box orr OO-u rc...

int MessageBox (HWND hwnd, char* text, char* caption,
int boxType)


Arguments

HWND hwnd:
e.. O,:eO:eu: c e.. argument or c.O c c .O eu..,euu ue. e.. eu.ecr. :,ec ·code
oer: e.. argument or pass rc . u e O.u.O NULL o.. e..c. o,u¯.

char* text:
e.. char array oer: o:. O. .ueu message box or u c ceO . . u text string or. .

char* cpation:
e.. message box oer: title bar oer: c e O . . u title or. .

int boxType:
e.. integer oru c,r eOu eu message box oer: type or e:Ou Oc....

Windows message boxes Oc. rc.r. e. e,. message box type orrO. int o..r o,u. boxType
argument oru c,reOueu e.. Oc.... c:u c,reOueu message boxes Oc. e: oO.O oc.c
boxType o...u..



Message box Oc.. boxType o..

Ok button or c.<r e:u message box or - c
Ok e: Cancel buttons e:u - ¡
Abort, Retry e: Ignor buttons e:u - z
Yes, No e: Cancel buttons e:u - +
Yes, No buttons e:u - !
Retry e: Cancel buttons e:u - ¯
Cancel, Try again e: Continue buttons e:u - e



O,:eO:eu: oc boxType argument or eOu pass rc o,u eu c u e. e.: c O O-u Ou o,u eu OK
button or u c.<r e.u O u message box or.. o. uc, oc Oeu text argument or ec:. pass
rcu c-u string c e Ou o,u ouc, o: title or Ou o,u eu caption argument or eOu pass rcu
c-u string or..

. c.O code oer: ecO o,ueu Pause, Play e: Stop o..u false O... e.ee rc .O e:uO u. ,
c,u file or play rc.O Media Player O,:eO:u oe.u O. e:ueOu uO file orr load r c. ec:.
e.. variables reset rc. (u,Ou . c o...u O e.u o.) ece e:.<.

e.eur oc c .. o,u O,:eO:uu e c Ou r.c..u erO e.u ec:u rce:.u :
oc switch-case statement orr ..u, MediaFunc function orO pass rcu c-u o.. r.rc,.
-,c. . Pass rcu c,- o.. ¡ O OO r..u.r O. ec:. case 1 u c codes cOeO.. o. code oru
ecOe. .. oOeO.Or file orr play eO. u e:. pause O eu..,uu. O,:eO:u c.Occ rcuu.O
110
O,:eO:uO uO file orr o,uc rc.O ~: c-. c.u, file or play rc. ec:. oO.. command or
e,re.u , Play variable oer: o.. true rc.u .. u.u o,u euu. o. command or c-.e.u file
or play rcu c-ueu switch-case block orO c Ouu o,u mciSendString function or ..u. e..
function orO call rce.c function or ue ccc r..u.r eu.Oue:.u ecrc .u ec. oc if
statement orr ..u uc<. rec..

e.u,u e O oc e c rc . u ec u. case 2 e: case 3 ec:. oO.. eru.u c O... case 2 u c cO.
. u eu media file orr stop rc. ec:. Ou eru.u Ou ouc, case 3 u c media file orr pause
r c .O oc.c er u.u cO . .u.. e.. uO er u.u or rc O O Media Player O,:eO:u c:u cc c
c eeOu o,u. ocuu or rc o,u eru.u uc rc orcu c,reO:

=============================================================

#include "MediaPlayer.h"

void Player::MediaFunc(int x){
switch(x){
case 1:

// if paused or playing, no menu
if(Pause!=true && Play!=true){
cout<< "Enter the path: " << endl;
cin>> pathSrc;
wsprintf(mediaCommand, "play %s", pathSrc);
cout<<"\nPlaying..."<<endl;
}else{
if(Pause){
cout<<"\nResumed... "<<endl;
wsprintf(mediaCommand, "play %s", pathSrc);
}
}
Pause = false;
Stop = false;
Play = true;
break;

case 2:
if(!Stop){
wsprintf(mediaCommand, "stop %s", pathSrc);
}
cout<<"\nStoped... "<<endl;
Pause = false;
Stop = true;
Play = false;
break;

case 3:
if(!Pause){
wsprintf(mediaCommand, "pause %s", pathSrc);
cout<<"\nPaused... (a- resume/s>a- New file)\n"<<endl;
}
Pause = true;
Stop = false;
Play = false;
break;
}

if(mciSendString(mediaCommand, NULL, 0, NULL)!=0){
system("cls");
MessageBox(NULL,"Sorry, can't play your file.","HALT!",0);
Pause = false;
Stop = false;
Play = false;
}
}
111

=============================================================

cc. O ecrc o,ueu case 1 : if eOu else statement orr oru rc... e.. ecrc o,u eu Media
Player or file orr play rc. u e:. pause rc o,u u. (Play e:. Pause : o.. true u.) o.
oOeO.O :·u..,u. ec:... o. else uc . c.O, if statement orr ..u file orr pause O o,u c,.
(Pause : o.. true c,.) cc.e. erec. e.. eu. u. if u c o,u cout .. u “Resumed…” .uu
print rcu eu oc . c.O e c rcu eu pause O o,u file or .c ..Ou. rc. o,c.. Ou ue..
Resume rc .O oO.. command string or . c.O o,u wsprintf function or ..u uccO.. File orr
pause rc e.u ceO resume O .O mciSendString function orO pass rc .u command orc “Play
filename” .u format oru . . u eO . o. command or ..u audio / video file or u,Ouu u,u eO
..Ou. O . o,ce.u o,u. u. u e.: c file or o,u eu play eO. u u. o,u c if or false O. ue.
~:u ec:u reOr eceu.Ou o,u. oOe.ue.c Play variable oer: o.. c.<r true rc o,u eu
c,uO file orr play eO.u o,u -O O.c O. rc u,- .O..

case 2 ucc ecOueu Media Player or u c re.. Media file orr play eO. u e:. pause O
o,uu. c.<r, o. stop rc.O oO.. command string or wsprintf ..u u c ..<. O .. . o. string
or e.. format or .u o,u -O .-O O,Oe: : “Stop fileName” (wsprintf ..u e.:c ecrcueu
“stop” .u string or o.O pathSrc o.<. o. mediaCommand u c .-:. r c. eO ). cc.O o.
“Stoped…” .u message or print eOu o,u. ~uce, rc.u ccc., c,u file or stop O o,u -O
O.cO. rc.O, Stop : o.. c.<r true rc o,u.

case 3 statement or ucc, file orr pause O o,uc,. -,ecu ouc, oee u,u u. (pause O o,u file
orr u,Ou pause rce. ocO.r u,u ue.) pause rc .O oO.. command string or ecc ccc.
uccO. eceO.. o: format or: “pause fileName” Ou o,u.

e:.c. . c,u oc e.. O,:eO:u u.O e. oOeu o..c.O c,. < o,u eu. . .- Oeu c,u rc . u O
o,u eu or ec.r . ou. , e.. O,:eO:u ..Ou. r c .O ou.O.. Ou main function or cO...

main function oer:c oc ec rcueu, Media Player O,:eO:u r..u.r rcOuu.e.u oc.c input
or c-. .,u ... e.. input or ..u Media Player O,:eO:u ..u e c rc .u ec. u c<. Ou
o,u. e.:c input or ece r ..rcOu u. Oeu O,:eO:uO e,c.. . ueu character orr. o.
characters oc c:u ccc ..Ou. rc.:

• ‘a’ character or O,:eO:uO o,u c rcu c,- Oe:.u Media Player O,:eO:u Oeu media
file orr play r c .O oc.c r....c .. .u . u.. e.. r ....c .. u. MediaFunc function
orO ¡ .u integer o.. pass rc . Ou o,u.
• ‘s’ character or O,:eO:uO o,uc rcu c,-Oe:.u Media Player O,:eO:u Oe u media
file orr stop rc.O oc.c r....c.. .u .u.. e.. r....c.. u. MediaFunc function
orO z .u integer o.. pass rc . Ou o,u.
• ‘d’ character or O,:eO:uO o,u c rcu c,-Oe:.u Media Player O,:eO:u Oeu media
file orr pause rc.O oc.c r....c.. .u .u.. e.. r....c.. u. MediaFunc function
orO + .u integer o.. pass rc. Ou o,u.
• ‘ f ’ character or O,:eO:uO o,u c rcu c,- Oe:.u Media Player O,:eO:u u .O . .u..

c,u oc e.. main function or o,u cu rcu cc e.cc<, r..r.c Media Player cc.<r
O,:eO:u uc..:

=============================================================

#include "MediaPlayer.h"

void Player::MediaFunc(int x){
switch(x){
case 1:

// if paused or playing, no menu
112
if(Pause!=true && Play!=true){
cout<< "Enter the path: " << endl;
cin>> pathSrc;
wsprintf(mediaCommand, "play %s", pathSrc);
cout<<"\nPlaying..."<<endl;
}else{
if(Pause){
cout<<"\nResumed... "<<endl;
wsprintf(mediaCommand, "play %s", pathSrc);
}
}
Pause = false;
Stop = false;
Play = true;
break;

case 2:
if(!Stop){
wsprintf(mediaCommand, "stop %s", pathSrc);
}
cout<<"\nStoped... "<<endl;
Pause = false;
Stop = true;
Play = false;
break;

case 3:
if(!Pause){
wsprintf(mediaCommand, "pause %s", pathSrc);
cout<<"\nPaused... (a- resume/s>a- New file)\n"<<endl;
}
Pause = true;
Stop = false;
Play = false;
break;
}

if(mciSendString(mediaCommand, NULL, 0, NULL)!=0){
system("cls");
MessageBox(NULL,"Sorry, can't play your file.","HALT!",0);
Pause = false;
Stop = false;
Play = false;
}
}

void main(){
char c;
Player pl;
while(c!='f'){
cout<<"\nWhat you wanna do? \na - Play.\ns - Stop.\nd –
Pause.\nf - quit.\n"<<endl;
c=getch();
if(c=='a'){ // play
pl.MediaFunc(1);
}else if(c=='s'){ // stop
pl.MediaFunc(2);
}else if(c=='d'){ // pause
pl.MediaFunc(3);
}
}
cout<<"\nBye!\n"<<endl;
exit(0);

}

============================================================
113

Main : ec Ou eu r.r c¯ cc. eOu o: char c variable or declare rc o,u. e.. variable or oc
c.Occ rcueu O,:eO:u r..rc,e.u c-..uu. input character or .-:. rc .O.. ~uce
ecOueu pl u. u Player class oer: instance orr e:Ou Player object orr e,c.. (Objects,
classes, instances o.c. cc-cO oc “Object Oriented Programming” cccecce.c ecr. -,ceO.).

O,:eO:u oOeu r c.O u. ‘ f ’ character or O,:eO:uO o,u c rc .u -O ~:u ec:u O < .
oe.u. c variable oer: ouuc.u Oueu O,:eO:uO o,u c rcu cc character or -Oc ~:u
c,rO<. oeeu. O,:eO:u oOeu rc.O, o. c.Oc c rcu u.O oO.. c,. c,u.,u.O rc . u
Ou eu u cu uce.u . e.. c : o.. cc.e.OO cr rc ... e.. main uc e cOueu while loop
orr ..u. .-O code oer: c,r. :,r ccc while ..u o: e,. loop orrc. c : o.. ‘ f ’ c,.
cc.e. erec. o.. ‘ f ’ eu.eO u. loop or eu.u,Ou r..u.r Ou o,u ouc o.. ‘ f ’ eO u.
loop or - c c:cu o,u cout command or r ..u .r O “Bye!” .uu print rc.u O,:eO:u
oOeu Ou -O r ..rc,O cu Ou c,e-. o e... execute Ou exit() function or ..u O,:eO:u
oOeu rcu o,u. exit function or ..u ~u. ecc ece cc.<r O,:eO:uru ~Ou O.O .-O
oOeO.O c,e- . e.:c o.O pass rc o,u eu c o.. -O .-O eceu . e.. o.e.u c,reOu eu
O,:eO:u u c exit function or c.Occ.O e.u o,u oOeO. .<u.. ou. , .- e.. O,:eO:eu:
uOu eO.u.rc exit function or eOu call rcuO. u. o:c o.O pass rc .ueu ¡ o.... uOu
u,urc call rcuO. u. pass rc .u o.. z . . e.ece call rcu c-u oOeO. .<u e..uO pass
rc.u o..c ~:c ...

c : o.. ‘ f ‘ eu.Oe.u loop or r..u.r Oueu u., cc. O ecOueu O,:eO:eu: c..u
menu or ceO.. (c,c.¡c.¡). e.. menu oru O,:eO:u c.Oc c rcuu.O crOu c-u eu Media
Player O,:eO:u r..u.r rcO. .u o.r.c... ~uceO :.Oueu getch() function or.. e..
function or ..u e crcueu console window or :c:. .-e.u r e.. input orr c-. .,u ...
oece c-..uu. input data or, getch function or ..u o.ce return rc.. Code oer: e crc
o,u eu e.. return rcu c-u cuu. c variable or u cO c-. .,u... . c.O ecOueu if-else if
statements r c.r ..u o. c-..uu. cc cuu. cc.e. r c .. . cc. eOu . o,u if .. u c : o.. ‘
a ’ eOc,. cc.e. erecu ouc o. eu. u. pl object or c.Occ rc e.u MediaFunc function
orO 1 o.. pass rc. u call erecu o,u. o ou O e.:c MediaFunc function or r..u.r Oe.u
~:u c,:,cc rcu c,- ccc, O,:eO:u c.Occ rcuu.e.u media file orr c-.e.u o. play
rcu o,u. ~uce o,u else if statements . .c u c c eOcu ‘s’ :. ‘d’ o..u ec:. c cc.e.OO cr
erecu ouc c c eOc u z :. + pass rc.u MediaFunc eOu call erec . o ou O c c eOc u media
file or stop e:. pause eOu o,u.











Appendix

Visual C++ 6.0 eO.cu. (Install) rc.

114

c:u c,reOu o.r.c.O Visual C++ 6.0 install rcuu:

• .- .cc Visual C++ 6.0 e O.cu. r c e. e. r u u,O. (CD) .e- cc.<re. e. ru u,O
..Or.O (CD driver) o,u c rcuu. oO O .c eO c.Oru ¡¡.¡ c,ce. c,r eOu dialog box or
eO.r.O OO-u Ou o,u.


(oc. ¡¡.¡)
• ~:u Dialog box or eO.r.O OO-u Oe. u,u u. e. ru u,O.O cOe o: o,u Setup.exe
u,.,u file or r..u.r rcOuu (¡¡.z oce. c,reOueu o. file or.). oOO ~:u Dialog box or
OO-u eO.


(oc. ¡¡.z)
• oc. ¡.¡ dialog box oer: “Next” button or click rcu u. oOO oc. ¡¡.+ : c,r eOu dialog box or
OO-u eO.


(oc. ¡¡.+)
• e.: ouuc.u “I accept the agreement” u,.,u radio button or select er.O Next button or
click rcu u. oO O .uOu eu oc. ¡¡.! : c,r eOu dialog box or. .

115

(oc. ¡¡.!)

• ~:u dialog box oer: ~:cu. o,u text box or u cO .e- CD Key or o,u c rc . u.. e..
e-.e:. O O .- .cc .u Visual C++ e.ru u,O rOce. ec:u O u e-u o,u.

• cO c:u u o,u text box orO .e- u. o,u c rcuu.


• c,u Next button or click rcuu. oOO oc. ¡¡.¯ : c,reOu dialog box or OO-u Ou o,u.

(oc. ¡¡.¯)

• e.: o,u “Products” u,.,u option or select er.O Next button or select rcuu. oOO oc. ¡¡.e :
c,reOu dialog box or OO-u eO.


(oc. ¡¡.e)
• e.: Next button or click rcuu. oOO c e eOu o,u eu oc. ¡¡.¯ : c,r eOu dialog box or.. o:
“Visual C++ Enterprise Edition” u,.,u check box or select rc o. Next rcu u.

116

(oc. ¡¡.¯)

• oOO ¡¡.s : c,reOu dialog box or OO-u eO.


(oc. ¡¡.s)
• e.: Continue button or click rcuu. oO O .u eOu, oc. ¡¡.) : c,r eOu Message box or OK
rcuu.


(oc. ¡¡.))
• oOO oc. ¡¡.¡c : ceeOu dialog box or OO-u Ou o,u.

117

(oc. ¡¡.¡c)
• .-O oO.. u. e.: options .Oeu o,u check boxes Ocu Microsoft Visual C++ 6.0, ActiveX e:
Data Access .u o O. :,c oeur check boxes e.cc clear rc c,. O.O Occr Oueu u,u.
oOe.ue.c Continue button or click rcuu. e.O O oc. ¡¡.¡¡ c,reOu dialog box or ceO Oe:.u
o. OK rcuu.


(oc. ¡¡.¡¡)
• oO O oc. ¡¡.¡z : c,r eOu uc. c e O Visual C++ eO.cu. O. o,ce.u o,u.


(oc. ¡¡.¡z)
• .e- cc.<r. eu eO.. ouO e.. eO.cu. O.O .uu. r.c. eOue eOu o,u. eO.cu. u .O
ce .u eOu message boxes e.cc OK rc ce oc. ¡¡.¡+ : c,reOu dialog box or OO-u eO. o.
Next rcuu.

118

(oc. ¡¡.¡+)
• oO O c e Ou, oc. ¡¡.¡! : c,r eOu dialog box oer: Register now u,.,u check box or uncheck
rc “Finish” button or click rcuu.

(oc. ¡¡.¡!)
.- c,u Visual C++ eO.cu. rc oOe.u.. c,u .-O o. Desktop or .uu e:. Start menu oer:
“All Programs > Microsoft Visual Studio 6.0 > Microsoft Visual C++ 6.0” .u shortcut or ..u
r..u.r rc :,r Ou o,u.


Debug rc . e: Errors :c u..,u.

Program orr debug rc. .ueOu :,cueOueu re.. cc.<r O,:eO:ur r..u.r
Ou o.r.c. uc.e<. rc .O :. o: o:. ec.. :·u..,u.O ..O u. rcu r .eO c.. . e..
debugging c:e r. .-O ec.u c-u eu debugger .-cr... ..u . Visual C++ u c debugger
software orr ou uc .u. . Visual C++ : o,u e.. c:er. c e..eu.O .,u.O u. compile O .
ecOu, programming errors eu..,u cc.<r O,:eO:ur ouuc.u Ou Visual C++ project orr
u -. .u..

O,:eO:ur debug r c .O u. c O.e.u ec rc . u eu Visual C++ project orr load rc .,u ...
~uce Visual C++ uc o,u Debug window or OO-u rc .u.. o. OO-u rc.O, Visual C++ :
menu bar or .u right click rc, .ueOu pop-up menu or u “debug” u,.,u o.u.. select rcuu.
oc. ¡z.¡ : c,r eOu eu e.. debug window or..


(oc. ¡z.¡)
119
c,u e.. debug window oer: o,u step into e: step over buttons c.Oc c rc e.u .-O cc .<r
O,:eO:ur r ..u .r Ou o.r.c. u,c.. :,r .. .- step into e:. step over button or o- OO
Visual C++ u c Program execution pointer or u. u :,c u eOu cc... .u eOu o,u. ¡z.z c,ce.
r: c,:,u cuc.r ece c,r eOu eu program execution pointer or..



(oc. ¡z.z)

re.. e..e:.urc O,:eO:ur r..r.c c.e. crOueu e.. program execution pointer or
..u.. .-O step into button or ..u, function call orr o,u eO.u.r eO o. function or
o..uuc.O ..u rc, o. function or u c o,u codes r..r.c Ou o.r.c. c,r.u :,r ouc, step
over button or ..u function or ucO ..u eu.rc o.O c: u c,u, r .ec -<.r cc. er.Oe
r..r.c Ou u,c.. :,r.. ~:u c,reOu cuc. ..u program orr .- eO u e O.u. :,.O O.
c,u.u :,r. e.. euc,. .,u .O u. .- rc. u eu O,:eO:ur debug rc -,c...

e. ec:. ¡c cccec ce.c oc ecr. -,c cc.<r O,:eO:u .-O e..c. .u :,r. e. ec:. cc. O,
.- e,c Media Player project or Visual C++ uc OO-u rc .uu. c,u, debug window oer: o,u
step over button or e:. o: keyboard shortcut or Ou F10 .uc .-uu. oOO O,:eO:eu:
r ..r.c c.e. ecu Ou cuc., O,:eO:eu: main function or u c .u O eceuu o,u. c,u ,
r.ec-<e.: pl.MediaFunc(1); .u eru. ~cc .O cuc. c,. e<u eur F10 .-uu. c,u,
MediaFunc function orO o,u c O . c < e, step in button or e:. F11 .uc e:. .-uu. oOO cuc.
main u c u ~Ou O, MediaFunc function or u cO ..u rcu .-O c,r.u :,r Ou o,u. .c.O
MediaFunc : oOe.u. Ou eur ., F10 ..u cuc. ..u rcOuu. Function or oOe.u. eur
..u rc e.u ouuc,O cuc. u,Ouu main u cO o,u c Ou o,u. e. o.r.ce.u , .-O
O,:eO:ur r ..u .r Ou o.r.c. o. debug rc. ..u c,r.u :,r..

cc.<r O,:eO:u Oc ec. . - Programming errors

c:u c,r eOu eu e.. ec.eu: . c ...e. o,u “.e- cc. C++ cc .<r O,:eO:u” u,.,u
er.Oee o:. Ou O,:eO:u. ec.. e: uO c .. o,u o.r.c..:

==============================================

#include<iostream.h>

void main()
{
<< "Hello beautiful world!" << endl;
}

===============================================

~:u O,:eO:u ece -,c Oe:.u o: cout command or eu..,u -O .- cr u o,u . e.. error
orr. e.. O,:eO:u VC++ u c type rc compile r c .O cu e.: .ue:.u , output window or
.. u o. ec. .. ecu O. ecu c-u -O .- cr O. .-O output window oru c c:u c,r eOu
o.r.ce. output orr c,e-u o,u.
120



(oc. ¡z.+)

Output window oer: euOu ecc u (hello.cpp .u uO ceO o,u ec c e.u ) e.. error or cr Ou
c,e-. o. euOu ec c . .u double click rc ecOueu r.rc,. -cuu. oOO VC++ : editor
window oruc o. error or uc..<. rc eru. highlight Ou -O .- cru o,u. e. o.cu,
O,:eO:ur r e .. ec...r o,uu. o. :c u.e.u o. uO,cc rc :,r.. .- rc.ueu,

(¡) Output window oer: .-O oO.. error or cr Ou ecec: ec:u Oueu r.rc,. cc.e. rc
-cu u.

ec.. e:u cc.<r eru.r u O,cc rc.O u. .- cc. O output window oer: error or .. u
r.eOueu r.rc,. OO:..u .u .. .rue.c.u .- .,OcOrO c cucr eeO.O cc.O .,OcO
:c:,O OO:..u .u e:.u. .,OcO r.rc,. :cu..u ce .-O ec.. e:u eru. uO,cc rc
:,r.

Output window oer: error or ec:. e: uO < rc,< ec:u O u e-u o,u. o,u,. O O o.
Oeuce.: error or r.rc,. :eO. ec:u eu.eO. o,u,. OO ec:u Ou o,u eu o. error or
ue. .uO< eOuu Occr cc-cO.. cc.:c<.r ece ~:u cc.:c<e. output window oer: o,u
error or ec:u O.uue.u r.eOueu O,:eO:eu: “<<“ cr <O . cu “;” ecr< eu..,u
-O.. e,-, Occ Oueu cout command or eu..,u O. -O o: ec:u eu.eO. u.u o: ec:u
ec. o,uO e. o: cout O ..u. eu..,u O . ue... o: c :e O. error or r.rc,. ec:u eu.O<.
e..u. ece. .-O uO. output window or ece -c. r e .. error orr u O,cc O :c u..,u .O
eu.:,r Ou o,u . e.. :,r..O .- eOu c,. e<u eu cc.<r O,:eO:u cO e.u :. compile
rce.u .- c-u occ,r. .u.. e.ue. c,uO compiler errors OO:. .,u. cc-cO O,:cc rccc
eu.Ou u. :,r uc. cc .<r O,:eO:u c .. u oc c,r. oru rc.,u .O cue.: rcuu. oOO
e.. :,r ..Ou ~e- . .- rc. c,. e<u o,u.

(z) Error or.u double click rc. u error or uccO eru. r.r c,. :cu..uu.

ec... r .r c,. c,u.u ce .-O o. ec. . e: u e O.u. eOu ..u rc :,r .. oee rc cout
O..u. ueu,u type rc O,:eO:u u O,cc rc:,r..













121







--------------------------------------------------------------------



e.. ec.eu: o:. rc,< c c -cO .-e. oc:e o,uu. , oee u u,u u. ec.eu:
o:. O rc,< cc-cO .-O oc:,ccu.Ou, .,Oc o,u u., rc,<.rc c:u
c,r eOu c-e. c c cu.O .e- oc:e , .,Oc e... rcu u:

geekat02@yahoo.com


--------------------------------------------------------------------