First Principles Constructors In Cpp