• C++:this指针



    this指针
    this关键字:表示本类中的对象成员,可以通过this指针访问当前类的成员
    //举例

    //例 3.18  隐藏this指针的引例 
    #include<iostream>
    using namespace std;
    class A{
     public:
           A(int x1)
           {
             x = x1;
           }
           void dis()
           {
            cout<<"x = "<<x<<endl;
           } 
           private:
            int x;
    };
    int main()
    {
     A a(1),b(2);
     cout<<"a:";
     a.dis();
     cout<<"b:";
     b.dis();
     return 0;
    } 
    
    /*
      运行结果:  a:x = 1
                b:x = 1
    @当this指针指向a时:            
    cout<<"x = "<<x<<endl ----> cout<<"x = "<<this->x<<endl ---> cout<<"x = "<<a.x<<endl
    @成员函数:void dis()
               {
                 cout<<"x = "<<x<<endl;
               } 
     实际使用时,C++编译系统把它处理为:
              void dis(*this)
              {
                 cout<<"x = "<<this->x<<endl
              } 
           此时:调用a.dis()---->调用a.dis(&a),这样在进行函数调用时,编译系统就对象
                   a的地址传给形参this指针,成员函数执行后,输出了a.x的值。
    */
    
    //例3.19  显示this指针的值
    #include<iostream>
    using namespace std;
    class A{
      public:
            A(int x1)
            {
                x = x1;
            }
            void dis()
            {
             cout<<"this = "<<this<<" when x="<<this->x<<endl;
            }
      private:
            int x;        
    };
    int main()
    {
     A a(1),b(2),c(3);
     a.dis();
     b.dis();
     c.dis();
     return 0;
    }    
           
        运行结果:   this = 0012FF7C  when x = 1
                   this = 0012FF78  when x = 2
                   this = 0012FF74  when x = 3           
  • 相关阅读:
    《Apache Velocity用户指南》官方文档
    Mockito教程
    GitHub访问速度慢的解决方法
    使用log4jdbc记录SQL信息
    分环境部署SpringBoot日志logback-spring.xml
    SpringBoot入门之spring-boot-maven-plugin
    swagger报No operations defined in spec!
    delphi 时间
    DELPHI常用类型及定义单元
    delphi 多线程编程
  • 原文地址:https://www.cnblogs.com/XYQ-208910/p/4911869.html
Copyright © 2020-2023  润新知