介绍
- 什么是 this 指针
1.this 是 C++ 中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。
2.所谓当前对象,是指正在使用的对象。例如对于t->max(sumber)
,t 就是当前对象,this 就是在 类 中的 t,sumber 是所传入的形参
3.this 指针不存储在对象中,不影响对象大小,且始终指向当前对象
4.this 指针是“成员函数”的第一个隐藏参数,由编译器自动给出
- this 有什么用
1.this 只能用在类的内部,通过 this 可以访问类的所有成员,包括 private、protected、public 属性的;(PS: this 是一个 const 指针,要用 “->” 来访问成员变量或成员函数)
源码
#include<iostream>
#include<string>
using namespace std;
class Socre
{
public:
Socre(int c) :sum_socre(c)
{
}
~Socre()
{
}
int max(Socre s)
{
if (this->sum_socre < s.sum_socre)
{
return s.sum_socre;
}
else
{
return this->sum_socre;
}
}
private:
int sum_socre;
};
int main()
{
Socre sumber(50);
{
Socre s(30);
cout << "s = " << s.max(sumber) << endl;
}
Socre* t = new Socre(90);
cout <<"t = "<< t->max(sumber) << endl;
delete t;
system("pause");
return 0;
}
运行结果
s = 50
t = 90
请按任意键继续. . .