Câu hỏi phỏng vấn OOP
Câu hỏi

Bạn có thể khai báo một lớp riêng tư trong một không gian tên không?

Câu trả lời

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

expert

Gợi ý câu hỏi phỏng vấn

senior

Giải thích khái niệm về Destructor trong C++

junior

Câu hỏi được dịch là: "Sự khác biệt giữa class và structure là gì?"

junior

Tại sao từ khóa "virtual" được sử dụng trong mã lập trình?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào