C++编程:实现简易文本通讯录系统

5星 · 超过95%的资源 需积分: 10 5 下载量 37 浏览量 更新于2024-09-12 收藏 5KB TXT 举报
"C++实现的简单通讯录是一个利用查找算法管理个人联系信息的应用程序,以文本文件格式存储。该程序包含一个`ContactInfor`类用于存储姓名、电话号码和电子邮件,以及一个`ContactList`类来管理多个联系人记录。通过`getKey()`方法实现了基于名字的哈希功能,以便于查询。此外,还有添加、删除、更新、按名字模糊搜索和哈希搜索等操作。" 在C++实现的这个简单通讯录中,有两个关键类: 1. **`ContactInfor`类**: - `ContactInfor`类是用来表示单个联系人的信息,包括`name`(姓名),`phoneNum`(电话号码)和`email`(电子邮件)三个属性。 - 构造函数允许创建新的联系人对象,并初始化这些属性。 - `getKey()`方法计算名字的哈希值,这是为了简化基于名字的搜索操作。它将名字中的每个字符转换为其ASCII值并累加,得到一个整数作为键。 - 拷贝构造函数确保了当对象被复制时,所有属性都能正确地被复制。 2. **`ContactList`类**: - `ContactList`类用于管理一组联系人记录,包含一个大小为20的`ContactInfor`对象数组`ArrayList`和一个`count`变量,表示当前已存储的联系人数量。 - 类中定义了多个成员函数来操作联系人列表: - `addContact()`:向列表中添加一个新的联系人,如果数组已满,则提示无法添加。 - `delContact()`:根据提供的名字删除一个联系人。 - `updateContact()`:更新一个已存在的联系人的信息,需要提供名字。 - `blockQuery()`:实现模糊查询,根据提供的名字字符串来搜索包含该字符串的联系人。 - `hashQuery()`:使用哈希值进行快速查找,基于名字的首字母或子串。 - `print()`:打印所有的联系人信息。 这个简单的通讯录系统虽然功能有限,但它展示了如何在C++中使用类和基本数据结构来实现一个小型的应用程序。它包含了数据封装、对象创建、方法调用以及一些基本的算法(如哈希查找)的使用。这对于学习C++编程和理解面向对象设计原则的人来说是一个很好的实践项目。