



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
对象数组1.对象数组:在ANSI C中,把具有相同结构类型的结构变量,有序地集合起来便组成了结构数组.在ANSI C+中,与此类似将具有相同class类型的对象有序地集合在一起便组成了对象数组,对于一维对象数组也称为对象向量,因此对象数组的每个元素都是同种class类型的对象. (1)对象数组的定义:其定义格式为:对象数组名元素个数. = 初始化列表;其中是对象数组元素的存储类型,与变量一样有extern型,static型和auto型等,该对象数组元素由指明所属类,与普通数组类似,方括号内给出某一维的元素个数.对象向量只有一个方括号,二维对象数组有两个方括号,如此类推.#include class Point int x, y;public :Point(void) x = y = 0; Point(int xi, int yi) x = xi; y = yi; Point(int c) x = y = c; void Print( ) static int i = 0 ; cout P i+ ( x , y )n; void main( ) Point Triangle3 = Point(0, 0), Point(5, 5), Point(10, 0);int k = 0;cout 输出显示第 +k 个三角形的三顶点 : n;for(int i = 0; i 3; i+)Trianglei.Print( );Triangle0 = Point(1);Triangle1 = 6; /Call Point(6)Triangle2 = Point(11, 1);cout 输出显示第 +k 个三角形的三顶点 : n;for(i = 0; i 3; i+)Trianglei.Print( );Point Rectangle22 = Point(0, 0),Point(0,6),Point(16,6) , Point(16,0);cout 输出显示一个矩形的四顶点 : n;for(i = 0; i 2 ; i+)for(int j = 0; j 2; j+)Rectangleij.Print( );cout输出显示45度直线上的三点 : n;Point Line453 = 0, 1, 2;for(i = 0; i 3; i+)Line45i.Print( );Point PtArray3;cout 输出显示对象向量PtArray的三元素 : n;for(i = 0; i 3; i+)PtArrayi.Print( ); 该程序的输出结果:输出显示第1个三角形的三顶点 :P0(0 , 0)P1(5 , 5)P2(10 , 0)输出显示第2个三角形的三顶点 :P3(1 , 1)P4(6 , 6)P5(11 , 1)输出显示一个矩形的四顶点 :P6(0 , 0)P7(0 , 6)P8(16 , 6)P9(16 , 0)输出显示45度直线上的三点 :P10(0 , 0)P11(1 , 1)P12(2 , 2)输出显示对象向量PtArray的三元素 :P13(0 , 0)P14(0 , 0)P15(0 , 0) (2)对象数组的初始化当对象数组所属类含有带参数的构造函数时,可用初始化列表按顺序调用构造函数初始化对象数组的每个元素.如上例中:Point Triangle3 = Point(0, 0),Point(5, 5),Point(10, 0);Point Rectangle22 = Point(0, 0), Point(0, 6),Point(16,6),Point(16,0);也可以先定义后给每个元素赋值,其赋值格式为:对象数组名行下标 列下标 = 构造函数名(实参表);例如:Rectangle00 = Point(0, 0); Rectangle01 = Point(0, 6);Rectangle10 = Point(16, 6);Rectangle11 = Point(16, 0);若对象数组所属类含有单个参数的构造函数时;如上例中Point(int c);,该构造函数置x和y为相同的值.那么对象数组的初始化可简写为:Point Line453 = 0, 1, 2;Point Triangle3 = 0,/Call Point(0)5,/Call Point(5)Point(10, 0);对象数组创建时若没有初始化列表,其所属类中必须定义无参数的构造函数,在创建对象数组的每个元素时自动调用它.如上例中在执行 Point PtArray3;语句时,调用Point(void),初始化对象数组PtArray 的每个对象为(0,0).如果对象数组所属类含有析构函数,那末每当建立对象数组时,按每个元素的排列顺序调用构造函数,每当撤消数组时,按相反的顺序调用析构函数.#include #include class Personal char name20;public :Personal(char * n) strcpy(name , n);cout name says hello !n; Personal(void) cout name says goodbye !n; ;void main( ) cout 创建对象数组,调用构造函数 :n;Personal people3 = Wang, Li, Zhang; cout 撤消对象数组,调用析构函数 :n; 该程序的输出结果为:创建对象数组,调用构造函数 :W
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025辽宁沈阳综保区陆港建设有限公司招聘2人笔试历年参考题库附带答案详解
- 2025贵州毕节市金沙县兴旺粮油储备有限公司招聘5人笔试历年参考题库附带答案详解
- 2025福建福港拖轮有限公司招聘3人笔试历年参考题库附带答案详解
- 2025福建省福鼎市福鼎时代新能源科技有限公司招聘(市公共就业和人才服务中心招用工信息2025年第86期)笔试历年参考题库附带答案详解
- 2025黑龙江哈尔滨市松北区卫生健康局招聘乡村医生10人考前自测高频考点模拟试题及答案详解(必刷)
- 2025福建建工工程集团有限公司校园招聘68人笔试历年参考题库附带答案详解
- 2025福州市仓山区劳务派遣服务有限公司招聘1人笔试历年参考题库附带答案详解
- 2025湖南衡阳市水务投资集团有限公司招聘拟聘用人员笔试历年参考题库附带答案详解
- 2025浙江绍兴滨海新区国有企业第一批招聘拟录用人员(一)笔试历年参考题库附带答案详解
- 2025年6月山东临沂高新控股集团有限公司三级子公司招聘管理人员笔试历年参考题库附带答案详解
- 2024年咨询工程师继续教育城市轨道交通工程可行性研究报告编制方法考试答案
- 数字货币概论全套教学课件
- 化工和危险化学品企业重大事故隐患重点排查事项清单(参考模板)
- 《公共机构建筑机电系统调适技术导则》
- 测控技术与仪器技术面试
- 三年级数学简便计算300题及答案
- 生涯发展报告
- 企业活跃度分析报告
- 管理学原理说课课件
- 关于自愿放弃缴纳社保协议书
- 梦想课程《去远方》(版)分享课程
评论
0/150
提交评论