this指针的使用
指针永远指向当前对象
解决命名冲突
*this 指向对象本体
非静态的成员函数才有this指针
#define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; class Person { public: Person(int age) { this->age = age; //this会把构造时给定的数值传给实例出来的对象 } void compareAge(Person & p) { if (this->age == p.age) { cout << "年龄相等" << endl; } else { cout << "年龄不相等" << endl; } } Person& PlusAge(Person& p) //引用方式返回自身 不加&则返回的是一个拷贝的值 { this->age += p.age; return *this; //*this指向对象本体 返回对象本体 } int age; }; void Test101() { Person p1(10); Person p2(10); p1.compareAge(p2); p1.PlusAge(p2).PlusAge(p2).PlusAge(p2); //p1.PluaAge(p2) 返回的还是p1对象本体,可以无限调用 //把返回的对象继续调用对象的方法,叫做链式编程 cout << "p1的年龄" << p1.age << endl; } int main() { Test101(); system("Pause"); //阻塞功能 return EXIT_SUCCESS; // 返回正常退出 }
结果: