📄 2号文件.cpp
字号:
class StuInfoVec
{
protected:
RecordVec recVec;
public:
typedef vector<Record>::iterator Iterator;
virtual void addRecord(Record* rec){
cout<<"shuruxueshengxinxi"<<endl;
cin>>rec.number;
cin>>rec.name;
cin>>rec.gender;
cin>>rec.
recVec.push_back(rec);
}; //添加新的学生的记录 /////cpp我文件中给出信息。
virtual int removePerform(){
Iterator it;
iterator it_end = recVec.end();
iterator it_first=recVec.begin();/////////是不是使用first?
for(it = it_end; it != it_first; it--)
(*it).index--; //////会不会有冲突。寻找时有2个记录的名次相同
if((*it).toBeDeleted=ture) //////是不是(*it).toBeDeleted=ture
recVec.erase(it);
}; //删除有"待删除"标志的记录
virtual Iterator findRecord(const string& patten, int type, Iterator form)
{
switch(type)
{
Iterator ix;
case 0: //按 number 查找
for(ix=from;ix!=recVec.end();++ix)
if((*ix).number==patten)
return ix;
return recVec.end();
case 1: //按 name 查找
for(ix=from;ix!=recVec.end();++ix)
if((*ix).name==patten)
return ix;
return recVec.end();
case 2: //按 index 查找//////参照王震的程序
for(ix=from;ix!=recVec.end();++ix)
{
char range[500];
strcpy(range,patten.c_str());
int pat=atoi(range);
if((*ix).index==pat)
return ix;
return recVec.end();
}
};
virtual void saveRecords(ostream& os){
os<<recVec;
} //将学生信息保存到输出流中?????????竟然可以这么做???
virtual int loadRecords(istream& in);
//从输入流中读入数据,并追加到当前学生信息记录的末尾
virtual ~StuInfoVec();////////////////////////这个函数的功能!!!!!!!!!!!!
const int size() const {return (int)recVec.size();}//已经完成的函
//获得记录的学生数量//调用了VECTOR中的函数size_type size() const
const bool empty() const {return recVec.empty();}//是否无学生信息数
//调用了VECTOR中的函数bool empty() const
virtual void clear(){recVec.clear();}//清空学生信息
//调用了VECTOR中的函数void clear()
Iterator first(){return recVec.begin();}//获得第一条记录
//调用了VECTOR中的函数 iterator begin()
Iterator pastEnd(){return recVec.end();}
//调用了VECTOR中的函数iterator end()
//获得超过最后一条记录之后的一个迭代器
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -