11[填空题]C++语言具有面向对象方法中要求的三大特性: ( ) 、 ( ) 和 ( ) 。
参考解析:封装性 、 继承性 和 多态性 。
12[简答题]指出下列数据中哪些可作为C++的合法常数?
(a) 588918 (b) 0129 (c) 0x88a (d) e-5 (e) ″A″
(f) .55 (g) ’\\’ (h) 0XCD (i) 8E7 (j) π
参考解析:(a)、(c)(e)、(f)、(g)、(h)、(i)
13[单选题] 有如下程序:
#include
usingnamespacestd;
classA
{
public:
A(){cout<<"A";}
~A(){cout<<"~A";}
};
classB
{
A*P:
public:
B(){cout<<"B";p=newA;}
~B(){cout<<"~B";deleteP;}
};
intmain()
{
Bobi;
return0;
}
执行这个程序的输出结果是( )。
A.BAA~A~B~AB.ABA~B~A~AC.BAA~B~A~AD.ABA~A~B~A
参考答案:B
参考解析:本题考查的是类的构造函数和析构函数。派生类构造函数的执行顺序:首先调用基类的构造函数,调用顺序按它们被继承时说明的顺序;然后调用子对象的构造函数,调用顺序按它们在类中说明的顺序;最后是派生类构造函数中的内容。因此本题中,首先调用基类构造函数输出A,然后调用子对象的构造函数输出B,P=newA再调用类A的构造函数输出A。析构函数的调用顺序和构造函数的调用顺序相反。
14[单选题]开发软件时对提高开发人员工作效率至关重要的是
A.操作系统的资源管理功能
B.先进的软件开发工具和环境
C.程序人员的数量
D.计算机的并行处理能力
参考答案:B
15[单选题] 下列关于模板形参的描述中,错误的是( )。
A.模板形参表必须在关键字template之后
B.模板形参表必须用括弧( )括起来
C.可以用class修饰模板形参
D.可以用typename修饰模板形参
参考答案:B
参考解析:主要考查函数模板的定义。声明一个函数模板的格式为“template<<模板形参表声明>><函数声明>”,其中<模板形参>具有typename<参数名>、class<参数名>、<类型修饰><参数名>三种形式,形参用“<>”括起来。
16[单选题]
A.n=0B.n=1C.n=2D.n=3
参考答案:A
参考解析:
17[单选题] 有下列程序:
#include
voidmain( )
{inta=1,b=2,c=3,d=0;
if(a==1&&b++==2)
if(b!=2‖c--!=3)
printf("%d,%d,%d\n",a,b,c);
elseprintf("%d,%d,%d\n",a,b,c);
elseprintf("%d,%d,%d,%d\n",a,b,c);
}
程序运行后的输出结果是( )。
A.1,2,3B.1,3,2C.1,3,3D.3,2,1
参考答案:C
参考解析:在程序中,当执行第一条if语句时,进行逻辑语句的判断,因为变量b的初值为2,所以其值加1后为3,与2不相等,所以if语句中的逻辑表达式的值为假,则程序执行最后一条elseprintf语句。输出变量为a,b,c,当前数值为1,3,3。所以正确答案为选项C。
18[简答题]请使用VC6或使用【答题】菜单打开考生文件夹pr092下的工程pros2。此工程中包含一个程序文件main.cpp,其中有“部门”类Department和“职工”类Staff的定义,还有主函数main的定义。在主函数中定义了两个“职工”对象,他们属于同一部门。程序展示,当该部门改换办公室后,这两个人的办公室也同时得到改变。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
改换办公室前:
职工号:0789姓名:张三部门:人事处办公室:521
职工号:0513姓名:李四部门:人事处办公室:521
改换办公室后:
职工号:0789姓名:张三部门:人事处办公室:311
职工号:0513姓名:李四部门:人事处办公室:311
注意:只在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include
using namespace std;
class Department{ //“部门”类
public:
Department(const char*name,const char*office){
strcpy(this一>name,nanle);
//**********found**********
}
const char*getName()const{return name;}//返回部门名称
//**********found**********
const char*getOffice()const{________} //返回办公室房号
void changeOfficeTo(const char*office){ //改换为指定房号的另一个办公室
strcpy(this一>office,office);
}
private:
char name[20];//部门名称
char office[20];//部门所在办公室房号
};
class staff{//“职工”类
public:
//**********found**********
Staff(const char*my—id,const char木my_name,Department&my_dept):——{
strcpy(this一>staff id,my_id);
strcpy(this一>name,my_name);
}
const char*getlD()const{return staff_id;}
const char*getName()consl{return name;}
Department getDepartment()const{return dept;} char staff=id[10];//职工号
char name[20];//姓名
Department&dept;//所在部门
}; void showStaff(Staff&staff){
cout<<”职工号:”<
cout<<”姓名:”<
微信搜索"考试吧"了解更多考试资讯、下载备考资料
相关推荐: