(动手coding才能真正提高!) 本文所用实例:建立可变长度动态数组类。
知识点包含:定义成员函数、memcpy函数、巧用构造函数、this指针、列表化赋值等等。
假期学习C++的进度已远远超出写学习的速度,这次通过一个实例分享前几章节的收获。先介绍要实现的可变长度动态数组类的题目要求:
- 数组元素个数可以在初始化对象时指定。
- 可以往动态数组中添加元素。
- 使用该类时不用担心动态内存分配和释放问题。
- 能够像使用数组那样使用动态数组类对象,如可以通过下标访问其元素。
为了符合阅读习惯,已经把各个关键知识点以注释的形式写在了下面的代码中,包括每一部分作用是什么,memcpy函数的介绍,this指针的使用示范等等。通过这个实例练习的一个感受就是,动手敲一遍才能更好地记住各个知识点。
例如知识点1:memcpy函数:用于将a.ptr中的内容逐字节拷贝到ptr中,拷贝的字节数为sizeof(int)*a.size,存放于<cstring>头文件中,与strcpy不同之处在于,不是遇到“0”结束,而是一定会拷贝完给定的字节数。
知识点2:intlength() const {return size;}语句中的const关键字表示:length()是只读函数,不能修改类中的成员变量的值,只能引用。此写法只能用于成员函数。
//建立可变长度动态数组类