Home Giáo Trình OOP Chương 6 - HÀM BẠN – LỚP BẠN - Giáo trình lập trình hướng đối tượng (OOP) - Đại học Tây Đô March 07, 2023 >Bấm vào ĐÂY để tải vềKey: Chương 6 HÀM BẠN – LỚP BẠN • Hàm độc lập là hàm bạn • Hàm thành viên là hàm bạn • Hàm bạn của nhiều lớp Muốn truy cập các thành phần private hay protected của 1 lớp từ bên ngoài của lớp phải thiết kế các hàm lấy giá trị dữ liệu thành viên Nếu số lượng các thành phần dữ liệu trong lớp quá nhiều thiết kế hàm bạn (friend) void InHoanhDoTam(){ cout<:: bên trong lớp cần truy cập. • Trong nội dung hàm thành viên, có thể truy cập bất kỳ thành phần nào thuộc lớp đã khai báo. DoanThang::ChieuDai(); class DoanThang { Diem d1, d2; public: ... float ChieuDai() { sqrt( pow((d1.x - d2.x),2) + pow((d1.y - d2.y),2)); } }; Hàm bạn của nhiều lớp • Một lớp có thể có nhiều hàm bạn (độc lập hay hàm thành • Một hàm (độc lập hay hàm thành viên) có thể là bạn của Hàm bạn đã phá vỡ tính bao gói của OOP => không lạm dụng. friend void B::F(); friend int F1(A, B); class B { ... void F(); friend int F1(A , B); ... }; void B::F(){ ... } Lớp có 2 hàm bạn int F1(A x, B y) { ... } Hàm F1(...) là bạn của 2 lớp A và B Lớp bạn (friend class) Khi muốn khai báo tất cả các hàm thành viên của Khai báo A là lớp bạn của lớp B 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 << “)”; }
Post a Comment