I defined a class in a namespace in a header as follows
#ifndef _c1_
#define _c1_
namespace classspace
{
class Aclass;
}
class Aclass
{
//body
};
Namespaces are essentially packages. In your Qt example, the class is forward declared. One way to use namespaces is as follows:
namespace MyNamespace
{
class MyClass
{
};
}
If you want to do it like your first example, then you must forward declare it. For example,
namespace MyNamespace
{
class MyClass;
}
class MyClass
{
//body
};