TAILIEUCHUNG - Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 6

Tham khảo tài liệu 'ngôn ngữ lập trình c++ từ cơ bản đến hướng đối tượng part 6', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | trong việc truy nhập đến tất cả các loại dữ liệu thành phần của lớp này. Các hàm hoặc các lớp này được gọi là friend function hàm bạn hoặc friend class lớp bạn . Trước hết hãy xét một ví dụ về một lớp bạn - friend class Node friend class ObjectUst ObjectList là lớp bạn của Node int value Node predecessor Node successor public void Value int value i class ObjectList private Node head Node tail Node current public void lnsertNode Node void DeleteNode Node int CurrentdbjectfNode node return node- value Qua ví dụ này có thể nhận thây lớp ObjectList là một lóp bạn của lớp Node. Điều này được thực hiện thông qua việc sử dụng từ khóa friend trong khi khai báo lớp Node. Do là lớp bạn của Node ObjectList có thể truy nhập đến các dữ liệu thành 255 phần thuộc kiểu private của lớp này một cách không hạn chê. Từ khóa friend có thể được sử dụng cho hàm. Khi một hàm được khai báo vói từ khóa friend bên trong một lớp hàm đó cũng có thể truy nhập đến tất cả các dữ liệu của lốp mà không quan tâm đến mức độ truy nhập của chúng. Hãy xét ví dụ sau class Node friend in GetObject Node ll GetObject là hàm bạn của Node int Value Node predecessor public void Valuefint i value i li Định nghĩa hàm bạn GetObject Node n return- value Truy nhập đến dữ liệu kiổu private của Node Khi sử dụng từ khóa friend cho một hàm nêu hàm đó lại là một hàm thành phần của một lớp khác phải dùng toán tử phạm vi khi khai báo friend để chỉ rõ tên của lớp chứa hàm. Chẳng hạn trong ví dụ trên nếu GetObject là hàm thành phần của lớp GetObject cần phải sử dụng việc khai báo sau bên trong lớp Node 256 friend int GetList GetObject Node - Khi sử dụng từ khóa friend phải lưu ý đến một số vấn đề sau Quan hệ friend không có tính kế thừa. Điều đó có nghĩa là nếu lớp A là lóp bạn của B và lớp c được dẫn xuất từ A thì không có nghĩa là c là bạn của B. Quan hệ friend không có tính bắc cầu. Như vậy nếu lớp A là bạn của lớp B và lởp B lại là bạn của lớp c thì điều khẳng định A là bạn của c chưa chắc là đúng. Điều này cũng giông .

TỪ KHÓA LIÊN QUAN
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.