Danh mục

Bài giảng Kỹ thuật lập trình: Chương 6 - Trần Quang Hải Bằng

Số trang: 3      Loại file: pdf      Dung lượng: 55.60 KB      Lượt xem: 14      Lượt tải: 0    
tailieu_vip

Phí lưu trữ: miễn phí Tải xuống file đầy đủ (3 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng "Kỹ thuật lập trình - Chương 6: Hàm bạn - Lớp bạn" cung cấp cho người học các kiến thức: Giới thiệu, 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, lớp bạn. Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình: Chương 6 - Trần Quang Hải Bằng Nội dung Chương 6 • Giới thiệu • Hàm ñộc lập là hàm bạn HÀM BẠN – LỚP BẠN • Hàm thành viên là hàm bạn • Hàm bạn của nhiều lớp • Lớp bạn 1 2Giới thiệu Giới thiệu• Tại sao cần hàm bạn? • Khái niệm hàm bạnclass Diem { Muốn truy cập các thành phần – Hàm bạn của 1 lớp là hàm có khả năng truy cập ñến int x, y; private hay protected của 1 lớp các thành phần dùng riêng (dữ liệu và hàm) của lớp public: từ bên ngoài của lớp ñó. …. int GiaTriX() – Cú pháp: khai báo prototype ca hàm trong lớp phải thiết kế các hàm { return x; } lấy giá trị dữ liệu thành viên muốn cho phép truy cập ñó với từ khóa friend.}; class A { class B {class DuongTron { Nếu số lượng các thành phần int a1; … dữ liệu trong lớp quá nhiều public : int HamThanhVien(); Diem tam; … }; int bankinh; Friend void HamDocLap(A); public: thiết kế hàm bạn (friend) Friend int B::HamThanhVien(); int B::HamThanhVien() …. }; { void InHoanhDoTam(){ Khai báo trong lớp Diem hàm sau: void HamDocLap(A x) A y; … coutHàm ñộc lập là hàm bạn Hàm ñộc lập là hàm bạn• Hàm ñộc lập (không thuộc lớp nào) có thể ñược khai báo là bạn của 1 lớp.• Chỉ cần khai báo tên hàm ñộc lập bên trong lớp. class PhanSo { int tu, mau;• Trong nội dung hàm ñộc lập, có thể truy cập bất kỳ thành public: phần nào thuộc lớp ñó. … friend int SoSanhBang (PhanSo,PhanSo); class Diem { }; int x,y; public: int SoSanhBang(PhanSo a, PhanSo b){ … if(a.tu*b.mau== b.tu*a.mau) friend int Trung(Diem, Diem); return 1; }; else int Trung(Diem a, Diem b){ return 0; if (a.x==b.x && a.y==b.y) } return 1; else return 0; } 5 6Hàm thành viên là hàm bạn Hàm bạn của nhiều lớp• Hàm thành viên của 1 lớp có thể ñược khai báo là bạn • Một lớp có thể có nhiều hàm bạn (ñộc lập hay hàm thành của 1 lớp khác. viên của lớp khác).• Chỉ cần khai báo :: • Một hàm (ñộc lập hay hàm thành viên) có thể là bạn của bên trong lớp cần truy cập. nhiều lớp.• Trong nội dung hàm thành viên, có thể truy cập bất kỳ Hàm bạn ñã phá vỡ tính bao gói của OOP => không lạm dụng. thành phần nào thuộc lớp ñã khai báo. class DoanThang { ...

Tài liệu được xem nhiều: