In a statically typed language such as C++, templates can sometimes make life easier. Consider "templatizing" your class if it's appropriate for example, if you're writing a container class that might potentially deal with many differing types of objects.
If you do convert your code to a templated form, I recommend doing so after the bulk of the testing and debugging has been done. There is no point in introducing complexity earlier than you have to.
Also ask yourself whether you want to wrap all your code in its own namespace. Nearly all compilers support namespaces now, and they can simplify coding and maintenance by reducing the "pollution" of the global namespace.