⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addresslist.cpp

📁 一个可以对通信录进行管理的简单通讯录程序。
💻 CPP
字号:
#include "addresslist.h"

AddressList::~AddressList()
{
	recList.clear ();
}


/********************************
* 功能:向通信录中添加新的记录
* 参数:rec,指向新记录的指针
*********************************/

void AddressList::addRecord(Record* rec)
{
	if(rec!=NULL)
	{
		recList.push_back(rec);
	}
}


/****************************************************
* 功能:从通信录中删除一个记录
* 参数:it,指向欲删除记录的迭代器
* 注意:it应是可提领的迭代器,可以通过findRecord()获得
*****************************************************/

AddressList::Iterator AddressList::removeRecord(AddressList::Iterator it)
{
	return recList.erase(it);
}


/****************************************************
* 功能:从通信录中寻找一个记录
* 参数:patrern,欲寻找的记录的制定域与pattern相等
        type,为1表示欲寻找记录的名称(name)与pattern相等;
		为2表示欲寻找的记录的电话(tel)与pattern相等
		from,从from开始寻找匹配的记录
* 返回:若找到了则返回指向第一个匹配记录的迭代器,
        若找不到则返回的迭代器等于pastEnd()的返回值
* 注意:from应是可提领的迭代器,第一次调用可与用first(),
        之后使用上一次findRecord()的返回值增1,知道返回
		pastEnd(),便可以获得所有匹配的记录   
*****************************************************/
AddressList::Iterator AddressList::findRecord(string pattern,int type,AddressList::Iterator from)
{
	Iterator it;
	Iterator it_end=recList.end();
	for(it=from;it!=it_end;it++)
	{
		if((type==1 && (*it)->name==pattern) ||
			(type==2 && (*it)->tel==pattern))
		break;
	}
	return it;
}


/********************************
* 功能:将通信录中保存到输出流
* 参数:os,指定的输出流
*********************************/
void AddressList::saveRecords(ostream &os)
{
	os<<recList;
}

/************************************************
* 功能:从输入流中读入数据并追加到当前通信录的末尾
* 参数:is,指定的输入流
* 返回:读入 的记录数
*************************************************/

int AddressList::loadRecords(istream &is)
{
	int ori=size();
	is>>recList;
	return size()-ori;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -