1.C++中this指针的原型:
#include <stdio.h>
typedef void (*func)();
struct Stu{
char *name;
int age;
func f;
};
void show_info(struct Stu *this)
{
printf("name=%s age=%d\n",this->name,this->age);
}
int main()
{
struct Stu stu={"zhangsan",18,show_info};
stu.f(&stu);
return 0;
}
2.this指针的用法:
1.this用来区分成员属性与函数形参变量的区别。
2.用来返回本对象。
2.1代码来介绍这两个属性
1.this用来区分成员属性与函数形参变量的区别。
像这种函数形参和成员属性的名字完全相同,必须要用this函数
#include <iostream>
using 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.用来返回本对象。
#include <iostream>
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;
}
3.this指针所在成员函数参数中的位置