C++ 学院管理系统:学生信息操作
#include 'collage.h'
using std::cout; // 使用标准库中的cout对象 using std::endl; // 使用标准库中的endl对象
Collage::Collage(const string &name) : m_name(name) // 初始化成员变量m_name为传入的name值 {
}
void Collage::addStu(const Student &stu) { m_slst.push_back(stu); // 在m_slst列表的末尾添加一个stu对象 }
class Comsid { public: Comsid(const string &sid) : m_sid(sid) {} // 构造函数,初始化成员变量m_sid为传入的sid值 bool operator() (const Student &stu) // 重载了()运算符,用于判断是否满足条件 { if(m_sid == stu.sid()) { // 判断m_sid是否与stu对象的sid相等 return true; // 相等则返回true } return false; // 不相等则返回false } private: string m_sid; // 存储sid的字符串 };
void Collage::delStu(const Student &stu) { Comsid cmp(stu.sid()); // 创建一个Comsid对象,传入stu的sid值 m_slst.remove_if(cmp); // 使用remove_if函数,传入cmp对象来删除满足条件的元素 }
const Student *Collage::student(string sid) { for(const auto &stu : m_slst) { // 遍历m_slst列表中的每个元素,使用auto关键字可以自动推导类型 if(sid == stu.sid()) { // 判断sid是否与stu对象的sid相等 return &stu; // 相等则返回指向stu对象的指针 } } return nullptr; // 如果没有找到相应的学生对象,则返回空指针 }
void Collage::showStudents() const
{
list
list
原文地址: https://www.cveoy.top/t/topic/qyQz 著作权归作者所有。请勿转载和采集!