正如楼上说的,
比如定义一个
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;

解决方案 »

  1.   

    简单的说就是,需要特别指定一个变量值的时候,需要用THIS。
      

  2.   

    还有比如有时候新建一个
    void CMyShape::OnClilk()
    {
        FImage = new TImage(this);
        FImage->Parent = this;//这里的this指的是CMyShape
    }
      

  3.   

    this用来在类定义体内指代类本身的实例句柄
    Thinking in Java中讲得比较清楚
    用得比较多的两个地方:
    1。返回句柄
    2。构建器重载
      

  4.   

    我对thinking in java种的很多的东西多感到奇怪,比如说sun原版书种是reference的,它就说是handle,为什么?
      

  5.   

    handle和reference有区别的吗?
    除了是两个单词?
      

  6.   

    this字面意思就是“这个”
    JAVA里什么都是对象,
    用this就表示当前对象
    比如this.name就是当前对象的name字段,
    譬如说你,你是从“人”这个类extends来的一个具体的对象(呀,搞不定是神仙哦:)呵呵:)
    用在你的“内部”用this.legs表示你自己的腿,等等:—)呵呵:)class a {
    private String name;  pubilc void setName(String name){
        this.name = name;
      }
    }此时用this来区分方法参数和实例变量,还有就是需要区分几个对象时用,但不多吧,我想:)呵呵:)