TAILIEUCHUNG - Quan hệ giữa các lớp

Quan hệ giữa các lớp Các hàm bạn bè (từ khoá friend) Trong bài trước chúng ta đã được biết rằng có ba mức bảo vệ khác nhau đối với các thành viên trong một lớp: public, protected và private. Đối với các thành viên protected và private, chúng không thể được truy xuất ở bên ngoài lớp mà chúng được khai báo. Tuy nhiên cái gì cũng có ngoại lệ, bằng cách sử dụng từ khoá friend trong một lớp chúng ta có thể cho phép một hàm bên ngoài truy xuất vào các thành viên protected và private trong. | Quan he giTa cäc lo p Các hàm bạn bè từ khoá friend Trong bài trước chúng ta đã được biết rằng có ba mức bảo vệ khác nhau đối với các thành viên trong một lớp public protected và private. Đối với các thành viên protected và private chúng không thể được truy xuất ở bên ngoài lớp mà chúng được khai báo. Tuy nhiên cái gì cũng có ngoại lệ bằng cách sử dụng từ khoá friend trong một lớp chúng ta có thể cho phép một hàm bên ngoài truy xuất vào các thành viên protected và private trong một lớp. Để có thể cho phép một hàm bên ngoài truy xuất vào các thành viên private và protected của một lớp chúng ta phải khai báo mẫu hàm đó với từ khoá friend bên trong phần khai báo của lớp. Trong ví dụ sau chúng ta khai báo hàm bạn bè duplicate friend functions include class CRectangle int width height public void set_values int int int area void return width height friend CRectangle duplicate CRectangle void CRectangle set_values int a int b width a height b CRectangle duplicate CRectangle rectparam 24 CRectangle rectres 2 2 return rectres int main CRectangle rect rectb 2 3 rectb duplicate rect cout Ở bên trong hàm duplicate chúng ta có thể truy xuất vào các thành viên width và height của các đối tượng khác nhau thuộc lớp CRectangle. Hãy chú ý rằng duplicate không phải là thành viên của lớp CRectangle. Nói chung việc sử dụng các hàm bạn bè không nằm trong phương thức lập trình hướng đối tượng vì vậy tốt hơn là hãy sử dụng các thành viên của lớp bất cứ khi nào có thể. Như ở trong ví dụ trước chúng ta hoàn toàn có thể tích hợp duplicate vào bên trong lớp. Các lớp bạn bè friend Ngoài việc có thể khai báo các hàm bạn bè chúng ta cũng có thể định nghĩa một lớp là bạn của một lớp khác. Việc này sẽ cho phép lớp thứ hai có thể truy xuất vào các thành viên protected and private của lớp thứ nhất friend class include class CSquare class CRectangle int width height public int area void .

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã 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.