C++:this指针
this指针
this关键字:表示本类中的对象成员,可以通过this指针访问当前类的成员
//举例
//例 3.18 隐藏this指针的引例 #include<iostream> using namespace std; class A{ public: A(int x1) { x = x1; } void dis() { cout<<"x = "<<x<<endl; } private: int x; }; int main() { A a(1),b(2); cout<<"a:"; a.dis(); cout<<"b:"; b.dis(); return 0; } /* 运行结果: a:x = 1 b:x = 1 @当this指针指向a时: cout<<"x = "<<x<<endl ----> cout<<"x = "<<this->x<<endl ---> cout<<"x = "<<a.x<<endl @成员函数:void dis() { cout<<"x = "<<x<<endl; } 实际使用时,C++编译系统把它处理为: void dis(*this) { cout<<"x = "<<this->x<<endl } 此时:调用a.dis()---->调用a.dis(&a),这样在进行函数调用时,编译系统就对象 a的地址传给形参this指针,成员函数执行后,输出了a.x的值。 */ //例3.19 显示this指针的值 #include<iostream> using namespace std; class A{ public: A(int x1) { x = x1; } void dis() { cout<<"this = "<<this<<" when x="<<this->x<<endl; } private: int x; }; int main() { A a(1),b(2),c(3); a.dis(); b.dis(); c.dis(); return 0; } 运行结果: this = 0012FF7C when x = 1 this = 0012FF78 when x = 2 this = 0012FF74 when x = 3
程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!