Có thể tạo một người bạn không gian tên của một lớp, nói rằng tôi có một vùng tên thử nghiệm đơn vị với nhiều lớp và tôi muốn không gian tên thử nghiệm làm bạn với một lớp để nó có quyền truy cập vào các chi tiết thực hiện riêng tư.Tương tác của không gian tên và bạn bè trong C++?
5
A
Trả lời
1
Không, điều này là không thể trong C++. Thành thật mà nói, nó có thiết kế kém.
0
Nếu bạn đang sử dụng .NET, bạn có thể muốn xem InternalsVisibleTo attribute. Dù sao lưu ý rằng điều này làm việc cho toàn bộ hội đồng, không phải cho không gian tên duy nhất.
Các vấn đề liên quan
- 1. Làm cách nào để xác định bạn bè trong không gian tên chung trong một không gian tên C++ khác?
- 2. Chức năng của bạn bè trong C++
- 3. SQL để kết bạn và bạn bè của bạn bè của một người dùng
- 4. Bạn bè trong C++ có chung không?
- 5. Bạn bè hội đồng trong C#
- 6. Tôi có thể hoàn tác tác dụng của "sử dụng không gian tên" trong C++ không?
- 7. Lớp học bạn bè C++
- 8. lớp C++ với bạn bè mục tiêu
- 9. bạn bè của google + api
- 10. Mô hình hóa bạn bè của các mối quan hệ bạn bè trong MongoDB
- 11. C# Các lớp bạn bè và thành phần OOP
- 12. PHP tương đương với bạn bè hoặc nội bộ
- 13. Thừa kế bạn bè trên C++?
- 14. Mẫu C++: Thông số kỹ thuật một phần của mẫu và Lớp bạn bè
- 15. Loại bỏ không gian tên của tên loại trong C++
- 16. Nhận bạn ngẫu nhiên của bạn bè với số lượng tương đối
- 17. C# TWAIN tương tác
- 18. Không gian tên C++ và biến tĩnh
- 19. Khả năng tương tác Java và C#
- 20. Không gian tên Xml và C# csproj
- 21. làm cho bạn bè trăn và fortran
- 22. Các lớp bạn bè trong Mục tiêu-C
- 23. Vấn đề không gian tên trong C++
- 24. Tương tác với C lớp ++ trong Emscripten
- 25. Oracle SQL cách viết câu lệnh sql để xác minh xem người dùng trong mạng của tôi (tức là bạn bè hoặc bạn của bạn bè)
- 26. Làm thế nào để có được giao diện điều khiển tương tác của Python trong không gian tên hiện tại?
- 27. Thông số mẫu làm bạn bè
- 28. Không gian trong URL của bạn (% 20) có tác động tiêu cực đến SEO không?
- 29. Bạn có thích không gian tên rõ ràng hoặc 'sử dụng' trong C++ không?
- 30. Không gian tên lồng nhau trong C++
Tại sao bạn nói đó là thiết kế tồi? Tôi nghĩ rằng nó có thể có thể được thực hiện và có ích. Không có nhiều khác biệt giữa một lớp và không gian tên ngoại trừ con trỏ này. Tôi không thấy lý do tại sao khai báo người bạn không thể làm việc cho một không gian tên, cho phép chức năng thành viên của nó có thể truy cập các chi tiết thực hiện của một lớp. Điều này có thể cho phép các hàm không phải của thành viên liên quan đến một lớp dễ dàng truy cập vào nội bộ của lớp đó. Về cơ bản làm thế nào bạn sẽ làm điều đó ngay bây giờ? Sử dụng một khai báo lớp khi một không gian tên sẽ đủ và bạn bè lớp đó? bạn bè mọi chức năng cần truy cập vào lớp học? – n1ckp
Có rất nhiều sự khác biệt giữa các lớp và không gian tên. –
Một điểm khác biệt là không gian tên không bị đóng: bạn luôn mở nó và bắt đầu thêm mọi thứ vào đó. Vì vậy, tuyên bố một không gian tên một người bạn sẽ có hiệu lực được mở ra cho mình lên hoàn toàn. Không giống như một lớp học, được hoàn thành vào lúc đóng cửa}; –