这一讲我们也留两道编程实践题
一 实现我们的动态数组库
我们前面在讲数据封装与信息隐藏的时候
我们实际上举了一个例子叫DYNINTS
Dynamic integers
那是一个动态数组的结构体
我当时说了
要想完成数据封装与信息隐藏
我应该把这个结构体的声明写在头文件里
然后定义一个指向这个结构体的指针
我把这个结构体的定义本身
写在我们的源文件里
这样的话 所有使用这个库的程序员
都只能通过这个库的接口
来操纵动态数组
那里我们仅仅给出了动态数组
结构体的基本架构
现在就要同学们实现动态数组库
同学们可以回去编程
好好琢磨琢磨
当我们只有C的程序代码规范的时候
我们实现的动态数组库的功能
是不够强大的 同时使用是比较麻烦的
有了C++概念之后
一旦我们学会了操作符重载
我们重新回过头来实现动态数组库
那个时候你就会发现
它的使用是多么得灵活
将会和普通数组一样可以用
按照普通数组一样去使用它
那个方式就会非常非常方便
这是一个 实现动态数组库
第二 要实现我们这一讲里面
所提供的抽象链表库
我们的第一版代码
虽然基本上都提供给大家了
但是它是不全的
就像我们前面讲的 它不够抽象
要按照我们的前面那张片子里面
抽象链表库接口的那个格式
重新回过头来实现我们这个
抽象链表库里面的代码
把它所有的这些代码
都按照这样的格式修改下来
形成一个抽象的链表库
有了抽象的链表库之后
你将来就可以用它来保存任意类型的
数据对象了
使用起来其实是非常非常方便的
好的 今天我们就讲到这里