对象数组指针
一、对象数组
1.声明
类名 数组名【元素个数】
2.初始化和删除
Point A[2] = {Point(1,2),Point(3,4)};
//调用2次构造函数,初始化A[0],A[1]
Point A[2];//默认构造函数
删除时调用析构函数
二、指针变量
1.void类型指针
void *pv;
int i;
pv = &i;
*pv = 0;//error
int *pint = (int*)pv;
//void指针的值(地址)可以复制给任何类型的指针变量
//但需要强制类型转换
2.算术运算
三、数组与指针
Int a[10],不能写a++,数组名是首地址
Point *pa[]
四、对象指针
Point A(5,10);//声明类的对象A
Point *ptr;//声明类的对象指针变量ptr
ptr = &A;//对象A的地址赋给ptr,使ptr指向A
ptr->getx();//相当于(*ptr).getx();
五、动态内存分配
1.动态申请内存操纵符new
new 类型名T(初值列表);
动态内存空间:堆heap
不必调用库函数malloc
判断指针,若结果为0,失败。
2.释放内存操作符delete
delete 指针表达式
new对象,只能delete一次
不用调用库函数free
int *p;
p = new int;
delete p;
p = new int(2);
delete p;
p = new int[100];
delete [] p;