Content deleted Content added
Rreshti 145:
 
===Program i orientuar në objekte===
{|width=200px align=right
|-bgcolor=#aaaaaa
|Terme nga programimi
|-bgcolor=#999999
|
*[[Pogramimi/P#POO|POO]]
*[[Pogramimi/O#ojekti|objekti]]
*[[Pogramimi/D#dalja|dalja]]
*[[Pogramimi/H#hyrja|hytja]]
*[[Pogramimi/Rr#rryma|rryma]]
*[[Pogramimi/Rr#rrymimi|rrymimi]]
*[[Pogramimi/C#cout|cout]]
*[[Pogramimi/P#printf()|printf()]]
*[[Pogramimi/T#Biblioteka Stream|Biblioteka Stream]]
*[[Pogramimi/L#lidhja|lidhja]]
*[[Pogramimi/O#operatori >>| operatori >>]]
*[[Pogramimi/C#char|char]]
*[[Pogramimi/Z#zinxhir|zinxhir]]
|}
#[[C++/Shembuj/Kapitulli/1#Shembulli 3 Dalja e zakonshme 'cout'|Shembulli 03 Dalja e zakonshme 'cout']]
Ky shembull është shembulli i parë i programimit të orientuar në objekte, në të vërtet shumë i thjeshtë. Në këtë program përkufizojmë disa variabla dhe po aty ju japim edhe vlera. Në pjesen e daljeve të zakonshme, në rreshtat 17 deri 20 dhe 23 deri 26, i përdorim këto variabla. Parafjala <code>cout</code> shkruhet me qëllim që nëpërjet daljes së zakonshme (Ekrani) të shpallosen të dhënat. Për këtë qëllim në versionet e vjetra është përdorur funksioni <code>printf()</code>. Në mes këtyre dyjave ekziston dallimi. Për deri sa me <code>printf()</code> duhet që të lajmërohet sistemi për tipin e të dhënave për dalje, me <code>cout</code> kjo nuk është e nevojshme. Këtu duhet pasur parasyshë që <code>cout</code> drejtëpërdrejt nuk është funksion për dalje. Mirëpo ne mund të përdorim si të till, për deri sa nuk e japim përkufizimin e saktë në mësimet pasuese. Deri atëher na mjaftonë të dimë se <code>cout</code> është objekt, dhe ne jemi duke e përdorur vetin e tij për dalje të të dhënave d.m.th shpallosjen e tyre në ekran.
Line 171 ⟶ 190:
</pre>
|}
Në C++ si dhe në versionet e vjetra të C-së, nuk ka pjesë përbërse të tyre për funksion të daljes, por përdoret bibloteka për dalje e quajtur ''BiblotekaBiblioteka Stream''. Në këtë mënyrë mundësohet futja elegante e funksioneve hyrse dhe dalëse. Lidhja e kësaj bibloteke në shembullin tonë bëhet në rreshtin 2.
 
{|
Line 179 ⟶ 198:
Operatori <code> << </code> shkaktonë që varaiablat apo konstantet që pasojnë menjëherë pas tij të jepen për dalje, mirëpo se si duhet të ndodhë kjo, ja lë sistemit të vendosë. Në rreshtin 17, së pari udhëzojmë sistemn që të shpalosë zinxhirin e të dhënave. Kjo ndodhë pasi që fillon kopjimi i secilës germë në ekranë. Pastaj sistemi duhet të shpalosë vleren për <code>IndexIm</code>. Këtu duhet të kemi parasyshë që ne nuk e kemi njoftuar sistemin se çfar lloji është <code>IndexIm</code>, ashtu që të jepë vlerën përkatëse. Pasi që nuk e kemi njoftuar sistemin, atëher ai e merr përsipër të vendosë për <code>IndexIm</code>, është variabël apo konstant. Pasi që sistemi të ketë gjetur tipin, ja lëmë që ai të përdorë vlerat standarte dhe se sa simbole duhet të shpalose. Në këto raste, sistemi zgjehë saktësisht numrin e simboleve sa duhet për shalosje, pa ndonjë fushë të zbrazë para apo pas, pra atë çka ne dojmë për këtë shpalosje. Si përfundim, kalimi në kryerresht jipet me një shenjë dhe mbyllet me pikë-presje.
 
Gjatë ftesës së funksionit për dalje <code>cout</code>, në rreshtin 17, kemi bërë ftesen e dy funksioneve të ndryshme, pasi që si për dy hallkat e zinxhirit të shenjave kemi përdorur funksion edhe për variablat e tipit <code>int</code>. Këto janë shenjat e para të programit të orientuar në objekte, ne e ftojmë sistemin thjeshtë që të shpalosë vlerat dhe i lëmë dorë të lirë për gjetjen e funksionit përkatës. Nuk është e nevojshme që saktësisht të informojmë sistemin, se si të shpalos të dhëat, por vetëm, që të dhënat janë për t'u shpalosur. Ky shembull ishte i ligësht për gjuhë ptogramueseprogramuese të orientuar në objekte dhe në mësimet e mëtejshme me siguri që do të thellohemi më shumë.
 
Në rreshtin 18, udhëzojmë që sisemi të na shpalosë një zinxhir tjetër të shenjave, të përcjelurpërcjellur me numër me presje dhe një zixhir tjetër që përbëhet nga shenjat. Në këtë rastë kemi udhëzuar sistemin të shpalosë një numër me presje pa shkruar ndonjë paralajmrim konkret mbi tipin e variables dhe prap i lejomë sistemit të vendosë për dalje duke u orientuar në llojin e variablës. Me këtë proce kemi humbur paksa kontrollin, pasi që ne nuk mund të vendosim p.sh se sa hapsira boshe duhet të jenë para apo pas zinxhirit të shenjave, para apo pas presjes. Me këtë proces ne kemi vendosur që sistemi të vendos se si do të pasojë shpalosja në ekran.
 
Variabla e emërtuar me emrin <code>Shkronja</code> është përkufizuar si e tipit <code>char</code> dhe në rreshtin 14 i është dhënë vlera <code>X</code>. Ndërsa kjo variabel në rreshtin 19 shpaloset si shkronjë, pasi që objekti <code>cout</code> e dinë që ka të bëjë me shkronja dhe e jepë përkatësish variablen.