一道关于OO面试题
来源:互联网 发布:2017年淘宝双12新玩法 编辑:程序博客网 时间:2024/06/06 05:24
腾讯每天上班有员工和主管签到。主管有权限查看签到情况,可以获取的信息有:总共有多少人签到,按照员工的id或者签到顺序查看员工的签到情况,得到倒数n个签到的员工。
先写了下面这些,有时间再补充:
#include <iostream>#include <string>using namespace std;#define MAX 100class Employee;Employee *allEmployee[MAX]; //所有员工//class SignOperator;class Singleton{public:friend class Charge;static Singleton* GetInstance(){if(instance==NULL) instance=new Singleton();return instance;}void IncreaseNum(){++signNum;}void AddSignEmployee(int id){signEmployee[signNum]=allEmployee[signNum];IncreaseNum();}void Delete(){if(instance) delete instance;instance=NULL;}private:static int signNum;Employee *signEmployee[MAX];Singleton(){}static Singleton *instance;int GetNum(){return signNum;}};Singleton *Singleton::instance=NULL;int Singleton::signNum=0;class Employee{protected:int ID;bool isSign;string signTime;Singleton *myInstance;public:Employee(int id=0):ID(id){myInstance=Singleton::GetInstance();}~Employee(){}void SetID(int id){ID=id;}void Clear(){isSign=false;signTime="NULL";}int GetID(){return ID;}void Sign(string time){isSign=true;signTime=time;myInstance->AddSignEmployee(ID);}bool IsSign(){return isSign;}string GetSignTime(){return signTime;}virtual void GetSignNum(){cout<<"You have no right to get the message"<<endl;}};class Charge:public Employee{private:int ID;public:Charge(int id=0):ID(id){}void GetSignNum(){cout<<"共有 "<<myInstance->GetNum()<<" 人签到"<<endl;}};int main(){for(int i=0;i<80;i++) allEmployee[i]=new Employee(i+1);for(int i=80;i<MAX;i++)allEmployee[i]=new Charge(i+1);allEmployee[1]->Sign("08:00");allEmployee[5]->Sign("08:05");allEmployee[5]->Sign("07:55");allEmployee[80]->Sign("08::00");allEmployee[80]->GetSignNum();return 0;}
0 0
- 一道关于OO面试题
- 关于一道面试题
- 关于一道面试题
- 关于一道微软面试题的思考
- 关于一道微软面试题的解答
- 关于FOR循环的一道面试题
- 一道关于容器的面试题
- 关于一道面试题的源代码解答
- 一道关于java线程的面试题
- 一道关于JavaScript变量的面试题
- 一道关于free的面试题
- 一道EMC面试题,关于void指针
- 关于sizeof的一道面试题
- 关于ssh的一道面试题
- 关于JAVA的一道面试题
- 一道关于杀猪的面试题
- 关于一道java面试题的分析
- 关于数组指针的一道面试题
- kafka基本使用实战
- Mysql 5.6 ONLINE_DDL
- 学思自动套料软件
- 2016-4-11华为技术免试和综合面试
- upper_bound()与lower_bound()使用方法
- 一道关于OO面试题
- 用cmd内置telnet客户端模拟http请求
- C#中怎么定义不定长数组
- iOS RunLoop 初识
- leetcode 12 Integer to Roman
- 未来科技感UI界面设计欣赏
- LuaJIT之callback大坑绕路记
- MFC 常用系统函数
- Oracle数据库字符集