• this指针


    首先,我们都知道类的成员函数可以访问类的数据(限定符只是限定于类外的一些操作,类内的一切对于成员函数来说都是透明的),那么成员函数如何知道哪个对象的数据成员要被操作呢,原因在于每个对象都拥有一个指针:this指针,通过this指针来访问自己的地址

    注意:

    1、this指针并不是对象的一部分,this指针所占的内存大小是不会反应在sizeof操作符上的。this指针的类型取决于使用this指针的成员函数类型以及对象类型,

    2、this只能在成员函数中使用。全局函数,静态函数都不能使用this。

    3、this在成员函数的开始执行前构造的,在成员的执行结束后清除。

    4、this指针只有在成员函数中才有定义。在全局变量和静态函数中不能使用

    #include <iostream>
    #include <memory>
    using namespace std;
    class test1
    {
    public:
        test1()
        {
    
        };
        ~test1()
        {
    
        };
        int GetNum()
        {
            //this是指向当前test1这个类的指针,this指针也可以用来初始化变量
            this->a = 10;
            this->b = 0;
            return (*this).a;
        }
    //私有变量可以被类内的所有成员函数调用
    private:
        int a;
        int b;
    };
    
     int main()
     {
         {
             test1 p1;
             cout << p1.GetNum() << endl;
         }
         system("pause");
         return 0;
     }

    参考博客:https://www.cnblogs.com/zhangruilin/p/5769843.html

  • 相关阅读:
    Eclipse项目上传和下载到码云上
    java.lang.IllegalArgumentException,java.util.zip.ZipException 解决办法
    #{}和${}的区别
    Lambda 表达式
    存储器的按字寻址和按字节寻址
    二叉树的三种遍历方式
    线性表和链表
    java泛型理解
    java字符输入输出流
    applet的生命周期
  • 原文地址:https://www.cnblogs.com/-citywall123/p/12701981.html
Copyright © 2020-2023  润新知