bên ngoài thì hàm đó có thể truy nhập tới các thành phần private của lớp này.. Quan hệ bạn[r]
Trang 1Chương 5: Các kiểu quan hệ
Trang 2Nội dung chính
Quan hệ bạn
Quan hệ cấu thành
Trang 31 Quan hệ bạn
Khi hai lớp được khai báo là bạn của nhau thì các thành phần được định
nghĩa trong một lớp sẽ được truy nhập bởi các thành phần ở lớp kia
Quan hệ bạn được khai báo giữa các lớp hoặc giữa lớp và hàm
Quan hệ bạn không có tính chất bắc
cầu và tính chất giao hoán
Trang 4Ví dụ: Quan hệ bạn
Lớp Employee khai báo lớp Supervisor là bạn
Lớp Supervisor có thể truy nhập tới các thành phần của lớp Employee.
Trang 5Quan hệ bạn …
Khi hai lớp được khai báo là bạn của nhau thì các thành phần được định
nghĩa trong một lớp sẽ được truy nhập bởi các thành phần ở lớp kia
Trang 6SetID gọi đến ShowID() trong lớp Supervisor Cho nên, phần định nghĩa phương thức SetID sẽ được viết cuối cùng.
Trang 7Quan hệ bạn …
Quan hệ bạn còn cho phép các hàm
thành phần của một lớp có thể truy
nhập tới các hàm ở bên ngoài
Khi lớp khai báo là bạn của một hàm ở bên ngoài thì hàm đó có thể truy nhập tới các thành phần private của lớp này
Trang 9Quan hệ bạn
Quan hệ bạn giữa hàm thành phần của một lớp với một hàm khác
Trang 112 Quan hệ cấu thành
C++ cho phép ta xây dựng một lớp mà
có các thành phần dữ liệu của nó là các lớp khác
Quan hệ giữa các lớp này được gọi là quan hệ cấu thành
Trang 12//Lỗi
Trang 13Hàm tạo trong quan hệ cấu thành
Cú pháp:
Lớp_cha (các tham số) : lớp con (các tham số), lớp con (các tham số) {
…
}