?? addresslist.cpp
字號(hào):
#include "addresslist.h"
AddressList::~AddressList()
{
recList.clear ();
}
/********************************
* 功能:向通信錄中添加新的記錄
* 參數(shù):rec,指向新記錄的指針
*********************************/
void AddressList::addRecord(Record* rec)
{
if(rec!=NULL)
{
recList.push_back(rec);
}
}
/****************************************************
* 功能:從通信錄中刪除一個(gè)記錄
* 參數(shù):it,指向欲刪除記錄的迭代器
* 注意:it應(yīng)是可提領(lǐng)的迭代器,可以通過(guò)findRecord()獲得
*****************************************************/
AddressList::Iterator AddressList::removeRecord(AddressList::Iterator it)
{
return recList.erase(it);
}
/****************************************************
* 功能:從通信錄中尋找一個(gè)記錄
* 參數(shù):patrern,欲尋找的記錄的制定域與pattern相等
type,為1表示欲尋找記錄的名稱(name)與pattern相等;
為2表示欲尋找的記錄的電話(tel)與pattern相等
from,從from開(kāi)始尋找匹配的記錄
* 返回:若找到了則返回指向第一個(gè)匹配記錄的迭代器,
若找不到則返回的迭代器等于pastEnd()的返回值
* 注意:from應(yīng)是可提領(lǐng)的迭代器,第一次調(diào)用可與用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;
}
/********************************
* 功能:將通信錄中保存到輸出流
* 參數(shù):os,指定的輸出流
*********************************/
void AddressList::saveRecords(ostream &os)
{
os<<recList;
}
/************************************************
* 功能:從輸入流中讀入數(shù)據(jù)并追加到當(dāng)前通信錄的末尾
* 參數(shù):is,指定的輸入流
* 返回:讀入 的記錄數(shù)
*************************************************/
int AddressList::loadRecords(istream &is)
{
int ori=size();
is>>recList;
return size()-ori;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -