📄 student.h
字号:
//student.h
#ifndef H_STUDENT_H_ABCDE
#define H_STUDENT_H_ABCDE
#include <vector>
const int NUM_SUBJECT=5;//科目数
using namespace std;
//每一条记录的结构
struct Record
{
string number; //学号(中间不能有空格)
string name; //姓名(中间不能有空格)
string gender; //性别(中间不能有空格)
float score[NUM_SUBJECT]; //分别为该学生5门课的成绩
float sum; //总分
float average; //平均分
int index; //名次
bool toBeDeleted;//是否删除的标记
Record() {toBeDeleted=false;}
};
//用于存储通信录
//存储学生信息使用的底层数据结构是数组向量
class RecordVec : public vector<Record*>
{
friend ostream& operator << (ostream& os,const RecordVec& c_r1);
friend istream& operator >> (istream& is,RecordVec& r1);
public:
//销毁数组中记录的所有RECORD所占用的空间,并且清空数组存储的记录
//该函数覆盖了基类中的同名函数
void clear()
{
//遍历整个记录提取并销毁所有RECORD
iterator iter;
iterator it_end=end();
for(iter = begin(); iter != it_end; iter++)
{
delete *iter;
}
//调用超类的函数来清空记录
vector<Record*>::clear();
}
//销毁指定的记录,然后从数组中将其删除
//该函数覆盖了基类中的同名函数
iterator erase(iterator where)
{
delete *where;
return vector<Record*>::erase(where);
}
~RecordVec()
{
this->clear();
}
};
#endif //H_STUDENT_H_ABCDE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -