Problem
1. Ada defines two kinds of types: private type and limited private type. What is the difference between these two? Is there a similar concept in C++? If not, why not? Does their absence imply a lack of functionality in C++?
2. What is the difference between overloaded functions and generic functions in C++?