I have seen lots of codes where the coders define an *init()* function for classes and call it the first thing after creating the instance.

Is there any harm or limitation of doing all the initializations in Constructor?