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

rectres.width = rectparam.width*2;

rectres.height = rectparam.height*2;

return (rectres);

}

int main () {

CRectangle rect, rectb;

rect.set_values (2,3);

rectb = duplicate (rect);

cout << rectb.area();

}

24

Ở bên trong hàm

duplicate

, chúng ta có thể truy xuất vào các thành viên

width

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.