- 36
- 0
- 约6.28千字
- 约 7页
- 2020-10-06 发布于浙江
- 举报
实验四 C++中的继承与派生
一、实验目的:
理解C++中继承与派生的概念;
掌握C++中各种不同继承方式的访问属性差别;
掌握单继承与多继承的实现方法;
掌握派生类构造函数与析构函数的实现及调用顺序;
掌握虚基类的使用方法。
二、实验任务
【题目】
小型公司人员管理
某小型公司有四类人员:经理、技术人员、销售经理、销售员。设计一个基类employee,
派生出manager(经理)、technician(技术人员)、salesmanager(销售经理)、saleman(销售员)。销售经理既是经理又是销售员,兼具两类人员的特点,因此同时继承manager 和
salesman 两个类。
1、类定义
1)employee 类:
基本信息:编号、姓名、性别、出生日期、职位、薪水等;出生日期使用自定义的 Date(日期)类;
2)Date 类:
成员变量:年、月、日
3)派生类technician:新增属性:工作时间
派生类 saleman: 新增属性:销售额、所属部门
2、实现人员信息的录入与显示;
3、计算并显示个人月薪:
月薪计算办法:总经理拿固定月薪8000 元,技术人员按每小时25 元领取月薪;推销员
的月薪按当月销售额的4%提成;销售经理固定月薪5000 元加所管辖部门当月销售总额 的5‰ 。
【提示】
在基类中,除了定义构造函数和析构函数,还应统一定义对各类人员信息应有的操作,规范类族中各派生类的基本行为,但是各类人员的月薪计算方法不同,不能在基类employee 中统一确定计算方法。各类人员信息的显示内容不同,同样不能在基类employee中统一确定显示方法。在基类中实现上述功能的函数体应为空,在派生类中根据同名覆盖原则定义各自的同名函数实现具体功能。
代码:
#includeiostream
#includestring
using namespace std;
class Date
{
private:
int year;
int month;
int day;
public:
void SetYear(int x) {year=x;}
void SetMonth(int x) {month=x;}
void SetDay(int x) {day=x;}
int GetYear() {return year;}
int GetMonth() {return month;}
int GetDay() {return day;}
};
class employee
{
protected:
int num;
string nam;
string sex;
Date birth;
string position ;
float salary;
public:
void display()
{cout编号:num姓名:nam性别:sex出生日期:birth. GetYear()-birth.GetMonth()-birth.GetDay()职位:position;}
};
class manager:virtual public employee
{
public:
void set_manager(int n,string na,string se,int y,int m,int d,string pos)
{
num=n;
nam=na;
sex=se;
birth.SetYear(y);
birth.SetMonth(m);
birth.SetDay(d);
position=pos;
}
void display()
{
employee::display();
}
void total_salary()
{ salary=8000;
cout经理月薪:;
cout salary元;
}
};
class technician:virtual public employee
{
protected:
float Time;
public:
float t;
void set_technician(int n,string na
您可能关注的文档
- 实验室安全事故案例.doc
- 实验室安全卫生值日表、值班日志.doc
- 实验室安全用电管理制度.doc
- 实验室安全之实验室人员出入管理制度.doc
- 实验室安全知识复习题.doc
- 实验室生物安全自查制度 2.doc
- 实验室体系文件宣贯考核试题.doc
- 实验室通风管道施工通病几大问题盘点(2).doc
- 实验室通风管道施工通病几大问题盘点(3).doc
- 实验室通宵实验审批表.doc
- 2025-2026学年科普版七年级下册英语Unit7 Being a Smart Shopper素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit10 Lending a Helping Hand素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit11 Rules Matter素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit12 Better Together素养测评卷(含答案).docx
- 2026年中考英语语法选择专题训练(含答案).docx
- 2026中考语文二轮学思并重,涵养君子之德论语十二章、虽有佳肴、大道之行也.docx
- 中考文言文常见文化常识梳理.docx
- 中考语文二轮:内修君子德外尽忠臣心诚子书出师表修身立德主题学习.docx
- 中考语文二轮:不一样的求学路一样的成长梦送东阳马生序劝学主题学习.docx
- 中考语文二轮:《陋室铭》《爱莲说》托物寓意主题学习.docx
最近下载
- [全]学生硬笔作品纸-古诗词书法比赛用A4纸打印模板.docx VIP
- 通风及防排烟施工方案.docx VIP
- T∕GAL 005-2025 医院免陪照护服务安全管理规范.docx
- BS EN 50121-3-2-2016+A1-2019 铁路应用-电磁兼容性 第3-2部分: 机车车辆-设备(中文版).pdf
- (2026年春新版)人教版八年级生物下册全册教案.doc
- 高压氧医学概述.ppt VIP
- 医学伦理学的形成和发展概述.pptx VIP
- 2025年杭州中考英语试卷及答案.doc VIP
- 2024年长沙商贸旅游职业技术学院单招综合素质考试题库 及参考答案解析.docx VIP
- 房建专项施工方案.docx VIP
原创力文档

文档评论(0)