C++对象数组的使用.doc

上传人:汽*** 文档编号:559852252 上传时间:2023-08-18 格式:DOC 页数:5 大小:34.50KB
返回 下载 相关 举报
C++对象数组的使用.doc_第1页
第1页 / 共5页
C++对象数组的使用.doc_第2页
第2页 / 共5页
C++对象数组的使用.doc_第3页
第3页 / 共5页
C++对象数组的使用.doc_第4页
第4页 / 共5页
C++对象数组的使用.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《C++对象数组的使用.doc》由会员分享,可在线阅读,更多相关《C++对象数组的使用.doc(5页珍藏版)》请在金锄头文库上搜索。

1、对象数组1.对象数组:在ANSI C中,把具有相同结构类型的结构变量,有序地集合起来便组成了结构数组.在ANSI C+中,与此类似将具有相同class类型的对象有序地集合在一起便组成了对象数组,对于一维对象数组也称为对象向量,因此对象数组的每个元素都是同种class类型的对象. (1)对象数组的定义:其定义格式为:对象数组名元素个数. = 初始化列表;其中是对象数组元素的存储类型,与变量一样有extern型,static型和auto型等,该对象数组元素由指明所属类,与普通数组类似,方括号内给出某一维的元素个数.对象向量只有一个方括号,二维对象数组有两个方括号,如此类推.#include cla

2、ss 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+)Tria

3、nglei.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

4、.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 ,

5、 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),Poi

6、nt(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,/Cal

7、l 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);c

8、out name says hello !n; Personal(void) cout name says goodbye !n; ;void main( ) cout 创建对象数组,调用构造函数 :n;Personal people3 = Wang, Li, Zhang; cout 撤消对象数组,调用析构函数 :n; 该程序的输出结果为:创建对象数组,调用构造函数 :Wang says hello !Li says hello !Zhang says hello !撤消对象数组,调用析构函数 :Zhang says goodbye !Li says goodbye !Wang says goodbye !

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号