際際滷
Submit Search
Chuong6 (2)
0 likes
179 views
H畛 L畛i
Follow
1 of 9
Download now
Download to read offline
More Related Content
Chuong6 (2)
1.
L畉p tr狸nh h動畛ng
畛i t動畛ng C++ Gi畉ng vi棚n gi畉ng d畉y: Nguy畛n H畛u V但n Long
2.
BM MTT&TT 2 Ch動董ng
6 Hm b畉n v l畛p b畉n
3.
BM MTT&TT 3
Gi畛i thi畛u Hm b畉n Hm b畉n l hm 畛c l畉p Hm b畉n l hm thnh vi棚n L畛p b畉n N畛i dung bi gi畉ng
4.
BM MTT&TT 4 T畉i
sao c畉n hm b畉n? class Diem { int x, y; public: . int GiaTriX() { return x; } }; class DuongTron { Diem tam; int bankinh; public: . void InHoanhDoTam() { cout<<tam.GiaTriX(); } }; Khai b叩o trong l畛p Diem hm sau: friend void DuongTron::InHoanhDoTam(); Mu畛n truy c畉p c叩c thnh ph畉n private hay protected c畛a 1 l畛p t畛 b棚n ngoi c畛a l畛p ph畉i thi畉t k畉 c叩c hm l畉y gi叩 tr畛 d畛 li畛u thnh vi棚n N畉u s畛 l動畛ng c叩c thnh ph畉n d畛 li畛u trong l畛p qu叩 nhi畛u thi畉t k畉 hm b畉n (friend) Gi畛i thi畛u
5.
BM MTT&TT 5
Kh叩i ni畛m hm b畉n Hm b畉n c畛a 1 l畛p l hm c坦 kh畉 nng truy c畉p 畉n c叩c thnh ph畉n d湛ng ri棚ng (d畛 li畛u v hm) c畛a l畛p 坦. C炭 ph叩p: khai b叩o prototype c畛a hm trong l畛p mu畛n cho ph辿p truy c畉p 坦 v畛i t畛 kh坦a friend. Gi畛i thi畛u class A { int a1; public : friend void HamDocLap(A ); friend int B::HamThanhVien(); }; void HamDocLap(A x) { cout<<x.a1; } class B { int HamThanhVien(); }; int B :: HamThanhVien() { A y; return y.a1; }
6.
BM MTT&TT 6
Hm 畛c l畉p (kh担ng thu畛c l畛p no) c坦 th畛 動畛c khai b叩o l b畉n c畛a 1 l畛p. Ch畛 c畉n khai b叩o t棚n hm 畛c l畉p b棚n trong l畛p. Trong n畛i dung hm 畛c l畉p, c坦 th畛 truy c畉p b畉t k畛 thnh ph畉n no thu畛c l畛p 坦. Hm 畛c l畉p l hm b畉n class Diem { int x,y; public: friend int Trung(Diem, Diem); }; int Trung (Diem a, Diem b) { if (a.x==b.x && a.y==b.y) return 1; else return 0; } class PhanSo { int tu, mau; public: friend int SoSanhBang (PhanSo,PhanSo); }; int SoSanhBang (PhanSo a, PhanSo b) { if(a.tu*b.mau== b.tu*a.mau) return 1; else return 0; }
7.
BM MTT&TT 7
Hm thnh vi棚n c畛a 1 l畛p c坦 th畛 動畛c khai b叩o l b畉n c畛a 1 l畛p kh叩c. Ch畛 c畉n khai b叩o <T棚n l畛p>::<T棚n hm thnh vi棚n> b棚n trong l畛p c畉n truy c畉p. Trong n畛i dung hm thnh vi棚n, c坦 th畛 truy c畉p b畉t k畛 thnh ph畉n no thu畛c l畛p 達 khai b叩o. Hm thnh vi棚n l hm b畉n class DoanThang; class Diem { int x,y; public: friend float DoanThang::ChieuDai(); }; class DoanThang { Diem d1, d2; public: float ChieuDai() { sqrt( pow( (d1.x - d2.x) , 2 ) + pow( (d1.y - d2.y) , 2 ) ); } };
8.
BM MTT&TT 8 Hm
b畉n c畛a nhi畛u l畛p Hm b畉n 達 ph叩 v畛 t鱈nh bao g坦i c畛a OOP => kh担ng l畉m d畛ng. class B; class A { friend void B :: F(); friend int F1(A , B); }; class B { void F(); friend int F1(A , B); }; void B::F() { } int F1(A x, B y) { } L畛p c坦 2 hm b畉n Hm F1() l b畉n c畛a 2 l畛p A v B M畛t l畛p c坦 th畛 c坦 nhi畛u hm b畉n (畛c l畉p hay hm thnh vi棚n c畛a l畛p kh叩c). M畛t hm (畛c l畉p hay hm thnh vi棚n) c坦 th畛 l b畉n c畛a nhi畛u l畛p.
9.
BM MTT&TT 9 L畛p
b畉n (friend class) Khi mu畛n khai b叩o t畉t c畉 c叩c hm thnh vi棚n c畛a l畛p A l b畉n c畛a l畛p B Khai b叩o A l l畛p b畉n c畛a l畛p B class DuongTron; class Diem { int x,y; public: ... friend class DuongTron; }: class DuongTron { Diem tam; int bankinh; public: ... DuongTron(int x1, int y1, int bk) { tam.x = a; tam.y=y1; bankinh=bk; } void Ve() { cout << ( << tam.x << , << tam.y <<, << bankinh << ); } };
Download