Namespaces Namespaces cho phép chúng ta gộp một nhóm các lớp, các đối tượng toàn cục và các hàm dưới một cái tên. Nói một cách cụ thể hơn, chúng dùng để chia phạm vi toàn cụ thành những phạm vi nhỏ hơn với tên gọi namespaces. Khuông mẫu để sử dụng namespaces là: namespace identifier { namespace-body } Trong đó identifier là bất kì một tên hợp lệ nào và namespace-body là một tập hợp những lớp, đối tượng và hàm được gộp trong namespace. . | Namespaces Namespaces cho phép chúng ta gộp một nhóm các lớp các đối tượng toàn cục và các hàm dưới một cái tên. Nói một cách cụ thể hơn chúng dùng để chia phạm vi toàn cụ thành những phạm vi nhỏ hơn với tên gọi namespaces. Khuông mẫu để sử dụng namespaces là namespace identifier namespace-body Trong đó identifier là bất kì một tên hợp lệ nào và namespace-body là một tập hợp những lớp đối tượng và hàm được gộp trong namespace. Ví dụ namespace general int a b Trong trường hợp này a và b là những biến bình thường được tích hợp bên trong namespace general. Để có thể truy xuất vào các biến này từ bên ngoài namespace chúng ta phải sử dụng toán tử . Ví dụ để truy xuất vào các biến đó chúng ta viết general a general b Namespace đặc biệt hữu dụng trong trường hợp có thể có một đối tượng toàn cục hoặc một hàm có cùng tên với một cái khác gây ra lỗi định nghĩa lại. Ví dụ namespaces include 5 namespace first int var 5 namespace second double var int main cout first var endl cout second var endl return 0 Trong ví dụ này có hai biến toàn cục cùng có tên var một được định nghĩa trong namespace first và cái còn lại nằm trong second. Chương trình vẫn chạy ngon cám ơn namespaces. using namespace Chỉ thị using theo sau là namespace dùng để kết hợp mức truy xuất hiện thời với một namespace cụ thể để các đối tượng và hàm thuộc namespace có thể được truy xuất trực tiếp như thể chúng được khai báo toàn cục. Cách sử dụng như sau using namespace identifier Vi du using namespace example include namespace first int var 5 namespace second double var int main using namespace second cout var endl cout var 2 endl return 0 Trong trường hợp này chúng ta có thể sử dụng var mà không phải đặt trước nó bất kì toán tử phạm vi nào. Bạn phải để ý một điều rằng câu lệnh using namespace chỉ có tác dụng trong khối lệnh mà nó được khai báo hoặc trong toàn bộ chương trình nếu nó được dùng trong phạm vi toàn cục. Ví dụ nếu chúng ta định đầu tiên sử dụng