### Các loại truy cập (Access Specifiers) trong C++
Trong C++, có ba loại truy cập chính:
1. **public**:
- **Giải thích**: Các thành viên (biến và hàm) được khai báo là `public` có thể được truy cập từ bất kỳ đâu, bao gồm cả bên ngoài lớp.
- **Tác động đến kế thừa**: Khi một lớp dẫn xuất kế thừa từ lớp cơ sở với thành viên `public`, các thành viên này vẫn giữ nguyên quyền truy cập `public`.
2. **protected**:
- **Giải thích**: Các thành viên được khai báo là `protected` chỉ có thể được truy cập từ bên trong lớp cơ sở và các lớp dẫn xuất, nhưng không thể truy cập từ bên ngoài.
- **Tác động đến kế thừa**: Khi kế thừa, các thành viên `protected` của lớp cơ sở sẽ trở thành `protected` trong lớp dẫn xuất.
3. **private**:
- **Giải thích**: Các thành viên được khai báo là `private` chỉ có thể được truy cập từ bên trong lớp mà chúng được định nghĩa. Không thể truy cập từ bên ngoài hoặc từ các lớp dẫn xuất.
- **Tác động đến kế thừa**: Khi kế thừa, các thành viên `private` của lớp cơ sở không thể được truy cập từ lớp dẫn xuất, vì vậy chúng không giữ quyền truy cập.