C++基础学习--->类的this指针

this指针介绍

this是一个指针,默认被const修饰,也指明了这是一个常量指针,无法修改指向地址,关于this指针,总结为以下三点:

  • this指针指向被调用的成员函数所属的对象
  • this指针是隐含每一个非静态成员函数内的一种指针
  • this指针不需要定义,可以直接使用

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


class Person
{
	Person(age)
	{
		//形参与成员变量同名,无法赋值
		//age = age; 
		this->age = age; 
	}
	//必须使用引用的方式返回
	Person& PersonAddAge(Person p)
	{
		this->age += p.age;
		return *this;
	}

	int age;
}

void test01()
{
	Person p1(10);
	cout << "p1 age is:" << p1.age << endl;
	Person p2(10);
	//链式编程
	p2.PersonAddAge(p1)..PersonAddAge(p1).PersonAddAge(p1);
	cout << "p2 age is:" << p2.age << endl;
}
  
int main()
{
	test01;
}

/*******************************************************************************************************************/
友元:在程序中,有些私有属性也想让类外特殊的一些函数进行访问,就需要用到友元的技术,友元的目的就是让一个函数或者类访问另一个类的成员 关键字:----> friend

全局函数做友元

将全局函数用friend关键字声明在类的最开始 这个函数可以访问类的成员,无论是私有还是共有
friend void func();

类做友元
将类用friend关键字声明在类的最开始 这个函数可以访问类的成员,无论是私有还是共有

friend class classname();

上一篇:Friend or Foe?


下一篇:547. Friend Circles