分类: C/C++
2016-11-29 12:22:06
原文地址:对象数组与对象指针 作者:zhenhuaqin
一.对象数组:
1. 数组不仅可以由简单变量组成(例如整型数组的每一个元素都是整型变量),也可以由对象组成(对象数组的每一个元素都是同类的对象)。
2. 编译系统只为每个对象元素的构造函数传递一个实参,所以在定义数组时提供的实参个数不能超过数组元素个数,如
Student stud[3]={60,70,78,45}; //不合法,实参个数超过对象数组元素个数
3. 如果构造函数有多个参数,在定义对象数组时应当怎样实现初始化呢?回答是: 在花括号中分别写出构造函数并指定实参。
二.对象指针:
1. 在建立对象时,编译系统会为每一个对象分配一定的存储空间,以存放其成员。对象空间的起始地址就是对象的指针。可以定义一个指针变量,用来存放对象的指针。
2. 定义指向类对象的指针变量的一般形式为
类名 *对象指针名;
3. 对象有地址,存放对象初始地址的指针变量就是指向对象的指针变量。对象中的成员也有地址,存放对象成员地址的指针变量就是指向对象成员的指针变量。
4. 定义指向对象数据成员的指针变量的一般形式为
数据类型名 *指针变量名;
5.定义指向公用成员函数的指针变量的一般形式为
数据类型名 (类名∷*指针变量名)(参数表列);
如: void (Time∷*p2)( ); //定义p2为指向Time类中公用成员函数的指针变量
6.使指针变量指向一个公用成员函数的一般形式为
指针变量名=&类名∷成员函数名;
如: p2=&Time∷get_time;