zoukankan      html  css  js  c++  java
  • 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           
  • 相关阅读:
    树——题解汇总
    element ui实现手动上传文件,且只能上传单个文件,并能覆盖上传
    浏览器缓存
    websocket协议
    session
    cookie
    作用域插槽
    时间格式化函数
    Neo4j快速入门
    线性空间
  • 原文地址:https://www.cnblogs.com/XYQ-208910/p/4911869.html
Copyright © 2011-2022 走看看