- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 六 章 对象数组和指向对象的指针 §6.1 对象数组 对象数组是指每一元素都是对象的数组 一、对象数组的说明和使用与其它变量相同 1. 说明:类名 数组名[下标表达式]; 例:Clock myclock[5]; 2. 引用:数组名[下标].成员名 例: myclock[2].out(); 二、要按如下通常的形式创建对象数组, Clock myclock[5]; 则对该类(如Clock类)的构造函数的要求满足如下条件之一: 1. 没有构造函数; 2. 有构造函数,但要有一个构造函数不带参数; 3. 有构造函数,但要有一个构造函数具有参数全是缺省参数 例6_1 #includeiostream.h class point {private: int x1,x2; public: //point(int x=1,int y=1) //{ x1=x;x2=y; } point(int x,int y) { x1=x;x2=y; } point() {x1=0;x2=0;} int getX() {return x1;} int getY() {return x2;} }; void main() { point data(3,4); coutdata.getY()endl; point more_data[20]; coutmore_data[2].getX()endl; } §6.2 对象指针 一、指向对象的指针 指向对象指针的说明和使用与其它类型的指针变量的方法相同 1、定义:类名 *对象指针名 2、引用:对象指针名-成员名 3、用指针引用单个对象成员(前面已接触过) 4、用指针引用对象数组 例6_2 (与例6_1 功能完全相同) #includeiostream.h class point {private: int x1,x2; public: //point(int x=1,int y=1) //{ x1=x;x2=y; } point(int x,int y) { x1=x;x2=y; } point() {x1=0;x2=0;} int getX() {return x1;} int getY() {return x2;} }; void main() { point data(3,4),*p,*q; p=data; coutp-getY()endl; point more_data[20]; q=more_data[2]; coutq-getX()endl; } 二、this指针 三、指向类的非静态成员的指针 1、定义: 类型说明符 类名:: *指针名 (指向公有数据成员的指针) 类型说明符 (类名:: *指针名)(参数表) (指向公有成员函数的指针) 2、赋值:(确定指向类的哪个成员) 指针名=类名::数据成员名 指针名=类名::函数成员名 注意:此时还不能通过已赋值的指针访问成员,为什么? 3、引用: 对象名. * 类数据成员指针名 (对象名. * 类函数成员指针名)(参数表) 或 对象指针名- * 类数据成员指针名 (对象指针名-* 类函数成员指针名)(参数表) #includeiostream.h class point {public: int x1,x2; public: //point(int x=1,int y=1) //{ x1=x;x2=y; } point(int x,int y) { x1=x;x2=y; } point() {x1=0;x2=0;} int getX() {return x1;} int getY() {return x2;} }; void main() { point data(3,4),*p,*q; int point::*r; int (point::*qq)(); r=point::x1; qq=point::getX; p=data; coutp-getY()endl; point more
您可能关注的文档
最近下载
- 征地拆迁工作总结.pptx VIP
- 二级公立医院绩效考核各指标最新的评分标准.pdf
- 辽宁省沈阳市和平区2023-2024学年五年级下学期期末数学试题.docx VIP
- 2025-2026年部编版五年级语文下册期末试卷及答案【完整】 .pdf VIP
- 艾克幕ICOM-IC-9700_维修说明书手册.pdf
- 湖南省普通高等学校招生体育类专业统一考试评分标准和考试细则(2023年版).pdf VIP
- 医院药品破损处理管理制度.docx VIP
- 钱江贝纳利前后减震加油量列表.xls VIP
- 7.1 血液 课件 2024-2025学年北师版生物七年级下册.pptx VIP
- 曲臂车培训课件.pptx VIP
文档评论(0)