6月4号学习笔记~

来源:互联网 发布:linux删除当前文件夹 编辑:程序博客网 时间:2024/06/06 06:42

C++封装

一.数组的实例化对象

1.从栈中和从堆中实例化数组的形式

Coordinate coor[3];coor[0].x=1;coor[0].y=2;Coordinate *p=new Coordinate [3];p->x=1;p[0].y=1;

**注意:在释放内存时,要使该元素指回到申请的那段内存上去!

/* for(int i=0;i<3;i++){    cout<< p->x << p->y <<endl;    p--;   //此时p==3;} p++;       //此时p==0与初始时刻申请的p的内存相同;delete [] p;//销毁元素不加【】 delet p 则只销毁了第一个元素p=NULL;*/
另外可采用   (p+1)->x   的形式去访问,不会修改头指针!【提倡!】

二. 对象成员

a。对象成员: 在对象内做数据成员的对象

实例化对象时,先执行对象成员的构造函数,然后执行外部对象的构造函数。
销毁时,先执行外部对象的析构函数,最后执行对象成员的析构函数。
(两个函数的执行顺序相反!)

b。默认构造函数:a。无参构造函数
————————b。有参构造函数其所有参数均进行默认

(切记,如果函数的参数没有全部进行默认则不叫默认构造函数。)

对象成员如果没有默认构造函数那么外部对象必须对 对象成员进行初始化

原创粉丝点击