zoukankan      html  css  js  c++  java
  • C++(this指针概念)

    this 指针

         C++中成员变量和成员函数是分开存储的,每一个非静态成员函数只会诞生一份函数实例,也就是说
      多个同类型的对象会共用一块代码区
    
    • 问题:这一块代码是如何区分哪个对象调用自己的呢?

    • C++通过提供特殊的对象指针,this指针,解决上述问题。 this指针指向被调用的成员函数所属的对象

    • this指针是隐含每一个非静态成员函数内的一种指针

    • this指针不需要定义,直接使用即可

    this指针的用途:

    • 当形参和成员变量同名时,可用this指针来区分
    • 在类的非静态成员函数中返回对象本身,可使用return *this

    示例:

    #include <iostream>
    
    using namespace std;
    
    class Person
    {
    public:
          Person(int age)
          {
                //1.当形参和成员变量同名时,可用this指针来区分
                this->age=age;
          }
    
          Person& PersonAddPerson(Person &p)
          {
                this->age+=p.age;
                
                //返回对象本身
                return *this;
          }
          int age;
    };
    
    void test01()
    {
          Person p1(10);
          cout<<"p1.age="<<p1.age<<endl;
    
          Person p2(10);
          p2.PersonAddPerson(p1).PersonAddPerson(p1).PersonAddPerson(p1);
          cout<<"p2.age="<<p2.age<<endl;
    }
    
    int main(void)
    {
          test01();
    
          system("pause");
          return 0;
    }
    
  • 相关阅读:
    关于xutils中的BitmapUtil实现简单的缓存和下载
    自定义spinner
    Dart格式化输出
    使用 dsc_extractor 导出 dyld_shared_cache_arm64
    iOS11 获取手机已安装应用列表
    恢复二进制文件中的block符号表
    iOS 反反注入 修改__RESTRICT,__restrict工具
    Node的调试
    UVa10131
    UVa116
  • 原文地址:https://www.cnblogs.com/xuelanga000/p/13636519.html
Copyright © 2011-2022 走看看