#include2.this指针的用法:typedef void (*func)(); struct Stu{ char *name; int age; func f; }; void show_info(struct Stu *this) { printf("name=%s age=%dn",this->name,this->age); } int main() { struct Stu stu={"zhangsan",18,show_info}; stu.f(&stu); return 0; }
2.1代码来介绍这两个属性1.this用来区分成员属性与函数形参变量的区别。
2.用来返回本对象。
1.this用来区分成员属性与函数形参变量的区别。像这种函数形参和成员属性的名字完全相同,必须要用this函数
#includeusing namespace std; class Stu{ int age; string name; public: Stu(int age,string name){ this->age=age; this->name=name; cout << age << name << endl; } }; int main() { Stu stu(13,"zhangsan"); return 0; }
2.用来返回本对象。
#include3.this指针所在成员函数参数中的位置using namespace std; class Stu{ int age; string name; public: Stu(int age,string name) { this->age=age; this->name=name; } Stu set_newname(string name) { this->name=name; return *this; } void show_info() { cout << "age=" << this->age << ",name=" << name << endl; } }; int main() { Stu stu(13,"zhangsan"); stu.set_newname("lisi").show_info(); return 0; }



