📄 address.h
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -