码迷,mamicode.com
首页 > 编程语言 > 详细

C++(三十) — this 指针

时间:2019-01-03 22:39:41      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:color   成员函数   地址   system   指针   end   区分   成员   不同   

1、如何区分多个对象调用同一个类函数?

   类外部访问类成员,必须用对象来调用。一个类的所有对象在调用的成员函数,都执行同一段代码,那成员函数如何区分属于哪个对象呢?

  在对象调用成员函数时,除接收实参外,还接受一个对象的地址。也就是隐含参数:this 指针(编译器自动实现).

  this 指针指出,成员函数当前所操作的数据所属的对象。不同对象调用成员函数时,this指针指向不同对象。

class test
{
public:
    // 
    test(int a, int b)  // test(test *this, int a, int b)
    {
        this->a = a;
        this->b = b;
        cout << "构造函数执行" << endl;
    }
    void print()
    {
        cout << a << endl;
        cout << this->b << endl;
    }
private:
    int a;
    int b;
};

int main()
{
    test t(1,2);  
    t.print(); // print(&t )

    system("pause");
    return 0;
}

 

  

C++(三十) — this 指针

标签:color   成员函数   地址   system   指针   end   区分   成员   不同   

原文地址:https://www.cnblogs.com/eilearn/p/10213590.html

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