• 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;
    }
    
  • 相关阅读:
    nginx 配置下载text等文件
    linux 挂载硬盘
    linux 常用命令
    linux 常用目录的作用
    linux 增加新用户无法使用sudo命令解决办法
    linux 安装ifconfig
    linux 更换yum源
    eclipse 环境安装
    ORACLE 迁移MYSQL 随笔
    微信跳转显示空白页
  • 原文地址:https://www.cnblogs.com/xuelanga000/p/13636519.html
Copyright © 2020-2023  润新知