zoukankan      html  css  js  c++  java
  • C++(三十) — this 指针

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

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

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

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

    2、 关于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;
    }

     

  • 相关阅读:
    vue.js
    kendo ui DatePicker 时区转换
    List Except 失效 差集失效
    RabbitMQ的安装
    net core 使用 Redis
    SQLSERVER学习八:事务和锁
    SQLSERVER学习七:存储过程
    SQLSERVER学习六:函数
    SQLSERVER学习五:流程控制语句
    SQLSERVER学习四:常用检索语句
  • 原文地址:https://www.cnblogs.com/eilearn/p/10213590.html
Copyright © 2011-2022 走看看