C++实现简单通讯录实现简单通讯录
主要为大家详细介绍了C++实现简单通讯录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小
伙伴们可以参考一下
本文实例为大家分享了C++实现简单通讯录的具体代码,供大家参考,具体内容如下
说明:说明:
1 程序中运用到两个类,一个是Person类,另一个是List类。前者存储用户信息,后者主要用于操作,如增删改查等。但由于
本程序中没有涉及到太复杂的功能,用户信息可以由一个简单的结构体表示,但是为了以后拓展方便,和达到学习运算符重载
的目的,还是使用了类。
2 List类中的Reflush()方法用户刷新文件内容,即每次修改了vector后要将最新内容写入到文件。因此增删改操作中都要调用
该操作,这种方法在数据库开发中常用到,以小见大。
3 setout()方法设置字符左对齐,便于美观。另外std::cout.width(15)设置输出字符域宽度,只对下一次输出有效。
4 判断文本文件是否为空还有另一种方法,即string类中的empty()方法,但为了读取方便没有采用。
5 其实对于通讯录的操作只是在类内的vector容器中进行,只有最后刷新的时候同步到磁盘文件中。
6 一些函数中设置多个返回值有利于判断操作的情况。
Person.h 与cpp文件:
#ifndef PERSON_H_
#define PERSON_H_
#include <string>
class Person
{
public:
std::string name;
std::string tel;
public:
Person();
~Person();
int operator==(const Person& p);//重载==运算符,本程序中并没有用到
private:
};
#endif // !PERSON_H_
#include "Person.h"
Person::Person()
{
}
Person::~Person()
{
}
int Person::operator==(const Person& p)
{
if (this->name == p.name)
{
if (this->tel == p.tel)
return 0;
else
return -1;
}
else
return -2;
}
List.h文件:
#ifndef LIST_H_
#define LIST_H_
#include <vector>
#include "Person.h"
class List
{