前言
衔接上一篇“c++学习笔记-STL案例-机房预约系统1-准备工作”,本文主要包括:创建身份类,建立了整个系统的框架,Identity基类,派生类:Sudent、Teacher、Manager,基类无实现源文件,派生类实现源文件创建了实现函数和派生类特有的成员变量。
identity.h中添加如下代码:
#pragma once
#include<iostream>
using namespace std;
//身份抽象类
class Identity
{
public:
//操作菜单 纯虚函数
virtual void operMenu() = 0;
string m_Name;//用户名
string m_Pwd;//密码
};
(1)学生类主要功能是可以通过类中的成员函数,实现预约实验室操作
(2)学生类主要功能:
#pragma once
#include<iostream>
using namespace std;
#include"identity.h"
//学生类
class Student :public Identity
{
public:
//默认构造
Student();
//有参构造(学号、姓名、密码)
Student(int id, string name, string pwd);
//菜单界面
virtual void operMenu();
//申请预约
void applyOrder();
//查看我的预约
void showMyOrder();
//查看所有预约
void showAllOrder();
//取消预约
void cancelOrder();
//学生学号
int m_Id;
};
#include"student.h"
//构造函数
Student::Student()
{
}
//有参构造 参数:学号、姓名、密码
Student::Student(int id, string name, string pwd)
{
}
//菜单界面
void Student::operMenu()
{
}
//申请预约
void Student::applyOrder()
{
}
//查看我的预约
void Student::showMyOrder()
{
}
//查看所有预约
void Student::showAllOrder()
{
}
//取消预约
void Student::cancelOrder()
{
}
(1)教师类主要功能是查看学生的预约,并进行审核
(2)教师类中的主要功能:
#pragma once
#include<iostream>
using namespace std;
#include"identity.h"
class Teacher:public Identity
{
public:
//构造函数
Teacher();
//有参构造 参数:职工号,姓名,密码
Teacher(int empid, string name, string pwd);
//菜单界面
virtual void operMenu();
//查看所有预约
void showAllOrder();
//审核预约
void validOrder();
//职工号
int m_EmpId;
};
#include"teacher.h"
//构造函数
Teacher::Teacher()
{
}
//有参构造 参数:职工号,姓名,密码
Teacher::Teacher(int empid, string name, string pwd)
{
}
//菜单界面
void Teacher::operMenu()
{
}
//查看所有预约
void Teacher::showAllOrder()
{
}
//审核预约
void Teacher::validOrder()
{
}
//职工号
int m_EmpId;
(1)管理员类的主要功能是对学生和老师账户进行管理,查看机房信息以及清空预约记录
(2)管理员类中的主要功能有:
在头文件以及源文件下创建manager.h和manager.cpp文件
#pragma once
#include<iostream>
using namespace std;
#include"identity.h"
class Manager :public Identity
{
public:
//构造函数
Manager();
//有参构造 参数:管理员姓名、密码
Manager(string name, string pwd);
//菜单界面
virtual void operMenu();
//添加账号
void addPerson();
//查看账号
void showPerson();
//查看机房
void showComputer();
//清空预约记录
void clearFile();
};
#include"manager.h"
//构造函数
Manager::Manager()
{
}
//有参构造 参数:管理员姓名、密码
Manager::Manager(string name, string pwd)
{
}
//菜单界面
void Manager::operMenu()
{
}
//添加账号
void Manager::addPerson()
{
}
//查看账号
void Manager::showPerson()
{
}
//查看机房
void Manager::showComputer()
{
}
//清空预约记录
void Manager::clearFile()
{
}