struct class member in C++
<p>Im new and learning C++, is this code a valid C++ implementation, please see code below,</p>

<pre><code>// FoomImpl.h
#include "Foo.h"

namespace FooFoo { namespace Impl {

class FooImpl
{
   public:
      FooImpl( FooFoo::CFoo::stBar bar )
      {
         m_bar = bar;
      }

   private:
      FooFoo::CFoo::stBar m_bar;
};

} }

// Foo.h
#include "FoomImpl.h"

namespace FooFoo {

class CFoo
{
 public:
    struct stBar
    {
       int aBar;
    };

 public:
    CFoo( stBar bar ) : impl(NULL)
    {
       impl = new FooFoo::Impl::FoomImpl( bar );
    }

    CFoo( ) : impl(NULL){}
    ~CFoo( )
    {
       if(impl)
         delete impl;
    }

 private:
    FooFoo::Impl::FoomImpl *impl;
};
}
</code></pre>

<p>Many thanks.</p>
