private
được ưa thích cho dữ liệu thành viên. Các thành viên trong các lớp C ++ private
theo mặc định.
public
được ưa thích cho các chức năng thành viên, mặc dù đó là một vấn đề quan điểm. Ít nhất một số phương pháp phải có thể truy cập được. public
có thể truy cập được cho tất cả. Đây là tùy chọn linh hoạt nhất và ít an toàn nhất. Bất cứ ai cũng có thể sử dụng chúng, và bất cứ ai cũng có thể sử dụng sai chúng.
private
không thể truy cập được Không ai có thể sử dụng chúng bên ngoài lớp học, và không ai có thể lạm dụng chúng. Ngay cả trong các lớp dẫn xuất.
protected
là một sự thỏa hiệp bởi vì nó có thể được sử dụng trong các lớp dẫn xuất. Khi bạn xuất phát từ một lớp, bạn có hiểu biết tốt về lớp cơ sở và bạn cẩn thận không lạm dụng các thành viên này.
MFC là một trình bao bọc C ++ cho API Windows, nó thích public
và protected
. Lớp học được tạo ra bởi Visual Studio WIZARD có một sự pha trộn xấu xí của protected
, public
và private
các thành viên. Nhưng có một số logic cho các lớp MFC.
Các thành viên như vậy SetWindowText
là public
vì bạn thường cần truy cập vào các thành viên này.
Các thành viên như OnLButtonDown
, xử lý các thông báo nhận được bởi cửa sổ. Họ không nên được truy cập, do đó họ là protected
. Bạn vẫn có thể truy cập chúng trong lớp dẫn xuất để ghi đè các hàm này.
Một số thành viên phải thực hiện các luồng và vòng lặp thông báo, chúng không nên được truy cập hoặc ghi đè, vì vậy chúng được khai báo là private
Trong cấu trúc C ++, các thành viên public
theo mặc định. Các cấu trúc thường chỉ được sử dụng cho dữ liệu, không phải phương thức, do đó public
khai báo được coi là an toàn.