Sự thừa kế giữa các lớp
Một trong những tính năng quan trọng của lớp là sự thừa kế. Nó cho phép
chúng ta tạo một đối tượng xuất pháp từ một đối tượng khác. Ví dụ, giả sử
chúng ta muốn khai báo một loạt các lớp mô tả các đa giác như là
CRectangle
hay
CTriangle
. Cả hai đều có những đặc tính chung, ví dụ như là chiều cao và
đáy.
Điều này có thể được biểu diễn bằng lớp
CPolygon
mà từ đó chúng ta có thể
thừa kế hai lớp, đó là
CRectangle
và
CTriangle
.
Lớp
CPolygon
sẽ chứa các thành viên chung đối với mọi đa giác. Trong trường
hợp của chúng ta: chiều rộng và chiều cao.
Các lớp xuất phát từ các lớp khác được thừa hưởng tất cả các thành viên nhìn
thấy được của lớp. Điều này có nghĩa là một lớp cơ sở có thành viên
A
và chúng
ta tạo thêm một lớp xuất phát từ nó với một thành viên mới là
B
, lớp được thừa
kế sẽ có cả
A
và
B
.
Để có thể thừa kế một lớp từ một lớp khác, chúng ta sử dụng toán tử
:
(dấu hai
chấm ) trong phần khai báo của lớp con:
class derived_class_name: publicbase_class_name;
trong đó
derived_class_name
là tên của lớp con (lớp được thừa kế) và
base_class_name
là tên của lớp cơ sở.
public
có thể được thay thế bởi
protected
hoặc
private
, nó xác định quyền truy xuất đối với các thành viên
được thừa kế như chúng ta sẽ thấy ở ví dụ này: