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<this指针的显式使用主要在运算符重载、自引用等场合。x<<" "< y<
this指针是一个常指针,相当于:
class_Type *const this其中,class_Type是用户定义的类类型标识符。这里,this指针一旦初始化(成员函数被调用)之后,获得了对象的地址,指针值就不能够再修改和赋值,以保证不会指向其他对象。
转载地址:https://jianzhuwang.blog.csdn.net/article/details/47702877 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月07日 20时18分12秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Malformed \uxxxx encoding.异常
2019-05-01
使用aspose.words 18.6实现pdf文档转换
2019-05-01
Java 生成文字图片
2019-05-01
com.itextpdf.text.exceptions.IllegalPdfSyntaxException: Unbalanced begin/end text operators.
2019-05-01
Java程序运行机制
2019-05-01
包机制介绍
2019-05-01
JavaDoc---生成自己的API文档
2019-05-01
Scanner对象的介绍
2019-05-01
Java三种流程结构介绍
2019-05-01
Java 方法(函数)详解
2019-05-01
Java数组详解
2019-05-01
Java面向对象详解
2019-05-01
Java static 关键字
2019-05-01
Java抽象类
2019-05-01