address.h
来自「一个可以对通信录进行管理的简单通讯录程序。」· C头文件 代码 · 共 53 行
H
53 行
#ifndef H_ADDRESS_H_ABCDE
#define H_ADDRESS_H_ABCDE
#include <list>
using namespace std;
//每一条记录的结构
struct Record
{
string name; //姓名
string tel; //电话号码
};
//用于存储通讯录的链表
//使用的底层数据结构是双向链表
class RecordList:public list<Record*>
{
friend ostream& operator<<(ostream& os,const RecordList& c_rl);
friend istream& operator>>(istream& is,RecordList& rl);
public :
//销毁链表中记录的所有Record所占用的内存空间,并且清空链表存储的记录
//该函数覆盖了基类中的同名函数
void clear()
{
//遍历整个链表,提取并销毁所有Record
iterator iter;
iterator it_end =end();
for(iter=begin();iter!=it_end;iter++)
{
delete *iter;
}
//调用超类的函数来清空链表
list<Record*>::clear();
}
//销毁指定的记录,然后从链表中将其删除
//该函数覆盖了基类中的同名函数
iterator erase(iterator where)
{
delete *where;
return list<Record*>::erase(where);
}
~RecordList()
{
this->clear();
}
};
#endif // H_ADDRESS_H_ABCDE
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?