下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C/C+ this 指针详解this 是 C+ 中的一个关键字,也是一个 const 指针,它指向当前对象, 通过它可以访问当前对象的所有成员。 象,this 就指向 stu。下面是使用 this 的一个完整示例:#include using namespace std;class Studentpublic:void setname(char *name); void setage(int age);void setscore(float score); void show();private:char *name; int age; float score;void Student:set
2、name(char *name)this-name = name;void Student:setage(int age)this-age = age;void Student:setscore(float score)this-score = score;void Student:show()coutname的年龄是age,成绩是score setname(李华);pstu - setage(16); pstu - setscore(96.5); pstu - show();return 0;运行结果:李华的年龄是 16,成绩是 96.5this 只能用在类的内部,通过 this 可以访问类
3、的所有成员,包括 private、protected、public 属性的。本例中成员函数的参数和成员变量重名,只能通过 this 区分。以成员函数setname(char*name)namenamenamename;name赋值,而不是给成员变量name赋值。而写作thisnamename;后,=左边的name就是成员变量,右边的name就是形参,一目了然。注意,this 是一个指针,要用-来访问成员变量或成员函数。this 虽然用在类的内部,但是只有在对象被创建以后才会给 this 赋值,并且这个赋值的过程是编译器自动完成的,不需要用户干预,用户也不能显式地给this 赋值。本例中,thi
4、s 的值和 pstu 的值是相同的。我们不妨来证明一下,给 Student 类添加一个成员函数printThis(),专门用来输出 this 的值,如下所示:void Student:printThis() coutthis printThis(); coutpstu1 printThis(); coutpstu2endl;运行结果: 0 x7b17d8 0 x7b17d8 0 x7b17f0 0 x7b17f0可以发现,this 确实指向了当前对象,而且对于不同的对象,this 的值也不一样。几点注意:this 是 const 指针,它的值是不能被修改的,一切企图修改该指针的操作, 如赋值、递增、递减等都是不允许的。this 只能在成员函数内部使用,用在其他地方没有意义,也是非法的。thisstatic(后续会讲到 static 成员)。this 到底是什么this 实际上是成员函数的一个形参,在调用成员函数时将对象的地址作为实参传递给 this。不过 this 这个形参是隐式的,它并不出现在代码中,而是在编译阶段由编译器默默地将它添加到参数列表中。this 作为隐式形参,本质上是成员函数的局部变量,所以只能用在成员函数的内
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河沙购销合同版
- 借条协议补签范本
- 礼仪服务合同协议书样式示例格式
- 居家养老护理合同
- 陶瓷商品交易协议
- 会议现场服务外包合同
- 实木板材购销合同
- 电信服务合同解除协议解读
- 电脑购销谅解合同
- 空调机组选购及安装合同
- 女性生殖健康与疾病智慧树知到期末考试答案章节答案2024年山东中医药大学
- (高清版)JGT 225-2020 预应力混凝土用金属波纹管
- 2023-2024学年四川省绵阳市九年级上册期末化学试题(附答案)
- 心电图进修汇报
- 中医科进修总结汇报
- 初中英语比较级和最高级专项练习题含答案
- 激光技术在能源、环保、农业等领域的应用
- 【高分复习笔记】周小普《广播电视概论》笔记和课后习题详解
- 中国玉石及玉文化鉴赏智慧树知到期末考试答案2024年
- MOOC 物理与艺术-南京航空航天大学 中国大学慕课答案
- 《旅游财务管理》课件-1认识旅游企业
评论
0/150
提交评论