成员函数和this指针
来源:岁月联盟
时间:2009-02-21
当成员函数使用对象中的非静态成员时(无论是成员变量还是成员函数),它事实上是通过this指针来调用该成员的,首发中国自学编程网,www.zxbc.cn。请看下面的代码:
class theClass
{
public:
VOid initiate=i(int newi)
f
i=newi;
)
priVate:
int i;
)
程序中的成员函数initiate i的定义事实上等价于下面的代码:
V0id initiate=i(int newi)
{
this=>i:newi;
)
对于以不同方式定义的成员函数,this指针具有不同的类型。在上面的initiate I函数中,this指针的类型为theClass*const o这表明,this指针是一个常指针,程序中可以通过this指针来修改类中成员的值,但不可以修改this指针本身的值,也就是说,不可以对this指针重新赋值,以使它指向另一个对象。
下一篇:用消息映射处理消息循环