没有合适的资源?快使用搜索试试~ 我知道了~
4 C++面向对象程序设计A卷 和参考答案1
需积分: 0 0 下载量 47 浏览量
2022-08-08
18:20:33
上传
评论
收藏 30KB DOCX 举报
温馨提示
试读
14页
C++面向对象程序设计(甲)座位号:( A )卷参考答案座位号:注意:答案直接写在答题纸上,答在试卷上无效,考试后答题纸和试卷一同上交一、单项选择题(每题2分,
资源详情
资源评论
资源推荐
第 1 页 共 14 页
C++面向对象程序设计(甲)( A )卷参考答案
注意:答案直接写在答题纸上,答在试卷上无效,考试后答题纸和试卷一同上交
一、单项选择题(每题 2 分,总计 20 分)
题 号
1
2
3
4
5
答 案
C
D
A
D
A
题 号
6
7
8
9
10
答 案
C
C
C
B
D
二、程序填空题(每空 2 分,总计 20 分)
(1) date d,int day
(2) day>dys[d.mo-1]
(3) temp.n=n+s.n
(4) s3.disp()
(5) A(i+10) 或 A(6*i)
(6) dispa()
(7) 【virtual】 void f()
(8) f()
(9) bool operator()(int x)
(10) count_if(a.begin(),a.end(),Pass())
三、阅读程序题(每题 6 分,总计 30 分)
1. 阅读该程序,给出程序的输出结果。
n=10,k=3
n=20,k=3
n=30,k=3
2. 阅读该程序,给出程序的输出结果。
n=9
3. 阅读该程序,给出程序的输出结果。
5
4.12
China
座位号:
第 2 页 共 14 页
4. 阅读该程序,给出程序的输出结果。
anihCevoL
5. 阅读该程序,给出程序的输出结果。
8/3 = 2
【6/0=】6 is divided by zero!
That is ok.
四、编程题(每题 15 分,总计 30 分)
1. 按照要求,编写程序。
评分标准:要求采用抽象类和类继承,若不采用则扣分。
#include <iostream>
using namespace std;
//雇员类
class Employee {
protected :
int _id;
double _salary;
string _name;
public :
Employee (int id, string name)
: _id(id), _name (name)
{}
virtual ~Employee () {}
virtual double CalcSalary () = 0;
};
//经理类
class Manager : public Employee {
public :
Manager (int id, string name) : Employee (id,name) {}
virtual double CalcSalary () {
_salary = 8000;
return _salary;
};
};
//兼职技术员类
class Technician : public Employee {
int _workHour;
public :
座位号:
第 3 页 共 14 页
Technician (int id, string name) : Employee (id,name) {}
void SetWorkHour (int workHour) {
_workHour = workHour;
}
virtual double CalcSalary () {
_salary = 100 * _workHour;
return _salary;
};
};
//销售经理类
class Salesman : public Employee {
double _salesMount;
public :
Salesman (int id, string name) : Employee (id,name) {}
void SetSalesMount (double salesMount) {
_salesMount = salesMount;
}
virtual double CalcSalary () {
_salary = 0.04 * _salesMount;
return _salary;
};
};
class SalesManager : public Employee {
double _salesTotalMount;
public :
SalesManager (int id, string name) : Employee (id,name) {}
void SetSalesTotalMount (double salesTotalMount) {
_salesTotalMount = salesTotalMount;
}
virtual double CalcSalary () {
_salary = 5000 +0.005 * _salesTotalMount;
return _salary;
};
};
int main()
{
Manager zhang (1000, "张三");
Technician li (1000, "李四");
Salesman wang (1000, "王五");
SalesManager zhao (1000, "赵六");
li.SetWorkHour(50);
wang.SetSalesMount(175000);
zhao.SetSalesTotalMount(1500000);
Employee *pEmployeeA [] = {&zhang, &li, &wang, &zhao};
for (int i = 0; i <4; i++) {
cout << pEmployeeA [i] ->CalcSalary() << endl;
}
剩余13页未读,继续阅读
邢小鹏
- 粉丝: 27
- 资源: 327
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0