Tải bản đầy đủ (.pdf) (50 trang)

Ngôn ngữ lập trình C - Chương 6 potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (490.09 KB, 50 trang )

Ch
Ch
−¬
−¬
ng
ng
6
6
L
L
í
í
p
p
v
v
μ
μ
ph
ph
−¬
−¬
ng
ng
ph
ph
¸
¸
p
p
l


l
Ë
Ë
p
p
tr
tr
×
×
nh
nh
h
h
−í
−í
ng
ng
®
®
è
è
i
i
t
t
−î
−î
ng
ng
Bi ging C++. 7/11/2008

V.S.Nam. B/m KTHT, khoa CNTT, HXD
2
6.1 C++ v
6.1 C++ v
à
à
ph
ph
ơ
ơ
ng
ng
ph
ph
á
á
p
p
l
l


p
p
tr
tr
ì
ì
nh
nh

h
h


ng
ng
đ
đ


i
i
t
t


ng
ng
6.1.1 Tng quan v lptrỡnhhng i tng
Lch s phỏt trin cỏc phng phỏp lptrỡnh
Lptrỡnhtuyn tớnh:
Lptrỡnhmỏytớnhthikỡu.
Chng trỡnh nh (ớt dũng lnh), ngin.
Lptrỡnhth tc:
Phõn chia chng trỡnh thnh cỏc mụun.
Giiquyt bi toỏn theo hng phõn tớch trờn xung (top down).
Nysinhkhúkhn do ph thuc vo cutrỳcd liu.
Lptrỡnhhng itng:
Thit k xoay quanh d liu, gn kt d liu v hm x lý chỳng.
Thit k chng trỡnh theo cỏch tip cn di lờn (bottom up).

Cỏch tip cn bi toỏn gn vi thc t hn.
Bi ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
3
6.1 C++ v
6.1 C++ v
à
à
ph
ph
ơ
ơ
ng
ng
ph
ph
á
á
p
p
l
l


p
p
tr
tr
ì
ì

nh
nh
h
h


ng
ng
đ
đ


i
i
t
t


ng
ng
6.1.1 Tng quan v lp trỡnh hng i tng
Lptrỡnhhng itng
Cỏc khỏi nim c s:
i tng = d liu + phng thc.
Lp : tp hp cỏc i tng cựng loi.
Chng trỡnh l tp hp cỏc i tng, cỏc i tng trao i thụng
tin qua phng thc.
c im:
D dng b sung d liu, phng thc, s dng li i tng.
úng gúi d liu : che giu thụng tin


an ton mó.
Tha k : d dng s dng li cỏc mụun chng trỡnh.
a hỡnh: cỏc i tng cú th phn ng khỏc nhau tựy vo tng tỡnh
hung c th.
Th hin trong nhiu ngụn ng khỏc nhau : SIMULA, SmallTalk,
C++, Java, hay ADA, EIFFEL,
Bi ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
4
6.1 C++ v
6.1 C++ v
à
à
ph
ph
ơ
ơ
ng
ng
ph
ph
á
á
p
p
l
l



p
p
tr
tr
ì
ì
nh
nh
h
h


ng
ng
đ
đ


i
i
t
t


ng
ng
6.1.1 Tng quan v lp trỡnh hng i tng
Lptrỡnhhng itng (tip)
unhc im
Loib mó lpli, nõng cao tớnh s dng li.

An ton mó, d dng thitk,
Thớch hp cho xõy dng cỏc h thng ln: lmvic theo quy trỡnh, d
dngnõngcp, thunlitrongqunlý phctp,
Nhc im: ũi hithigianthchinln, tnb nh.
ng dng
Thitk giao dinngis dng (GUI).
Xõy dng cỏc h thng thụng tin phctpvhiuqu : cỏc h thng
mụ hỡnh húa & mụ phng, cỏc h thng thigianthc, cỏc h thng
song song v mng nron, cỏc h CAD/CAM, cỏc h CSDL HT, cỏc
h TTNT, HCG, HTGQ,
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5
6.1 C++ v
6.1 C++ v
µ
µ
ph
ph
−¬
−¬
ng
ng
ph
ph
¸
¸
p
p
l

l
Ë
Ë
p
p
tr
tr
×
×
nh
nh
h
h
−í
−í
ng
ng
®
®
è
è
i
i
t
t
−î
−î
ng
ng
 6.1.2 Lptrìnhhng đi tng trong C++

– C++: thêm kh nng lp trình HT vào C
• C++: thahng ttcđimmnh caC
– Là ngôn ng bao trùm lên C
å
thahng đy đ scmnh caC (ví
d tính kh chuyn, tính mmdo, ).
– C trong C++ có mtsđim khác so vi ANSI C: thay đi, thêm mi,
citin
å
phù hphn
å
tng cng scmnh cho C.
• C++: cài đt kh nng lp trình HT da trên khái nim lp
– Lp bao gm các d liu thành phn (thuc tính) và các hàm thành
phn (phng thc)
å
đóng gói d liu.
– Thc cht lp là 1 kiu d liu do ngi dùng t đnh ngha.
– Cho phép k tha các lp đã xây dng
å
đc đim quan trng ca lp
trình HT.
– Cho phép th hin tính đa hình trong tha k, đây cng là mt đc
đim quan trng ca lp trình HT.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6
6.1 C++ v
6.1 C++ v
µ

µ
ph
ph
−¬
−¬
ng
ng
ph
ph
¸
¸
p
p
l
l
Ë
Ë
p
p
tr
tr
×
×
nh
nh
h
h
−í
−í
ng

ng
®
®
è
è
i
i
t
t
−î
−î
ng
ng
 6.1.2 Lp trình hng đi tng trong C++
– Lp trình HT trong C++: mt s đc đim cn chú ý
• C++ là ngôn ng lai (không phi là ngôn ng HT thun khit)
<> SmallTalk, Java, …
– So vi lp trình HT thun túy, cài đt c th ca đi tng trong C++
linh đng hn.
– C++ không bt buc đóng gói d liu
å
nhc đim chính ca C++.
• C++ phù hp cho ngi mi hc lp trình: có th s dng c tính
cu trúc và đi tng trong chng trình.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
7
6.2
6.2
L

L
í
í
p
p
v
v
µ
µ
®
®
è
è
i
i
t
t
−î
−î
ng
ng
 6.2.1 Khai báo và đnh nghalp
– Cú pháp khai báo
class tên_lp{
private: //khai báo các thành phn riêng ca lp
[d liu thành phn]
[đnh ngha hàm thành phn hoc nguyên mu hàm]
public: //khai báo các thành phn công cng ca lp
[d liu thành phn]
[đnh ngha hàm thành phn hoc nguyên mu hàm]

};
/*nh ngha các hàm thành phncha đc đnh nghabên
trong khai báo lp */
[Hàm thành phn đnh ngha ngoài lp]
• Thct cho thy, có nhiukiu khai báo và các kiu đó đucóth
chunhóav dng trên.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
8
6.2
6.2
L
L
í
í
p
p
v
v
µ
µ
®
®
è
è
i
i
t
t
−î

−î
ng
ng
 6.2.1 Khai báo và đnh ngha lp
– Cú pháp khai báo (tip)
• Khai báo đitng
– Cú pháp: tên_lp tên_đtng;
– Có th xem lplàmtkiud liu:
• To đitng ~ khai báo bin.
• Mi đitng là mtth hincalp.
– itng bao gmtp các bintng ng vi tên và kiucacác
DLTP.
– Các đitng chung nhau đnh ngha hàm thành phn.
– Có th khai báo mng các đitng nh mng thông thng.
– Có th dùng các phép toán
new và delete đ cpphátvàgii phóng
b nh cho đitng.
• Phép toán new s tr v mtcon trđitng.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
9
6.2
6.2
L
L
í
í
p
p
v

v
µ
µ
®
®
è
è
i
i
t
t
−î
−î
ng
ng
 6.2.1 Khai báo và đnh ngha lp
– Cú pháp khai báo (tip)
• Con trđitng
– Cú pháp khai báo :
tên_lp *tên_con_tr_đtng;
– Con trđitng có th nhn giá tr là đach ca đitng cùng
kiulp
å
có th gi các thành phn(d liu, hàm) calp thông qua
con tr bng cách s dng phép toán “->”.
• Tham chiu đitng
– Cú pháp khai báo :
tên_lp &tên_thchiu_đtng = tên_đtng_đã_có;
– Mtthamchiu đitng ch có ý ngha khi nó tham chiutimt đi
tng nào đó đã đc khai báo trc đó.

• Chú ý: con tr hoc tham chiu không philàmtth hin
(instance) calp.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.2
6.2
L
L
í
í
p
p
v
v
µ
µ
®
®
è
è
i
i
t
t
−î
−î
ng
ng
 6.2.1 Khai báo và đnh ngha lp
– Các chi tit trong khai báo lp

• D liu thành phn (thuc tính)
– DLTP là d liu gn vi lp (đi tng).
• D liu thành phn (DLTP) là thutng caC++, cònthuctínhlà
thutng trong lp trình HT nói chung.
– DLTP có th là binkius s, kiuphchphoc đitng thuclp
nào đó.
– DLTP không th là đitng thucbnthânlp đang đc đnh ngha
nhng có th là con tr hoc tham chiuti đitng calp đó.
– Có th s dng t khoá static cho DLTP.
– Không đcs dng các t khoá auto, register, extern cho DLTP.
– Không th khi đu giá tr cho DLTP.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.2
6.2
L
L
í
í
p
p
v
v
µ
µ
®
®
è
è
i

i
t
t
−î
−î
ng
ng
 6.2.1 Khai báo và đnh ngha lp
– Các chi tit trong khai báo lp(tip)
• Hàm thành phn(phng thc)
– HTP là hàm gn vi lp (đi tng).
• Hàm thành phn(HTP) làthutng ca C++, còn phng thclàthut
ng trong lp trình HT nói chung.
– Có thđnh ngha HTP trong hay ngoài lp. Nu đnh ngha ngoài lp,
trong khai báo lpphi có nguyên muca chúng.
– Có th đt đnh ngha HTP trong cùng tp tin khai báo lp hoc trong
mt tp tin khác.
– Cú pháp khai báo và đnh ngha HTP ngoài lp:
kiu_tr_v tên_lp::tên_hàm(dsách_ths){
//ni dung hàm
}
• Cách khai báo này cho phép phân bitHTP vihàmt do, đng thi
cho phép 2 lpkhácnhaucócùngtênHTP.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.2
6.2
L
L
í

í
p
p
v
v
µ
µ
®
®
è
è
i
i
t
t
−î
−î
ng
ng
 6.2.1 Khai báo và đnh ngha lp
– Các chi tit trong khai báo lp(tip)
• Chú ý khi đnh ngha hàm thành phn:
– Nu đnh ngha HTP trong lp, trình dch s ngmhiu chúng là hàm
inline
å
không đc đnh nghaquáphctp.
– Nên đnh ngha HTP ngoài lp: làm tng tính dđc, d hiu, tính m
quan cachng trình ngun.
– HTP đctruynhpti thành phnca đitng thuc cùng lpnu
chúng đc khai báo bên trong đnh nghahàmnh mt đitng

ccb hay mtthams hình thcca hàm.
– Có th giHTP t mt HTP khác trong cùng khai báo lp.
–  g
i hàm trùng tên và danh sách tham s nhng gnvilpkhác,
phi thông qua đitng.
–  gimt hàm t do trùng tên và danh sách tham s phis dng
phép toán phmvi “
::”.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.2
6.2
L
L
í
í
p
p
v
v
µ
µ
®
®
è
è
i
i
t
t

−î
−î
ng
ng
 6.2.1 Khai báo và đnh ngha lp
– Các chi tit trong khai báo lp(tip)
• Phmvi lp
– Mc đích caphmvi làđ kim soát victruyxut đncác
bin/hng/hàm…
– Trong phnlptrìnhth tcvi C++, ta đãbitcóbnkiuphmvi
liên quan đncáchthcvàv trí khai báo bin: trong hàm nguyên
mu, trong khi, trong hàm và trong tp.
– Trong lp trình HT, C++ có thêm phmvi lp.
– Ttc thành phncalp
å
phmvi lp.
• C++ coi tt c thành phn ca lp là có liên h vi nhau.
• Trong đnh nghahàmthànhphncóth tham chiu đnbtk mt
thành phn nào khác cùng lp.
– Có th m rng phmvi lp đnlpdnxut, lpbn, …
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.2
6.2
L
L
í
í
p
p

v
v
µ
µ
®
®
è
è
i
i
t
t
−î
−î
ng
ng
 6.2.1 Khai báo và đnh ngha lp
– Các chi tit trong khai báo lp(tip)
• Thuctínhtruyxutcacácthànhphn
– Thuc tính private : thuc tính này th hinmttrongcácđctrng
calp trình HT là che giu thông tin. Thành phn
private ch
đctruyxut bên trong phmvi lp.
– Thuc tính public: thành phn public có th truy xuttrongbtk
hàm nào. Thông qua HTP public ta có th truy nhp vào các thành
phn private (~ hàm giao dincalp).
– Trong đnh nghamtlp, s lng và th t các t khóa
private và
public là tu ý
å

khi khai báo lpcóth spxpli đ các thành
phn
private  trên còn các thành phn public  di.
– Thuc tính
private là ngm đnh, nên nut khóa private xut
hintrc tiên trong khai báo thành phn, có th lcb.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.2
6.2
L
L
í
í
p
p
v
v
µ
µ
®
®
è
è
i
i
t
t
−î
−î

ng
ng
 6.2.1 Khai báo và đnh ngha lp
– Các chi tit trong khai báo lp(tip)
• Thuc tính truy xut ca các thành phn (tip)
– Ngoài public và private, còn có t khoá protected dùng đ ch
đnh trng thái ca các thành phntrongmtlp.
– T khoá
protected sđc đ cpk hntrongchng 7 (Thak
và đa hình).
– Trong phmvi calphintimt thành phn
protected có tính
chtging nh thành phn private.
• Lpvàcu trúc trong C++
– Cu trúc trong C++ ch có mt đim khác duy nht vi lp: thuc tính
truy xut ngm đnh là public thay vì private.
– Tt c các tính cht, kh nng… còn li ca lp đu có th áp dng
cho cu trúc.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.2
6.2
L
L
í
í
p
p
v
v

µ
µ
®
®
è
è
i
i
t
t
−î
−î
ng
ng
 6.2.2 Thao tác vi đitng
– Truy nhp vào thành phnca đitng
• Truy nhpd liuthànhphn
– Ch có th truy nhp đn DLTP public. Lúc này có th thchinmi
thao tác x lý trên DLTP đó.
– Cú pháp truy nhp:
tên_đt.tên_dltp;
• Gihàmthànhphn
– Cng nh DLTP, ch có th gi đc HTP public. Gi HTP calp
t mt đitng ~ truyn thông đipchoHTP đó.
– Cú pháp gi hàm:
tên_đt.tên_htp(ds_tham_s);
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.2
6.2

L
L
í
í
p
p
v
v
µ
µ
®
®
è
è
i
i
t
t
−î
−î
ng
ng
 6.2.2 Thao tác vi đi tng
– Truy nhp vào thành phnca đitng (tip)
• Tham s ngm đnh trong ligi hàm thành phn
– Ligi HTP luôn có mtvàch mtthams ngm đnh là đitng
thchinligihàm
å
ligi đócóth thao tác ngm đnh trên các
DLTP ca đitng đó.

• Phân bit khái nimnàyvi khái nimligihàms dng tham s có
giá tr ngm đnh.
– Không th thchinligiti HTP gnvimt đitng mà không
ch rõ đitng đc tham chiu.
• Con tr this
– T khoá
this : xác đnh đach ca đitng dùng làm tham s
ngm đnh cho HTP.
– Con tr this tham chiu đn đitng đang giHTP
å
có th truy
nhpgiántip đn các thành phn(d liu, hàm) ca đitng gi
HTP đó thông qua con tr this.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.2
6.2
L
L
í
í
p
p
v
v
µ
µ
®
®
è

è
i
i
t
t
−î
−î
ng
ng
 6.2.2 Thao tác vi đi tng
– Phép gán đitng
• C ch gán đitng
– Có th thchin phép gán giahaiđitng cùng kiu.
– Phép gán thcchtlàvic sao chép giá tr các DLTP tđitng
ngun sang đitng đích mt cách tng ng (không kđólàcác
thành phn public hay private).
• Chú ý trong phép gán các đi tng cha DLTP đng:
– Vic sao chép DLTP không liên quan đn các vùng d liu đc cp
phát đng (“sao chép b mt”)
å
nh hng đnvicqunlýcpphát
đng.
– Vùng nhđng ca đitng đích bây gi sđctruynhpbicác
HTP cacđitng ngunvàđích
å
tính “riêng t”d liuca đi
tng b vi phm.
– Vùng nh đng trc đây trong đi tng ngun (nu có) bây gi
không th kim soát đc na.
Bài ging C++. 7/11/2008

V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.2
6.2
L
L
í
í
p
p
v
v
µ
µ
®
®
è
è
i
i
t
t
−î
−î
ng
ng
 6.2.3 Các vn đ khác v hàm thành phn
– Nóithêmv hàm thành phn
• nh nghachng các hàm thành phn
– nh nghachng hàm đã đc đ cptrongchng 4.
– nh nghachng hàm cng áp dng đcchocácHTP. Khiđó HTP

đcphépgiti các HTP khác, thm chí trùng tên.
• Tham s vigiátr ngm đnh
– Ligi hàm vithams có giá tr ngm đnh đã đc đ cptrong
chng 4.
– Ligi HTP có th s dng giá tr ngm đnh cho các tham s. Giá tr
ngm đnh này sđc khai báo trong đnh nghaHTP hay trongkhai
báo nguyên mu canó(nu đnh ngha hàm ngoài lp).
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.2
6.2
L
L
í
í
p
p
v
v
µ
µ
®
®
è
è
i
i
t
t
−î

−î
ng
ng
 6.2.3 Các vn đ khác v hàm thành phn
– S dng đitng nh tham s caHTP
• Truy nhp đn thành phn private trong đitng:
– HTP có quyntruynhp đn thành phn private ca đitng gi
nó (tc là đi tng thuc lp cha hàm).
• Truy nhp đn các thành phn private trong các tham s là đi
tng truyn cho HTTP:
– HTP có quyntruynhp đnttc thành phn private ca đi
tng, tham chiu đitng hay con trđitng cùng kiulpkhi
đcdùnglàthams hình thccanó.
• Dùng đitng nh giá tr tr v caHTP cùnglp:
– HTP có th truy nhp đn các thành phn private cacácđi
tng, tham chiu đitng hay con trđitng khai báo bên trong
nó(vàcóth tr vđitng này).
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.3
6.3
H
H
µ
µ
m
m
t
t
¹

¹
o v
o v
µ
µ
h
h
µ
µ
m
m
h
h
ñ
ñ
y
y
 6.3.1 Hàm to
– Khái nim chung
• Hàm tolàHTP đcbitcalp, đc dùng đ todng đi
tng mi
– Là HTP không th thiucalp.
– Nungilp trình không khai báo và đnh ngha hàm to
å
trình
dch t torahàmto(làhàmtongm đnh).
• Khikhaibáođitng, trình dch cp phát b nh, sau đót
đng gi đnhàmto.
– Hàm tocónhimv khito giá tr cho DLTP, xin cpphátb nh
cho DLTP đng.

– Hàm tocng có th làm mts vickhác.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.3
6.3
H
H
µ
µ
m
m
t
t
¹
¹
o v
o v
µ
µ
h
h
µ
µ
m
m
h
h
ñ
ñ
y

y
 6.3.1 Hàm to
– Nguyên tcvitvàs dng hàm to
• Tên cahàmtophi trùng vitêncalp.
– Cú pháp c bn: tên_lp();
• Hàm tophicóthuctínhpublic
• Hàm to không có ktqu tr v å không đc khai báo kiu.
– iu này là do hàm to đcgikhito đitng mi(chúý v cú
pháp!).
– Trong trng hpmuns dng giá tr tr vđkim soát li, ta s
dng c ch x lý li(sđc đ cptrongphnghichúchng).
• Hàm to có th có hoc không có tham s.
• Hàm to có th khai báo vi các tham s có giá tr ngm đnh.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.3
6.3
H
H
µ
µ
m
m
t
t
¹
¹
o v
o v
µ

µ
h
h
µ
µ
m
m
h
h
ñ
ñ
y
y
 6.3.1 Hàm to
– Nguyên tcvitvàs dng hàm to(tip)
• Hàm tocóthđc xây dng bên trong hoc bên ngoài đnh
nghalp(ging nh HTP bình thng).
• Trong mtlpcóth có nhiuhàmto(đnh nghachng hàm
to).
– Lúc này victo đitng phi kèm theo tham s phù hpvimt
trong các hàm to đã đnh ngha.
• Khi dùng phép toán new cp phát b nh cho đi tng đng å
hàm to cng đc gi å cn cung cp danh sách tham s.
• Chú ý: vi trng hp tham s kiu lp ca hàm là tham s hình
thc å vic khai báo tham s đó không to ra đi tng ~ không
gi ti hàm to.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.3
6.3

H
H
µ
µ
m
m
t
t
¹
¹
o v
o v
µ
µ
h
h
µ
µ
m
m
h
h
ñ
ñ
y
y
 6.3.1 Hàm to
– Hàm tongm đnh
• Nu không đnh nghahàmto å trình dch tđng b sung mt
hàm tongm đnh.

– Hàm này thc ra không làm vicgìc (thân hàm là rng).
• ôi khi ta cng ginhng hàm to không có tham s (do ngi
lptrìnhđnh ngha) là hàm tongm đnh.
– iu này cn đn khi khai báo mng các đitng : đ tránh likhai
báo, ít nhtphicómt hàm to không tham s.
–  tránh li này, cng có th khai báo hàm tovitt c tham sđu
có giá tr ngm đnh.
Bài ging C++. 7/11/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6.3
6.3
H
H
µ
µ
m
m
t
t
¹
¹
o v
o v
µ
µ
h
h
µ
µ
m

m
h
h
ñ
ñ
y
y
 6.3.2 Hàm hy
– Khái nim chung
• Hàm hy cng là mtHTP đcbitcalp å có chcnng
ngcvihàmto.
– Ging nh hàm to, hàm hy là hàm thành phnkhôngth thiu đi
vilp.
– Nungilp trình không khai báo và đnh ngha hàm hy
å
trình
dch t torahàmhy(làhàmhyngm đnh).
• Hàm hy đcgitrc khi gii phóng mt đitng.
– Thchinnhng vicnh gii phóng vùng nh mà đitng qunlý,
xoá đitng khi màn hình nunóđang hinth, …

×