this指针

      需要在函数中访问被屏蔽的数据域时使用。例如:一个数据域的名字被多次用作一组成员函数的参数名,而这些参数是用来访问数据域的。这种情况下,我们需要在函数中引用被屏蔽的数据域的名字,从而为此数据域赋予新的值。这时可以用this指针这一C++内置特殊指针来访问被屏蔽的数据域,这个特殊指针用于引用(当前函数)的调用对象。

代码
#include "circle.h"

Circle::Cirlce()
{
radius
= 1;
}

Circle::Circle(
double radius)
{
this->radius = radius;
}

double Circle::getArea()
{
return radius * radius * 3.14159;
}

double Circle::getRadius()
{
return radius;
}

void Circle::setRadius(double radius)
{
this->radius = (radius >= 0)? radius :0;
}
      构造函数中名为radius的参数是一个局部变量,它屏蔽了对象中的数据域radius。为了能引用radius数据域,我们需要使用this->radius。类似地,函数setRadius中名为radius的参数,为引用它所屏蔽的数据域radius,需使用this->radius。
posted @ 2010-10-20 15:53  Chjun  阅读(219)  评论(0编辑  收藏  举报