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

không
không

trong đó "không phải là thành viên" đại diện cho bất kì sự tham chiếu nào từ
bên ngoài lớp, ví dụ như là từ

main()

, từ một lớp khác hay từ bất kì hàm nào.

Trong ví dụ của chúng ta, các thành viên được thừa kế bởi

CRectangle

CTriangle

cũng tuân theo các quyền truy xuất như đối với lớp cơ sở

CPolygon

:

CPolygon::width

// protected access

CRectangle::width

// protected access

CPolygon::set_values()

// public access

CRectangle::set_values()

// public access

Có điều này vì chúng ta đã thừa kế một lớp từ một lớp khác với quyền truy xuất

public

, hãy nhớ:

class CRectangle: public CPolygon;

từ khoá

public

đại diện cho mức độ bảo về tối thiểu mà các thành viên được

thừa kế của lớp cơ sở (

CPolygon

) phải có được trong lớp mới (

CRectangle

).

Mức độ này đối với các thành viên được thừa kế có thể được thay đổi nếu thay
vì dùng

public

chúng ta sử dụng

protected

hay

private

, ví dụ, giả sử rằng

daughter

là một lớp được thừa kế từ

mother

, chúng định nghĩa như thế này:

class daughter: protected mother;

điều này sẽ thiết lập

protected

là mức độ truy xuất tối thiểu cho các thành viên

của

daughter

được thừa kế từ lớp cơ sở. Có nghĩa là tất cả các thành viên

public

trong

mother

sẽ trở thành

protected

trong

daughter

. Tất nhiên, điều

này không cản trở

daughter

có thể có các thành viên

public

của riêng nó. Mức

độ tối thiểu này chỉ áp dụng cho các thành viên được thừa kế từ

mother

.

Nếu không có mức truy xuất nào được chỉ định,

private

được dùng với các lớp

được tạo ra với từ khoá

class

còn

public

được dùng với các cấu trúc.

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.