Bạn có thể khai báo một lớp riêng ...
Bạn có thể khai báo một lớp riêng ...
Trong C++, không thể trực tiếp khai báo một lớp là riêng tư trong một không gian tên bởi vì không gian tên không hỗ trợ các chỉ định truy cập như private
hoặc public
cho các thành viên bên trong nó. Tuy nhiên, có một số cách để giới hạn quyền truy cập vào lớp từ bên ngoài không gian tên, từ đó tạo ra một hiệu ứng tương tự như khai báo một lớp riêng tư.
Một cách là sử dụng không gian tên vô danh (unnamed namespace) hoặc không gian tên nội bộ. Các thành viên bên trong một không gian tên vô danh chỉ có thể truy cập được trong đơn vị biên dịch (translation unit) mà chúng được định nghĩa, không thể truy cập từ các đơn vị biên dịch khác. Điều này giúp giới hạn quyền truy cập đến lớp từ bên ngoài không gian tên mà nó được định nghĩa[1].
Một cách khác là định nghĩa lớp trong một tệp nguồn (source file) hoặc trong một tệp tiêu đề riêng tư (private header file) mà chỉ được bao gồm (include) bởi các tệp nguồn cần truy cập đến lớp đó. Điều này ngăn chặn việ...
expert
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào