C++语言程序设计 湖南科技大学 对泉数组 数●声明: 类名数组名[元素个数] 组。访问方法: 通过下标访问 数组名[下标]成员名
C++语言程序设计 湖南科技大学 21 对象数组 ⚫ 声明: 类名 数组名[元素个数]; ⚫ 访问方法: 通过下标访问 数组名[下标].成员名 数 组
C++语言程序设计 湖南科技大学 对泉数组初始化 数数组中每一个元素对象被创建时,系统 都会调用类构造函数初始化该对象 组·通过初始化列表赋值。 例 Point a[2]=Point(1, 2), Point(3, 4)) 如果没有为数组元素指定显式初始值, 数组元素便使用默认值初始化(调用默 认构造函数)
C++语言程序设计 湖南科技大学 22 对象数组初始化 ⚫ 数组中每一个元素对象被创建时,系统 都会调用类构造函数初始化该对象。 ⚫ 通过初始化列表赋值。 例: Point A[2]={Point(1,2),Point(3,4)}; ⚫ 如果没有为数组元素指定显式初始值, 数组元素便使用默认值初始化(调用默 认构造函数)。 数 组
C++语言程序设计 湖南科技大学 数组元素所属类的构造函数 数。不声明构造函数,则采用默认构造函数 各元素对象的初值要求为相同的值时, 组可以声明具有默认形参值的构造函数。 各元素对象的初值要求为不同的值时, 需要声明带形参的构造函数。 ●当数组中每一个对象被删除时,系统都 要调用一次析构函数 大斗
C++语言程序设计 湖南科技大学 23 数组元素所属类的构造函数 ⚫ 不声明构造函数,则采用默认构造函数。 ⚫ 各元素对象的初值要求为相同的值时, 可以声明具有默认形参值的构造函数。 ⚫ 各元素对象的初值要求为不同的值时, 需要声明带形参的构造函数。 ⚫ 当数组中每一个对象被删除时,系统都 要调用一次析构函数。 数 组
C++语言程序设计 湖南科技大学 例6-3对家数组应用举例 //Point.h 数 #if defined( POINT H) #define point h class point public: 组 Point Point(int xx, int yy) Point void Move(int x, int y) int GetXo return X int Geto return Y; private int xY #endif
C++语言程序设计 湖南科技大学 24 例6-3 对象数组应用举例 //Point.h #if !defined(_POINT_H) #define _POINT_H class Point { public: Point(); Point(int xx,int yy); ~Point(); void Move(int x,int y); int GetX() {return X;} int GetY() {return Y;} private: int X,Y; }; #endif 数 组
//6-2.cpp #includeiostream using name space std #"point. h Point:: Point X=Y=0 cout< default constructor called" <endl Point: Point(int xx, int yy) I X=XX Y=yy cout Constructor called"<endl Point: Point o I cout<< Destructor called"<<endl void Point: Move (int x, int y) X-X
//6-2.cpp #include<iostream> using namespace std; #include "Point.h" Point::Point() { X=Y=0; cout<<"Default Constructor called."<<endl; } Point::Point(int xx,int yy) { X=xx; Y=yy; cout<< "Constructor called."<<endl; } Point ::~Point() { cout<<"Destructor called."<<endl; } void Point ::Move(int x,int y) { X=x; Y=y; } 25