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 ++ privatetheo 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. publiccó 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.
privatekhô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.
protectedlà 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 publicvà 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, publicvà privatecá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 SetWindowTextlà publicvì 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 publictheo 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 đó publickhai báo được coi là an toàn.