I would like to use smart pointers for all objects created on the heap. Following is where my thoughts are:
1- Create a RootObject template class that all classes in the System must inherit from.
2- Overload 'new' operator in RootObject to always return a smart pointer.
Am I on the right track here? Is this even possible? If not, please advise?