Only because most standard C++ objects, classes and functions are in the std namespace. If you put your classes in a namespace, you would have to use that namespace to get at them, or use the appropriate usingnamespace statement.
// not in a namespace, i.e. in the global namespaceclass MyClass1 {
// etc
};
// a namespace
namespace MyNamespace {
// in a namespace
class MyClass2 {
// etc
};
}
int main()
{
// access MyClass1 as normal:
MyClass1 mc1;
// we need to get the other class via its namespace
MyNamespace::MyClass2 mc2;
return 0;
}
Of course, we could also use usingnamespace:
1 2 3 4 5 6 7 8 9 10 11 12
// classes as above
usingnamespace MyNamespace;
int main()
{
MyClass1 mc1;
// no longer need namespace part: we have used using namespace MyNamespace
MyClass2 mc2;
return 0;
}
EDIT:
Have we used any namespace when define our own class?
Not unless you actually put it in a namespace as I did above.