Declaring class objects within a class

So the constructor is called implicitly when the enclosing class is instantiated.

Yes.

I could declare a pointer only and instantiate it later, but I seem to remember CPP requring me to then dereference it every time I used it.

You have to dereference the object, too. The dereference operator is -> instead of ., but I can't see that as a major stumbling block.

But creating an overloaded constructor with no params then calling a sepperate initializer worked great.

That is the preferred technique for Arduino libraries.