首页 > 编程语言 > 详细

C++(this指针概念)

时间:2020-09-09 08:31:25      阅读:75      评论:0      收藏:0      [点我收藏+]

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;
}

C++(this指针概念)

原文:https://www.cnblogs.com/xuelanga000/p/13636519.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!