C++ vector实现通讯录详解与示例

6 下载量 67 浏览量 更新于2024-09-01 收藏 64KB PDF 举报
在本篇C++教程中,我们将深入探讨如何利用C++标准库中的容器vector来实现一个基本的通讯录功能。`vector` 是C++ STL(标准模板库)中的一个重要数据结构,它提供动态数组的功能,允许我们在运行时添加、删除和访问元素,非常适合用来存储和管理通讯录中的人物信息。 首先,我们从`main.cpp`文件的引入部分开始,包含了头文件`head.h`,这个头文件可能包含了定义通讯录类(如`personMessage`)以及相关函数声明的代码。`personMessage` 可能是一个包含姓名、联系方式等个人信息的数据结构。 接下来,定义了一个名为`person` 的`vector<personMessage>`,用于存储通讯录中的人。`vector` 的定义提供了动态数组的功能,使得我们可以根据需要在运行时添加或删除成员。`vector` 的迭代器`vector<personMessage>::iterator`,是遍历和操作vector中元素的关键。 在`main()`函数中,程序进入一个循环,用户通过输入字符(如'a'表示添加,'c'表示更改,'d'表示删除,'e'表示显示,'f'表示查找,'q'退出)与程序交互。`book_ui()`函数可能负责处理用户输入并返回字符。对于每个输入选项,有对应的函数实现,如`add_person()`用于添加新的联系人,`change_person()`用于修改已有联系人的信息,`delete_person()`用于移除指定联系人,`display_person()`用于展示通讯录内容,`find_person()`则用于查找特定的联系人。 在处理用户输入的过程中,如果输入无效,程序会输出错误提示。当用户选择退出时,程序会打印"Byebye!"并结束。 这篇教程展示了如何将C++的vector容器应用于实际的通讯录应用开发中,通过结合C++的面向对象特性(如数据结构`personMessage`),以及STL提供的灵活数据结构,实现了一种用户友好的通讯录管理方式。这对于理解和使用C++容器,特别是vector,进行数据存储和管理是非常有用的。