有没有人能给我解释一下(*this)指针,并演示它是如何被一个对象调用同一类的另一个对象的。我不明白的是,你怎么会在一个成员函数中引用两个数字,两个不同的对象,具有相同的变量名。例如,将两个数字相乘。
a.Multiply(b);
//....
Numbers::Numbers Multiply(Numbers auggend)
{
}发布于 2011-10-07 12:44:42
this pointer:每个对象的成员函数都可以访问一个名为this的指针,它指向我们称为成员函数的对象itself.When,它的存在是通过将this的值设置为对象的地址来实现的,called.Using是一个this指针。任何成员函数都可以找到它是member.It的对象的地址,也可以用来访问它所指向的对象中的数据。示例:
void setdata(int ii)
{
i=ii; // one way to set data
this->i=ii; // another way to set data
}发布于 2011-10-07 12:52:02
this pointer存储类实例的地址,并可用于初始化值
发布于 2011-10-07 12:09:04
(*this)是指向类的声明的指针。在你的例子中,如果Numbers类有一个数据值" value ":
a.Multiply(b);
....
Numbers::Numbers Multiply(Numbers auggend)
{
return (this->value) * (auggend.value);
}https://stackoverflow.com/questions/7682918
复制相似问题