Professional Documents
Culture Documents
Leksion 9 C++
Leksion 9 C++
Tipi i t dhnave pointer ruan adresa t kujtess (n kt mnyr nj pointer referon tek adresa q ruan) Pr tipin e t dhnave pointer, nuk ka asnj emr t lidhur me t Kur deklarohet nj ponter, duhet t prcaktohet edhe tipi i t dhnave q ruhet n adresn e kujtess tek e cila do referoj pointeri
Vetem p eshte pointer; q eshte nje variabel normal int p dhe q jane te dy pointera
Operandi * i perdorur para emrit te pointerit, i referohet objektit ndaj te cilit referon pointeri
p ruan adresen e variablit x Afishohet vlera e variablit x Variabli x merr vleren 55
Shembull
Aksesimi I anetareve te rekordit me anen e pointerit. Kujdes: kllapat vendosen duke qene se . ka prioritet me te larte se *
Nepermjet pointerave, C++ krijon variabla dinamike, gjate ekzekutimit te programit Keto variabla krijohen me operatorin new dhe fshihen me operatorin delete
Operatori new rezervon vendin ne kujtese dhe adresen e ketij vendi e ruan tek nje pointer
p ruan adresen e nje vendi int te krijuar ne kujtese q ruan adresen e pare te nje tabele me char
Variablat dinamike nuk kane emra. Ato mund te referohen vetem me anen e pointerave Nqs pointeri i nje variabli dinamik shenjon tek nje varibel tjeter, variabli i pare mbetet i paaksesueshem
Per kete arsye variablat dinamike fshihen duke perdorur operatorin delete
Rritet adresa qe mban p me madhesine e kujteses qe mban tipi ndaj te cilit referon pointeri Per shembull ne rastin me lart, adresa qe ruan p do inkrementohet me 4 duke qene se tipi int ze 4 byte ne kujtese. I njejti rregull zbatohet edhe per zbritje, shumezim, pjestim
Tabelat dinamike
Krijon tabele dinamike. p ruan adresen e elementit te pare te tabeles Elementi i pare i tabeles merr vleren 25 p ruan adresen e elementit te dyte te tabeles dhe i jep atij vleren 35
Exceptions (Prjashtimet)
Nje perjashtim(exception) perfaqeson nje situate te padeshiruar qe mund te ndodhe gjate ekzekutimit te programit Per te shmangur perfundimin e padeshiruar te programit ne raste te tilla, perfshihet kod per trajtimin e perjashtimeve ne pikat e programit, ku mendohet se mund te ndodhin keto perjashtime
Blloku trycatch
Blloku try permban instruksionet qe mund te shkaktojne nje exception Nje bllok try mund te ndiqet nga nje ose me shume blloqe catch
Nqs nuk ndodh asnje perjashtim ne bllokun try, te gjitha blloqet catch anashkalohen dhe ekzekutimi vazhdon me instruksionet pas bllokut te fundit catch Kur nje instruksion ne bllokun try shkakton nje perjashtim: - anashkalohen te gjitha instruksionet pas instukionit qe shkaktoi exception - kerkohen blloqet catch sipas radhes derisa gjendet blloku catch qe trajton llojin e perjashtimit te hedhur - ekzekutohen instruksionet e bllokut catch te gjetur Blloku I fundit catch() kap cdo lloj perjashtimi te hedhur nga blloku try
Identifikuesi x, quhet parametri i bllokut catch Tipi I te dhenave int tregon se ky bllok catch mund te kape nje exception te tipit int dhe jo te ndonje tipi tjeter Nje bllok catch mund te kete maksimumi nje parameter
Mund te krijojme vete klasa qe trajtojne perjashtimet. Cdo klase mund te konsiderohet nje klase per perjashtimet