我在看这本书的过程中发现了,原来this指针就是一个指针,是对象的指针!编译器在编译过程中会给方法加上指针!在代码运行过程中识别不同的对象!下面有一个说得很清楚的例程,让大家知其然还能知其所以然!
下面我定义一个类:
class CShape
{
private:
int m_color; //成员变量,颜色
public:
void setcolor(int );
};
CShape :: setcolor( int color )
{
m_color= color;
}
class CShape
{
...
public:
void setcolor(int color) { m_color = color; }
};
而实际在处理过程中是:
class CShape
{
...
public:
void setcolor(int color, (CShape*)this) { this->m_color = color; }
};