2016-2017面向对象程序设计试卷(A)
(2018-06-25 09:53:41)一、单项选择题(每题2分,总计20分)
|
1. |
若定义语句为const char *ptr; , ptr应该是______。
A.
指向字符变量的指针
C.
指向字符串常量的指针 |
|
2. |
对定义重载函数的下列要求中,_____是错误的。 A. 要求参数的个数不同 B. 要求参数中至少有一个类型不同 C. 要求参数个数相同时,参数类型不同 D. 要求函数的返回值不同 |
|
3. |
有以下类的说明,请指出A、B、C、D四个语句错误的是_____。 class CSample { CSample(
); public: CSample(int
val); ~CSample(
); }; |
|
4. |
一个类的友元函数能够访问该类的_____。 A. 私有成员 B. 保护成员 C. 公有成员 D. 所有成员 |
|
5. |
下列运算符中,_____运算符在C++中不能重载。
A.
?: |
|
6. |
以下对模板的说明,正确的是_____。
A.
template
C.
template |
|
7. |
关于多继承二义性的描述中,_____是错误的。 A. 一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性 B. 解决二义性的最常用的方法是对成员名的限定 C. 基类和派生类中出现同名函数,也存在二义性问题 D. 一个派生类是从两个基类派生来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性 |
|
8. |
以下基类中的成员函数,哪个表示纯虚函数_____。
A. virtual void
vf(int);
C. virtual void
vf()=0; |
|
9. |
在C++中,打开一个文件就是将这个文件与一个_____建立关联;关闭一个文件就取消这种关联。
A.
类 |
|
10 |
现有语句int iarray[] = { 0, 1, 2, 3, 4, 5, 6, 6, 6, 7, 8 }; vector ivector(iarray, iarray + sizeof(iarray) / sizeof(int)); 请问要找出ivector之中小于7的元素个数,采用下面哪个算法_____。
A. find_if
|
二、程序填空题(每空2分,总计20分)
|
1. |
请在下面程序的横线处填上适当内容,以使程序完整,并使运行结果为:2/10/2004 #include static int dys[]={31,28,31,30,31,30,31,31,30,31,30,31}; class date { public: }; int main() { } |
|
2. |
请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为: #include template class Sample { public: }; template Sample
{ } int main() { } |
|
3. |
请在下面程序的横线处填上适当字句,以使程序完整,并使程序的输出为 A Constructor2 B Constructor2 x1=12 x2=2
#include class A { public: private: }; class B:public A { public: private: }; int main() { } |
|
4. |
请在下面程序的横线处填上适当字句,以使程序完整,并使程序的输出为 构造base对象 调用base::f() 构造derive对象 调用derive::f()
#include class base { public: }; class derive:public base { public: }; int main() { }
|
|
5. |
下面程序用STL的条件计数算法和自定义的函数对象对一个存放在整数向量类对象中的学生成绩进行统计及格人数并显示结果。请在下面程序的横线处填上适当字句,以使程序完整。 #include #include #include #include using namespace std;
class Pass { public: ____________________(9)___________________ { } }; int main() { vector a; int count; a.push_back(78); a.push_back(92); a.push_back(52); count = ____________________(10)___________________; cout<<"count="<<count<<endl; } |
三、程序阅读题(每题6分,总计30分)
四、编程题(每题15分,总计30分)
|
1. 编程实现小型公司的工资管理。该公司主要有4类人员:经理(manager)、兼职技术人员(technician)、销售员(salesman)和销售经理(salesmanager)。要求存储这些人员的编号、姓名和月工资,计算月工资并显示全部信息。月工资计算办法是:经理拿固定月薪8000元,兼职技术人员按每小时100元领取月薪,销售员按当月销售额的4%提成,销售经理既拿固定月工资也领取销售提成,固定月工资为5000元,销售提成为所管辖部门当月销售总额的千分之五。兼职技术人员一个月工作小时数、销售员一个月销售额、销售经理所管辖部门一个月销售总额由各个类的成员函数完成设置。(要求用抽象类和类继承) 2. 定义一个矩阵类(Matrix),设计相关的构造函数、析构函数等,采用运算符重载方式实现矩阵的加、减、乘运算。编写main函数,对以上所有功能进行测试。注意:按照实际情况大小使用内存空间,矩阵的加、减、乘运算不要造成内存浪费。 |

加载中…