Im new and learning C++, is this code a valid C++ implementation, please see code below,
// 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;
};
}
Many thanks.