员工管理-小型人员信息管理系统 精品
员工信息管理系统(含附源代码)03

scanf("%s",work[i].name);
printf("\n\t请输入员工身份证号:");
scanf("%s",work[i].ID);
printf("\n\t请输入员工性别:");
scanf("%s",work[i].sex);
printf("\n\t请输入员工出生日期(yyyy-mm-dd):");
开始选择更新内容i结束开始选择查询内容i结束按性别统计年龄查询函数isum判断两工作号相等isumworkiworki1sumflag1是否继续输入工作号退出删除结束开始输出信息结束开始开始isum输入年龄输出信息结束判断员工的年龄段变量自加开始输入年龄chisum存在员工输出员工信息继续查询退出查询结束身份证排序
scanf("%s",work[i].sex);
printf("\n\t请输入员工出生日期(yyyy-mm-dd):");
scanf("%d-%d-%d",&work[i].birthday.year,&work[i].birthday.month,&work[i].birthday.day);
printf("\n\t请输入员工年龄:");
printf("\t **输入'e'退出列表**\n");
ch=getche();
if(ch=='e')
break;
clrscr();
printf("\t *****员工基本信息列表*****\n");
员工信息管理系统设计

员工信息管理系统设计一、引言员工信息管理系统是为了帮助企业和公司更好地管理和维护员工的日常数据而开发的一款软件。
它主要解决了人力资源管理过程中,人员信息管理、数据统计、考核评价、报表输出等一系列问题,使得企业在人力资源管理方面能够更加高效和精准。
因此,本文旨在对员工信息管理系统的设计进行详细的说明和分析。
二、需求分析在设计员工信息管理系统之前,需要先做好需求分析工作,确保软件开发的准确性和用户的满意度。
1. 功能需求分析员工信息管理系统主要包括以下功能模块:(1)员工信息录入与修改:管理员可以录入和修改员工的个人信息和职业信息,例如:姓名、性别、民族、联系方式、职位、工资等,同时还能够上传员工照片。
(2)考勤管理:管理人员可以通过该系统进行员工考勤登记、请假申请、加班申请、旷工登记等操作,以便更好地管控员工的工作时间。
(3)绩效考核评价:管理人员可以通过该系统制定绩效目标、设定考核标准、进行绩效评估等操作,以便更好地评价员工的业绩和素质。
(4)数据统计分析:系统可以自动生成各类报表,如人员总数、员工离职率、薪资统计、绩效考核评分等报表,让管理员能够更加快捷地了解公司员工情况。
2.可行性分析在设计员工信息管理系统之前,还需要进行可行性分析,即检验该系统的设计是否符合实际情况,并落实设计思路和实现方法。
在可行性分析中,需要考虑以下几个方面:(1)技术可行性:该系统应符合企业信息化与数字化发展的趋势,并应考虑软件技术的实际操作和人性化操作设计。
(2)经济可行性:该系统的设计与开发应遵循合理的成本控制原则,并考虑到企业实际情况的资金来源和利润回报。
(3)社会可行性:该系统的设计应遵循经济、社会以及生态环境的可持续发展原则,并具有一定的社会意义,在整个社会环境中能够得到广泛认可。
三、系统设计1.系统架构设计在员工信息管理系统的设计中,我们选择使用Web-based 架构,采用B/S系统模式。
它的好处在于用户可以藉由浏览器来使用系统,不必安装Office软件或数据库来支持系统的运行,大大降低了用户的使用成本。
员工信息管理系统(模板)

请输入工号:
122请输入姓名:请输入身份证号:请输入家庭地址:请输入邮编:1请输入电话:
在职员工请输入手机号:
退休员工
请输入BP 机号:工号姓名邮编电话手机邮箱记录号1
2208刘树东2004346525049882
2210刘素彬20008665013662932220刘军2000826584591410
310109*********上海市虹口区(县)新港街道(乡镇)虹关居委(村)天宝路身份证号家庭地址310109*********上海市虹口区(县)凉城街道(乡镇)凉四居委(村)车站北路310109*********上海市虹口区(县)新港街道大连路刘树东2004346525049882208
310109*********上海市虹口区(县)凉城街道(乡镇)凉四居委(村)车站北路姓名
邮编电话手机BP 机记录号刘二○一七年十月六日上午9时49分05秒
工号
身份证号家庭地址请输入姓名:在职员工。
企业员工信息管理系统

企业员工信息管理系统在当今竞争激烈的商业环境中,企业的成功不仅仅取决于产品或服务的质量,还与企业内部的管理效率息息相关。
而员工作为企业的核心资产,对其信息进行有效的管理显得尤为重要。
企业员工信息管理系统正是为了满足这一需求而应运而生。
企业员工信息管理系统是一种用于收集、存储、处理和分析员工相关信息的软件工具。
它涵盖了员工的个人基本信息、工作经历、培训记录、绩效评估、薪酬福利等多个方面。
通过这样一个系统,企业能够更加高效地管理员工,做出更加明智的决策,从而提升企业的整体竞争力。
首先,让我们来看看这个系统在员工信息收集方面的作用。
过去,企业可能通过纸质表格或电子表格来记录员工信息,这种方式不仅效率低下,而且容易出现错误和信息不完整的情况。
而有了员工信息管理系统,企业可以在员工入职时,通过在线表单的方式收集详细准确的信息,包括个人身份信息、联系方式、教育背景、工作技能等。
这些信息会被系统自动整理和存储,方便后续的查询和使用。
在信息存储方面,该系统提供了一个安全可靠的数据库。
企业无需担心员工信息的丢失或泄露,因为系统通常会采用先进的加密技术和访问控制机制,只有授权人员能够查看和修改相关信息。
同时,系统还能够对信息进行备份,以防止意外情况导致的数据丢失。
处理和分析员工信息是该系统的另一个重要功能。
例如,通过对员工绩效评估数据的分析,企业可以了解到员工的工作表现趋势,找出优秀员工和需要改进的员工,为制定培训计划和晋升决策提供依据。
此外,系统还可以对员工的薪酬福利数据进行处理,帮助企业进行成本核算和预算规划。
对于员工的培训管理,企业员工信息管理系统也发挥着重要作用。
系统可以记录员工参加过的培训课程、培训时间、培训效果等信息。
企业可以根据这些数据,评估培训的效果,调整培训计划,以提高员工的技能水平和工作能力。
在人力资源规划方面,系统能够提供有价值的信息支持。
企业可以通过分析员工的年龄结构、学历分布、专业技能等数据,预测未来的人力资源需求,提前做好招聘和人才储备工作。
员工信息管理系统

员工信息管理系统员工信息管理系统是一种基于计算机技术的信息管理系统,旨在方便企业对员工信息进行统一、准确、高效的管理。
该系统集成了员工基本信息、工作经历、工资薪酬、绩效考核、人事事务等多个板块,使得企业能够便捷地管理每位员工的各项信息,并提高人力资源管理的管理效能。
本文将从系统的需求分析、系统的设计与实现、系统的测试与维护等角度详细介绍员工信息管理系统。
一、需求分析1.1 系统目标员工信息管理系统的目标是对企业内的员工信息进行管理、维护和查询,从而提高人力资源管理的水平,加速企业的发展。
系统需要满足以下要求:(1)实现员工信息录入、修改、删除、查询等基本操作功能。
(2)提供员工工资、绩效、考勤等管理模块,使企业能对员工的绩效和薪酬进行全面掌控。
(3)具备安全性、稳定性和可扩展性,确保系统能够长期可用。
(4)具备用户友好的操作界面和操作流程,降低学习难度,提高使用效率。
1.2 功能需求(1)员工管理模块:提供员工基本信息录入、修改、查看、删除等功能,并能够方便地对员工进行分类管理。
(2)工资薪酬管理模块:提供员工薪资、福利、补贴等信息的录入、查询、修改、发放等功能。
(3)绩效考核管理模块:提供员工考核打分、绩效考核结果查看等功能。
(4)权限管理模块:有不同用户权限,管理员能够对不同权限的用户进行角色分配、权限设置等操作。
(5)报表统计模块:提供查询报表、打印报表、导出报表等功能,方便企业管理者及时掌握人力资源的各项指标。
1.3 非功能需求(1)安全性:系统需要有安全的登录机制、严密的权限分配模式以及安全的数据传输机制。
(2)易用性:操作界面简洁明了,结构清晰,可定制化程度高,方便用户使用。
(3)稳定性:系统需要保证24小时稳定运行,能够一直处于可使用的状态。
(4)可扩展性:系统需要支持插件机制,能够方便地对数据库、服务器等部分进行升级或更换。
二、系统设计与实现员工信息管理系统采用B/S架构,将系统分为客户端和服务器端两部分。
人员信息管理系统

人员信息管理系统近年来,随着科技的快速发展,人员信息管理系统成为了越来越多组织机构必备的工具。
人员信息管理系统通过电子化的方式,帮助组织机构高效地收集、存储和管理人员信息,提高组织机构的运营效率和工作效能。
本文将围绕人员信息管理系统的定义、功能和实施过程进行论述。
一、人员信息管理系统的定义人员信息管理系统是一种基于电子化平台的工具,旨在帮助组织机构有效管理和利用人员信息。
该系统通过收集人员的基本信息、职务信息、员工档案和薪酬信息等,为组织机构提供便捷的人力资源管理功能。
人员信息管理系统还可以与其他业务系统集成,实现人力资源管理与其他业务之间的无缝对接,提高信息处理的效率。
二、人员信息管理系统的功能1. 人员信息收集和存储: 人员信息管理系统可以根据组织机构的需求,收集员工的基本信息、教育背景、工作经历和技能等。
这些信息可以被快速存储于数据库中,并进行分类、搜索和管理。
2. 人员档案管理: 人员信息管理系统可以生成员工档案,包括个人履历、职务变动记录、培训记录和绩效评估等。
这些档案可以通过系统进行统一管理,减少纸质文件的占用和管理成本。
3. 薪酬管理: 人员信息管理系统可以帮助组织机构进行员工薪酬的管理和计算。
系统能够准确地记录员工的工作时长、加班情况和请假记录,并根据组织机构的薪酬政策进行计算和发放。
4. 绩效管理: 人员信息管理系统可以辅助组织机构进行员工绩效的评估和管理。
系统可以根据设定的绩效指标和评估周期,自动生成绩效评估报告,帮助组织机构更好地了解员工的工作表现,并采取相应的激励和改进措施。
5. 数据分析和报表生成: 人员信息管理系统可以通过数据分析功能,帮助组织机构进行统计分析和报表生成。
通过对员工信息进行分析,可以得出组织机构人员结构、薪酬分布和绩效评估结果等相关数据,为组织决策提供科学依据。
三、人员信息管理系统的实施过程1. 需求调研和分析: 在实施人员信息管理系统之前,组织机构需要进行需求调研和分析。
简单的员工管理系统

简单的员工管理系统员工管理是一项重要的任务,对于任何一家公司而言,有效的员工管理可以提高工作效率,加强团队合作,最终实现组织的目标。
为了更好地实现员工管理的目的,许多公司开始采用员工管理系统。
本文将介绍一个简单的员工管理系统的功能和实施方法。
一、系统概述简单的员工管理系统是一种用于管理公司员工信息、考勤记录、培训计划和绩效评估的软件系统。
该系统的目标是提供一个集中存储和管理员工数据的平台,从而方便公司管理层对员工的管理和决策。
二、系统功能1. 员工信息管理:系统可以记录和管理所有员工的基本信息,包括姓名、性别、出生日期、联系方式、职位、薪资等。
同时,系统还可以为每个员工分配一个唯一的员工编号,方便唯一标识和查询。
2. 考勤记录:系统可以记录员工的考勤情况,包括迟到、早退、请假、加班等。
通过考勤记录,管理层可以了解到员工的工作态度和出勤情况,及时发现问题并进行相应的处理。
3. 培训管理:系统可以制定并记录员工的培训计划。
管理层可以根据员工的需求和公司的发展需求,安排相应的培训课程,并记录员工的培训情况和成绩。
4. 绩效评估:系统可以对员工进行绩效评估,并为每个员工生成相应的评估报告。
通过绩效评估,可以对员工的工作表现进行全面评估,为员工的晋升、加薪或奖惩提供依据。
三、系统实施方法1. 软件选择:根据公司的需求和预算,选择适合的员工管理软件。
可以考虑购买商业化的员工管理系统,也可以自行开发或定制。
2. 数据录入:将公司现有的员工信息录入系统,包括基本信息、工作经历、职位等。
同时,可以将以往的考勤记录、培训记录和绩效评估结果导入系统中,以便于管理和查询。
3. 培训计划制定:根据员工的职位和发展需求,制定相应的培训计划。
计划包括培训课程内容、培训时间和培训地点等。
同时,可以设定培训计划的执行进度和完成情况的跟踪。
4. 绩效评估:系统可以根据公司设定的绩效评估指标,自动生成绩效评估表。
评估结果可以由管理层进行评审,并对员工的绩效进行相应的奖励或处罚。
员工信息管理系统

员工信息管理系统简介员工信息管理系统是一种用于企业管理员工信息的软件系统。
该系统能够帮助企业轻松管理员工的个人信息、薪资、工作记录等数据。
通过使用员工信息管理系统,企业可以更加高效地管理员工信息,从而提高企业的管理效率。
功能员工信息管理系统主要包含以下功能:1.员工信息录入:系统管理员可以通过系统录入员工的个人信息,包括姓名、身份证号码、联系方式等。
2.员工信息查询:企业管理人员可以通过员工信息管理系统查询员工的个人信息、薪资、工作记录等数据。
3.员工薪资管理:企业管理人员可以通过员工信息管理系统管理员工的薪资信息,包括基本工资、奖金、补贴等。
4.员工考勤管理:员工信息管理系统能够轻松管理员工的考勤记录,包括迟到、早退、请假等。
5.统计分析:员工信息管理系统能够根据企业需求进行数据统计分析,并生成相应的报表。
优点员工信息管理系统有以下几点优点:1.提高管理效率:员工信息管理系统能够提高企业管理员工信息的效率,从而提高企业管理效率。
2.数据准确性高:员工信息管理系统是自动化的管理系统,从而能够保证数据准确性。
3.便于数据分析:员工信息管理系统能够轻松进行数据统计和分析,从而为企业决策提供科学依据。
4.方便员工管理:员工信息管理系统能够方便地管理员工的信息和考勤记录,从而为企业打造一个良好的员工管理平台。
使用注意事项使用员工信息管理系统需要注意以下几点:1.系统管理员需要妥善保存系统数据,避免数据丢失或泄露。
2.企业管理人员需要密切关注员工信息管理系统的使用情况,并及时对系统进行维护和升级。
3.每个员工需要保护自己的个人信息,避免泄露。
员工信息管理系统能够帮助企业更加高效地管理员工信息,提高企业管理效率。
虽然使用员工信息管理系统需要注意一些问题,但是这些问题可以通过企业和员工的共同努力来解决。
建议企业尽早使用员工信息管理系统,提高管理效率,促进企业发展。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成绩评定表课程设计任务书摘要C++是支持面向过程的设计,更是支持基于对象和面向对象的程序设计。
类是C++中十分重要的概念,它是实现面向对象程序设计的基础。
本文采用虚基类及其派生类实现了对小型人员信息的管理,类的封装性和信息隐蔽性可以很好的保护公司员工的信息,同时采用了Visual C++ 6.0的控制台工程和MFC工程实现了对员工基本信息的输入和全部信息的输出及保存。
关键词:信息管理;类;控制台工程;MFC工程目录1 需求分析 (1)2 算法基本原理 (1)3 类设计 (2)4 基于控制台的应用程序 (3)4.1类的接口设计 (4)4.2类的实现 (7)4.3主函数设计 (11)4.4基于控制台的应用程序测试 (12)5 基于MFC的应用程序 (14)5.1基于MFC的应用程序设计 (15)5.1.1 MFC程序界面设计 (15)5.1.2 MFC程序代码设计 (16)5.2基于MFC的应用程序测试 (20)结论 (23).................................................................................................................... 错误!未定义书签。
1 需求分析(1)对小型公司进行小型人员信息操作管理系统。
该公司主要有四类人员:经理、销售经理、兼职技术人员、兼职推销员;定义一个虚基类并且派生四个子类。
(2)系统需要存储这些人员的姓名、编号、级别、当月薪水,输入基本信息,计算月薪总额,显示并保存全部信息;每个派生类的构造函数要实现对其特有数据成员的初始化。
(3)系统具体要求:①编号要求:人员编号基数为1000,每输入一个员工姓名编号加1;编号定义为全局静态变量即可。
②级别要求:所有人员的初始级别均为1级,然后进行升级,经理升为4级,兼职技术人员和销售经理升为3级,兼职推销员为1级;直接对级别赋值即可。
③月薪要求:经理拿固定月薪8000元;兼职技术人员按每小时100元领取月薪;兼职推销员的月薪按该推销员当月销售额的4%提成;销售经理既拿固定月薪也领取销售提成,固定月薪为5000元,销售提成为所管辖部门当月销售总额的千分之五。
④总体要求:为每一类人员单独建立文件,并在每个文件中手工录入一些人员基本信息,并根据这些基本信息计算职工的月薪,并将计算结果保存入相应的磁盘文件中。
2 算法基本原理(1)定义一个员工虚基类Employmee( ),包括员工姓名、级别、编号月薪共有的基本数据成员;(2)在基类的基础上派生出经理Mansger( )类、销售经理Salemansger( )类、兼职技术人员Technology( )类和兼职推销员Saleman( )类,并在这四个派生类中添加各自数据成员和成员函数。
具体分析如下:①员工编号的可以定义全局静态变量static int count=0;并且初始化员工编号number=1000+count;每输入一个员工的姓名编号加1。
②员工等级按照要求直接赋值即可;③在派生类的构造函数中初始化数据成员并且按照要求计算各成员的月薪。
(3)定义一个结构体链表struct Linked,并将链表的头指针头封装在友元类Head( )中。
(4)运行时构造对象指针,并存在链表中,利用类中的成员函数来实现对链表节点的打印、添加、保存。
这些操作均作为数据结构中对单链表的操作。
3 类设计首先定义一个员工基类Employee,由于要派生出多个子类,所以将其定义为虚基类;在类外定义全局静态变量,用于记录员工的编号。
虚基类Employee 中的数据成员包括姓名、编号、等级、月薪。
虚基类的成员函数包括打印函数printf( ),并声明友元类。
然后派生出经理Mansger类、销售经理Salemansger类、兼职技术人员Technology类和兼职推销员Saleman类。
在派生类Mansger的构造函数直接对月薪和等级赋值:月薪8000,等级4;在派生类Salemansger的构造函数中定义特有的数据成员:销售总额sum1,并根据要求计算月薪,等级赋值3;在派生类Technology的构造函数中定义特有的数据成员:工作时间time,并根据要求计算月薪,等级赋值3;在派生类Saleman的构造函数中定义特有的数据成员:销售额sum2,并根据要求计算月薪,等级赋值1。
派生类的功能有打印函数printf( ),储存函数save( )。
友元类Head存放的数据成员有Linked top,功能有构造函数Head( )、插入函数Insert( )、打印函数printf( )以及析构函数~Head( );其中功能构造函数用来开辟储存空间,插入函数采用单链表现实信息的输入,打印函数用来输出录入员工的全部信息,析构函数用来释放空间。
基类与各派生类之间的关系如下图所示:图1 Employee类和其派生类关系的图形表示在程序实现过程中,各派生类的成员函数需要访问基类Employee的数据成员,利用公有继承方式派生,同时将Employee类中的数据成员的访问控制设置为保护类型。
这样,经过公有派生之后,基类的保护成员在派生类中依然是保护成员,可以被派生类的成员函数访问。
4 基于控制台的应用程序整个程序分为三部分,各种职员的类,结构体链表以及封装在结构体链表的类。
实现时先生成各种职员的对象指针,之后将生成的对象指针插入到链表中,最后通过封装类类的成员函数对链表节点进行操作,实现对员工的操作。
4.1 类的接口设计#include<iostream>#include<string.h>#include<fstream>using namespace std;static int count=0; //全局动态变量,用于记录员工编号//定义虚基类class Employee{public:Employee() //构造函数,初始化员工基本信息{ cout<<"请输入员工姓名:";cin>>name;++count;number=count+1000;level=1;}void printf(); //打印函数friend class Head; //声明友元类protected: //数据成员为保护类型char name[30];int number;int level;float wages;};//派生类Mansgerclass Mansger: public virtual Employee{ public:Mansger():Employee(){level=4;wages=8000;} //构造函数定义void save(); //储存函数void printf(); //打印函数friend class Head; //声明友元类};//派生类Salemansgerclass Salemansger: public virtual Employee{public:Salemansger():Employee() //构造函数定义{level=3;cout<<"输入月部门销售总额:";cin>>sum1;wages=5000+0.005*sum1; //计算销售经理工资}void save (); //储存函数void printf(); //打印函数friend class Head;protected:int sum1; //销售总额};//派生类Technologyclass Technology: public virtual Employee{public:Technology():Employee() //构造函数定义{level=3;cout<<"输入该技术人员的工作时间:";cin>>time;wages=100*time; //计算技术人员工资}void save(); //储存函数void printf(); //打印函数friend class Head;protected:float time; //工作时间};//派生类Salemanclass Saleman: public virtual Employee /{public:Saleman():Employee() //构造函数定义{level=1;cout<<"输入部门月销售总额:";cin>>sum2;wages=0.04*sum2; //计算销售员工资}void save (); //储存函数void printf();friend class Head;protected:int sum2; //销售总额};//定义友元类class Head{public:Head(); //构造函数void Insert(Employee*temp); //单链表的插入函数void printf(); //打印函数~Head(); //析构函数private:Linked*top; //单链表的头结点};经过公有派生,四个派生类获得了除构造函数之外的Employee类的全部成员,由于基类的成员是公有和保护类型,因此在派生类中的成员函数中,基类继承来的成员全部可以访问,而对于建立派生类对象的外部模块来讲,基类的保护成员是无法访问的。
通过保护访问类型和公有的继承方式,实现了基类Employee 的数据的有效共享和可靠保护。
友元类可以实现外部函数对类中数据成员的调用,在程序中,员工的基本信息的输入,全部信息的保存都是在基类、派生类的构造函数以及友元类的成员函数中完成,它们的清理工作在友元类析构函数中完成。
4.2 类的实现//基类输出函数void Employee::printf(){cout<<"姓名:"<<name<<" "<<"编号:"<<number<<" "<<"等级:"<<level<<" "<<"月薪:"<<wages<<endl;}//派生类Mansger输出函数void Mansger::printf(){cout<<"姓名:"<<name<<" "<<"编号:"<<number<<" "<<"等级:"<<level<<" "<<"月薪:"<<wages<<endl;}//派生类Mansger储存函数void Mansger::save(){ofstream fs("f:\\Mansger.txt");fs<<"姓名:"<<name<<" "<<"编号:"<<number<<" "<<"等级:"<<level<<" "<<"月薪:"<<wages<<endl;cout<<"Mansger OK"<<endl;}//派生类Salemansger输出函数void Salemansger::printf(){cout<<"姓名:"<<name<<" "<<"编号:"<<number<<" "<<"等级:"<<level<<" "<<"月薪:"<<wages<<endl;}//派生类Salemansger储存函数void Salemansger::save(){ofstream fs("f:\\Salemansger.txt");fs<<"姓名:"<<name<<" "<<"编号:"<<number<<" "<<"等级:"<<level<<" "<<"月薪:"<<wages<<endl;cout<<"Salemansger OK"<<endl;}//派生类Technology输出函数void Technology::printf(){cout<<"姓名:"<<name<<" "<<"编号:"<<number<<" "<<"等级:"<<level<<" "<<"月薪:"<<wages<<endl;}//派生类Technology储存函数void Technology::save(){ofstream fs("f:\\Technology.txt");fs<<"姓名:"<<name<<" "<<"编号:"<<number<<" "<<"等级:"<<level<<" "<<"月薪:"<<wages<<endl;cout<<"Technology OK"<<endl;}//派生类Saleman输出函数void Saleman::printf() {{cout<<"姓名:"<<name<<" "<<"编号:"<<number<<" "<<"等级:"<<level<<" "<<"月薪:"<<wages<<endl;}//派生类Saleman:储存函数void Saleman::save(){ofstream fs("f:\\Saleman.txt");fs<<"姓名:"<<name<<" "<<"编号:"<<number<<" "<<"等级:"<<level<<" "<<"月薪:"<<wages<<endl;cout<<"Saleman OK"<<endl;}//友元类的实现Head::Head() //友元类的构造函数实现初始化链表{if((top=new Linked)==NULL)exit(-1);top->next=NULL;}void Head::Insert(Employee*temp) //链表的插入函数{ Linked*ttop=top;while(ttop->next) //链表的头结点的下个结点不为空时,开辟空间ttop=ttop->next;ttop->next=new Linked;ttop->next->p=temp;ttop->next->next=0;}//链表的输出函数void Head::printf(){ Linked*pbuf=top->next;while(pbuf!=NULL){pbuf->p->printf(); //插入打印函数pbuf=pbuf->next;}}//链表的析构函数Head::~Head(){ Linked*ttop,*q;ttop=top->next;while(ttop!=NULL){ q=ttop;ttop=ttop->next;delete q; //释放空间}}//菜单函数void menu(Head*Data){ int n;cout<<"请输入1、打印0、退出:";cin>>n;switch(n) //多分支选择语句{case 1:Data->printf(); //输出链表节点break;case 0:break;}cout<<"是否继续?如果继续请按1,退出请按0:";cin>>n;if(n!=0)menu(Data); //递归调用}//菜单函数1void menu1(Head*Data){ Mansger*M; //声明类指针Salemansger*S;Technology*T;Saleman*S1;int n;cout<<"请输入1、经理2、销售经理3、技术人员4、销售员0、退出:";cin>>n;switch(n){ case 1:M=new Mansger; //构造对象指针M->save(); //储存对象数据Data->Insert(M); //将对象指针插入到链表中break;case 2:S=new Salemansger; //构造对象指针S->save(); //储存对象数据Data->Insert(S); //将对象指针插入到链表中break;case 3:T=new Technology; //构造对象指针T->save(); //储存对象数据Data->Insert(T); //将对象指针插入到链表中break;case 4:S1=new Saleman; //构造对象指针S1->save(); //储存对象数据Data->Insert(S1); //将对象指针插入到链表中break;case 0:break;}cout<<"是否继续?如果继续请按1,退出请按0:";cin>>n;if(n!=0)menu1(Data); //递归调用}在类的成员函数实现过程中,派生类的成员函数调用了基类的构造函数,只是整个调用过程中完全是由系统内部完成。