A special hidden pointer in every member function that points to the object that called the function.
class Teacher {
string name;
public:
void setName(string name) {
// 'name' (param) shadows 'name' (member)
this->name = name; // this->name = member
}
};
// this->prop is the same as (*this).prop
// Used in copy constructor to avoid ambiguity