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 <iostream.h>
class CSquare;
class CRectangle {
int width, height;
public:
int area (void)
{return (width * height);}
void convert (CSquare a);
};
class CSquare {
private:
int side;
public:
void set_side (int a)
{side=a;}
friend class CRectangle;
};
void CRectangle::convert (CSquare a) {
width = a.side;
height = a.side;
}