A class declaring another class as a friend will:
A.
Have wine and cheese with that other friend
B.
Allow that class to declare an instance of it in its list of private variables
C.
Allow the other class (the one declared as friend) to access to the declaring class’s private variables
D.
Allow the class declaring the other as a friend to access the declared class’s private variables
Trả lời:
Đáp án đúng: C
Trong C++, khi một lớp khai báo một lớp khác là "friend", nó cho phép lớp được khai báo là friend truy cập vào các thành viên private và protected của lớp khai báo. Điều này có nghĩa là lớp friend có thể đọc và sửa đổi các biến và phương thức private và protected của lớp gốc.
* **Phương án A:** Sai. Đây chỉ là một câu nói đùa.
* **Phương án B:** Sai. Việc khai báo một lớp là friend không liên quan đến việc lớp đó có thể khai báo một instance của lớp kia trong danh sách biến private của nó hay không. Việc này phụ thuộc vào phạm vi truy cập (access specifier) và mối quan hệ giữa hai lớp, không phải chỉ việc khai báo friend.
* **Phương án C:** Đúng. Đây là định nghĩa chính xác của việc khai báo một lớp là friend. Lớp friend được cấp quyền truy cập đặc biệt vào các thành viên private và protected của lớp khai báo.
* **Phương án D:** Sai. Việc khai báo một lớp là friend cho phép lớp được khai báo là friend truy cập vào các thành viên private của lớp khai báo, chứ không phải ngược lại.