According to John C. Mitchell - Concepts in programming languages,
[...] Java guarantees that a constructor is called whenever an object is created.
In C++, when an object is instantiated, a constructor of that class must be called.