this指针是一个特殊指针,它指向当前对象的实例。友元函数没有this指针,因为友元不是类成员,只有成员函数有this指针。
简单使用示例
#include "iostream"
class boleida
{
private:
int value;
public:
void setValue(int value)
{
this->value = value;
}
};
int main()
{
boleida d;
b.setvalue(22);
return 0;
}
通过this指针,可以在成员函数中访问当前对象的成员变量。即使与函数参数或局部变量同名,也可以进行访问,避免命名冲突。
#include "iostream"
using namespace std;
class boleida
{
public:
boleida* get_address()
{
return this;
}
};
int main()
{
boleida d;
boleida* p = d.get_address();
cout << p << endl;
return 0;
}
输出为d对象的地址。
this指针的类型可以理解为boleida* 。