首页 > 代码库 > this 自引用指针
this 自引用指针
this:C++为类的成员函数提供了一个名为this的指针,称为自引用指针。每当创建一个对象的时候,系统就把this指针初始化为指向该对象!
即this指针的值是当前调用成员函数的对象的首地址!!
故而可以通过这个this指针,在成员函数中进行数据操作。例如:
#include<iostream>using namespace std;class Node{private: double x_; double y_;public: Node(double x=0,double y=0) { x_=x;y_=y; } void copy(Node& node); //形参为Node类的引用! void disp(void) { cout<<"\nthis="<<this<<"when x_="<<this->x_; }};void Node::copy(Node& node){ if(this==&node) return; *this=node;}int main(){ Node nod1(1,2),nod2; nod1.disp(); nod2.copy(nod1); nod2.disp(); cout<<"\n"; return 0;}
其中,在调用成员函数disp()的时候,this指针指向当前的类的对象。如nod1.disp();此时,this指向nod1的首地址。由于在类的声明中,成员函数在内存
中是为所有类的对象共享的,故而,不同的对象在调用相同的成员函数的时候,如何区分是对象在调用呢?靠this指针!
以上程序输出:
this 自引用指针
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。