Sự khác biệt giữa Chức năng bạn bè và Lớp bạn bè
NộI Dung
Hàm Friend và lớp friend là các kỹ thuật được sử dụng để truy cập các thành viên riêng của một lớp bằng cách sử dụng từ khóa friend. Sự khác biệt chung giữa chức năng bạn bè và lớp bạn bè là khi sử dụng chức năng bạn bè, các thành viên của lớp riêng có thể được truy cập nhưng trong lớp bạn bè, chỉ có tên của lớp bạn bè được truy cập không phải là thành viên riêng của lớp.
Các tính năng bạn bè liệu được sử dụng bởi hàm hoặc lớp có thể tạo ra tác động tiêu cực đến khung hướng đối tượng hay không vì nó làm suy yếu đóng gói đó là chống lại hướng đối tượng mô hình. Đây là lý do tính năng bạn bè phải được sử dụng một cách khôn ngoan nếu không nó có thể phá vỡ các ẩn dữ liệu của mã.
Tính năng bạn bè này không phải là giao hoán và cũng không Bắc cầu. X là bạn của Y doesn Hướng suy luận rằng Y cũng là bạn của X. Nếu X là bạn của Y và Y là bạn của Z, không ngụ ý rằng X là bạn của Z.
-
- Biểu đồ so sánh
- Định nghĩa
- Sự khác biệt chính
- Phần kết luận
Biểu đồ so sánh
Cơ sở để so sánh | Chức năng kết bạn | Lớp học bạn bè |
---|---|---|
Căn bản | Đây là một chức năng được sử dụng với một từ khóa bạn bè để cấp quyền truy cập chức năng không phải thành viên cho các thành viên riêng của một lớp. | Đây là một lớp được sử dụng với một từ khóa bạn bè để truy cập các thành viên riêng của một lớp khác. |
Chuyển tiếp khai báo | Phải được sử dụng. | Không bắt buộc. |
Sử dụng | Một chức năng kết bạn có thể được sử dụng trong một số trường hợp quá tải toán tử. | Một lớp bạn có thể được sử dụng khi một lớp được tạo trên đầu một lớp khác. |
Định nghĩa về chức năng kết bạn
Các chức năng bạn bè được sử dụng để truy cập các thành viên riêng và được bảo vệ của một lớp bằng cách cho phép hàm không phải thành viên được quyền truy cập. Trong loại hàm này, một từ khóa bạn bè được sử dụng trước tên hàm tại thời điểm khai báo. Có một số điều kiện hạn chế áp dụng cho chức năng kết bạn. Điều kiện đầu tiên là chức năng bạn bè không được kế thừa bởi một lớp con. Điều kiện thứ hai là trình xác định lớp lưu trữ có thể không có trong hàm friend, điều đó có nghĩa là nó không thể được khai báo là tĩnh và extern.
Hàm friend không được gọi với một đối tượng gọi của lớp. Các ví dụ về chức năng kết bạn là: một hàm toàn cục, hàm thành viên của một lớp, mẫu hàm có thể là một hàm bạn bè. Hãy để hiểu nó với sự giúp đỡ của một ví dụ.
#inc loại Hàm bạn bè được yêu cầu khi một hàm cần truy cập hai hoặc nhiều lớp độc lập, các thành viên nội bộ. Mặt khác, một lớp bạn là cần thiết khi một lớp yêu cầu truy cập các thành viên của lớp khác. Khi một hàm nhiều thành viên cần phải là một người bạn của hàm đó, trong trường hợp đó, tốt hơn là sử dụng lớp bạn bè.
Phần kết luận