object life cycle, Copy Constructors and Assignment Operators