码迷,mamicode.com
首页 > 其他好文 > 详细

this 自引用指针

时间:2014-12-14 10:34:35      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   os   sp   数据   div   

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指针!

  以上程序输出:

bubuko.com,布布扣

this 自引用指针

标签:style   blog   http   io   color   os   sp   数据   div   

原文地址:http://www.cnblogs.com/mt-luo/p/4162238.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!