What are this and *this? How are these two different?
this is a pointer to the object whose member function is being ****. It is a pointer to the object itself while *this is an object pointed by the pointer this.