当一个成员函数被调用时,c++语言自动向它传递一个隐含的参数,该参数是一个指向接受该函数调用的对象的指针,在程序中可以使用关键字this来引用该指针,因此称该指针为this指针。this指针是C++语言实现封装的一种机制。
eg:
#include<iostream>
using namespace std;
class A
{
public:
int get() const{return i;}
void set(int x){this->i=x;cout<<"this指针保存的内存地址为:"<<this<<endl;}
private:
int i;
};
int main()
{
Aa;
a.set(9);
cout<<"对象a所在的内存地址为:"<<&a<<endl;
cout<<"对象a所保存的值为:"<<a.get()<<endl;
cout<<endl;
Ab;
b.set(999);
cout<<"对象b所在的内存地址为:"<<&b<<endl;
cout<<"对象b所保存的值为:"<<b.get()<<endl;
return 0;
}
--------------------------------------------------------------------
this->i=x;这句话就表示把x的值赋值给当前的对象的私有成员函数i。
this指针最大的作用就是它保存了当前对象的地址,并且应用指针的形式指向了当前的对象。
- 静态成员函数无this指针