this指针
发布日期:2021-06-30 15:14:53 浏览次数:2 分类:技术文章

本文共 602 字,大约阅读时间需要 2 分钟。

    C++中,同一类的每个对象都有自己的数据成员的存储空间,但系统不会为每个类的对象建立成员函数副本,类的成员函数可以被各个对象调用。例如,说明一个Tclass类的对象test,函数调用:

test.print()
在对象test上操作。同样,若说明一个指向Tclass的指针:

Tclass *p

则函数调用:

p->print()
在*p上操作。

    但从成员函数:

void Tclass::print();
的参数上看,并不知道它在哪个对象上操作。其实,C++为成员函数提供了一个称为this的隐含指针参数,所以,我们常常称成员函数拥有this指针。

    当一个对象调用类的成员函数时,对象的地址被传送给this指针,即this指针指向了该对象。this是一个隐含指针,不能显示说明,但可以在成员函数中显式使用。

    Tcalss的成员函数可以print可以这样书写:

void Tclass::print(){    cout<
x<<" "<
y<
    this指针的显式使用主要在运算符重载、自引用等场合。

    this指针是一个常指针,相当于:

class_Type *const this
其中,class_Type是用户定义的类类型标识符。这里,this指针一旦初始化(成员函数被调用)之后,获得了对象的地址,指针值就不能够再修改和赋值,以保证不会指向其他对象。

转载地址:https://jianzhuwang.blog.csdn.net/article/details/47702877 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:类的其他成员
下一篇:Codeforces Round #112 (Div. 2)

发表评论

最新留言

不错!
[***.144.177.141]2024年04月07日 20时18分12秒