How to competently implement a class type constructor:
class NewClass { public: NewClass(Class1 &Name1, Class2 &Name2 ) ... };
if the number of different classes Class1 and Class2 significant?
For a small number of classes (Class1 and Class2), you can manually sort through all possible constructor overloads, and what if there are many such classes or an arbitrary number?