正如楼上说的,
比如定义一个
class CMyShape
{
public :
void setcolor(int color){ m_color = color;}
}
其实在编译器编译之后
class CMyShape
{
void setcolor (int color , (CMyShape*)this){this->m_color=color;}
};
可以看出 this就是指向自身的指针
什么情况下用呢 很多情况下!我不能列举出太多,希望别的大侠补充
比如定义一个函数最后返回自身
CMyShaope& fun()
{
doingsomething;
return *this;
}
比如定义一个
class CMyShape
{
public :
void setcolor(int color){ m_color = color;}
}
其实在编译器编译之后
class CMyShape
{
void setcolor (int color , (CMyShape*)this){this->m_color=color;}
};
可以看出 this就是指向自身的指针
什么情况下用呢 很多情况下!我不能列举出太多,希望别的大侠补充
比如定义一个函数最后返回自身
CMyShaope& fun()
{
doingsomething;
return *this;
}
void CMyShape::OnClilk()
{
FImage = new TImage(this);
FImage->Parent = this;//这里的this指的是CMyShape
}
Thinking in Java中讲得比较清楚
用得比较多的两个地方:
1。返回句柄
2。构建器重载
除了是两个单词?
JAVA里什么都是对象,
用this就表示当前对象
比如this.name就是当前对象的name字段,
譬如说你,你是从“人”这个类extends来的一个具体的对象(呀,搞不定是神仙哦:)呵呵:)
用在你的“内部”用this.legs表示你自己的腿,等等:—)呵呵:)class a {
private String name; pubilc void setName(String name){
this.name = name;
}
}此时用this来区分方法参数和实例变量,还有就是需要区分几个对象时用,但不多吧,我想:)呵呵:)