GIÁO TRÌNH C++ - Trang 90

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, protectedprivate. Đối với các thành
viên protectedprivate, 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

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

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 <iostream.h>

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)

{

CRectangle rectres;

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.