// @topic T53105 12/04/2012 -- namespace, unnamed (anonymous) namespace // @brief namespace bristolcc, nested namespace bristolcc_implementation // example of a namespace: namespace bristolcc { class Box { double m_value; public: // constructors Box( double value ) : m_value( value ) { } // operations double get_value(); };//class Box };//namespace bristolcc // namespaces can be re-opened: namespace bristolcc { double Box::get_value() { return m_value; } namespace bristolcc_implementation { int count_teachers = 100; };//namespace divsionIII };//namespace bristolcc // unnamed namespace is accessible only within the file they are created in. // unnamed namespace hides its declaration outside a translation unit. // unnamed namespace allows naming functions the same in different CPP files. namespace { int strange = 0; int count_teachers = 500; }; int main() { using namespace bristolcc; using namespace bristolcc::bristolcc_implementation; Box bx = 123.45; double dbl = bx.get_value(); dbl = dbl * strange * ::count_teachers; return 0; }