C++语言程序设计

当一个非静态的成员函数被一个对象调用时，对象的地址作为一个隐含的参数传给被调用的函数。例如：
myDate.setMonth( 3 );
可被解释为:
setMonth( &myDate, 3 );
下面的成员函数setMonth，可用两种方法实现：
void Date::setMonth( int mn )//使用隐含的this指针
{
month = mn;
}
void Date::setMonth( int mn )//显式使用this指针
{
this->month = mn;
}
虽然显式使用this指针的情况并不是很多，但是，this指针有时是有用的。例如，下面的赋值是不允许的：
void Date::setMonth( int month)
{
month = month;
}
但可以用this指针来解决：
void Date::setMonth( int month)
{
this->month = month;
}
类的每个成员函数都访问特殊的指针－this。This指针保留了激活成员函数的对象地址（也就是说，this总是指向目标对象）。This指针仅仅在成员函数内部是合法的，而且名称this是C++的保留字。
每个成员函数所收到的第一个参数就是this指针。程序员没有必要明确定义这个this指针，但是，它总是存在的。This指针通常是每个成员函数（非静态）隐含的第一个参数。编译器在每个成员函数的声明中插入这个隐含参数。当成员函数使用类的成员的绝对名称的任何时候，它隐式使用this指针。编译器在引用成员函数内部的每个表达式中插入this指针（如果用户并没有这样做的话）。