没有合适的资源?快使用搜索试试~ 我知道了~
C++期末考试复习题及答案(理工).pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
114 浏览量
2022-07-13
15:22:33
上传
评论 1
收藏 744KB PDF 举报
温馨提示
C++期末考试复习题及答案(理工).pdfC++期末考试复习题及答案(理工).pdfC++期末考试复习题及答案(理工).pdfC++期末考试复习题及答案(理工).pdfC++期末考试复习题及答案(理工).pdfC++期末考试复习题及答案(理工).pdf
资源推荐
资源详情
资源评论











C++期末考试复习题及答案(理工)
一、单项选择题(本大题共 10 小题,每小题 2 分,共 20 分)
1.在 C++中,函数原型不能标识(D )
A.函数的返回类型 B.函数参数的个数 C.函数参数类型 D.函数的功能
2.在 C++程序中,对象之间的相互通信通过(B )
A.继承实现 B.调用成员函数实现 C.封装实现 D.函数重载实现
3.对于任意一个类,析构函数的个数最多为(B ) A.0 B.1 C.2 D.3
5.友元关系不能(A )
A.继承 B.是类与类的关系 C.是一个类的成员函数与另一个类的关系 D.提高程序的运行效率
6.语句 ofstream f(″SALARY.DAT″,ios::app|ios::binary) 的功能是建立流对象 f,试图
打开文件 SALARY.DAT 并与之连接,并且(A )
A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B.若文件存在,将其置为空文件;若文件不存在,打开失败
C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D.若文件存在,打开失败;若文件不存在,建立一个新文件
7.下面说法正确的是(B )
A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
C.类的内联函数必须在类体内定义 D.类的内联函数必须在类体外通过加关键字 inline 定
义
//当程序使用内敛函数时,编译器将每个函数调用都用函数内的语句代替,这样就省去了函
数调用地开销
8.可以用 p.a 的形式访问派生类对象 p 的基类成员 a,其中 a 是(D )
.

A.私有继承的公有成员 B.公有继承的私有成员 C.公有继承的保护成员 D.公有继承的公有成
员
//函数可以调用成员,对象不可以调用
9.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( C)
A.派生类的对象可以赋给基类的对象 B.派生类的对象可以初始化基类的引用
C.派生类的对象可以直接访问基类中的成员 D.派生类的对象的地址可以赋给指向基类
的指针
//派生类的对象是不能访问基类的任何成员
10.对于类定义
class A{
public:virtual void func1( ){ }
void func2( ){ }
};
class B:public A{
public:void func1( ){cout<<″class B func 1″<<end1; }
virtual void func2( ){cout<<″class B func 2″<<end1; }
};
下面正确的叙述是(C )
A. A::func2( )和 B::func1( )都是虚函数 B. A::func2( )和 B::func1( )都不是虚函数
C. B::func1( )是虚函数,而 A::func2( )不是虚函数 D. B::func1( )不是虚函数,而
A::func2( )是虚函数
第二部分非选择题(共 80 分)
二、填空题(本大题共 10 小题,每小题 2 分,共 20 分)
11.定义类的动态对象数组时,系统只能够自动调用该类的_无参_______构造函数对其进行初
.

始化。
12.在 C++程序设计中,建立继承关系倒挂的树应使用____单_一____继承。
13.表达式 cout<<end1 还可表示为____cout<<`\n`_____。
14.基类的公有成员在派生类中的访问权限由___访问控制___ __决定。
15.C++支持的两种多态性分别是__编译时的_(操作重载)_静态_____多态性和_运行时的(虚
函数)___动态_____多态性。
16.C++中语句 const char * const p= ″hello″;所定义的指针 p 和它所指的内容都不能
被__改变(重新赋值)____。
17.假定 AB 为一个类,则语句 AB(AB&x);为该类_____拷贝____构造函数的原型说明。
18.将关键字 const 写在成员函数的____函数头_____和____函数体_____之间时,所修饰的
是 this 指针。
19.在 C++中,访问一个对象的成员所用的运算符是__·___,访问一个指针所指向的对象的
成员所用的运算符是__>___。
20.派生类从一个或多个以前定义的该类的__基类__
一、单项选择题(每题 2 分,共 20 分)
1. 派生类对象可访问基类中的什么成员( A)
A.公有继承的公有成员 B. 公有继承的私有成员 C.公有继承的保护成员 D. 私有
继承的公有成员
2. 定义析构函数时,应该注意( C )
A.其名与类名完全相同 B. 返回类型是 void 类型 C.无形参,也不可重载 D. 函数
体中必须有 delete 语句
3. 如果类 A 被说明成类 B 的友元,则( D )。
A.类 A 的成员即类 B 的成员 B.类 B 的成员即类 A 的成员
C.类 A 的成员函数不得访问类 B 的成员 D.类 B 不一定是类 A 的友元
.

4. 应在下列程序划线处填入的正确语句是( C )
#include
class Base
{ public:
void fun(){cout<<"Base::fun"<<endl;}
};
class Derived:public Base
{ void fun()
{_____________ // 显示调用基类的函数 fun()
cout<<"Derived::fun"<<ENDL;
}
};
A.fun(); B. Base.fun(); C. Base::fun(); D. Base->fun();
5. 面向对象程序设计将数据与( A )放在一起,做为一个相互依存、不可分割的整体
来处理。
A. 对数据的操作 B. 信息 C. 数据隐藏 D. 数据抽象
6. 在类中声明转换函数时不能指定( A )。
A. 参数 B. 访问权限 C. 操作 D. 标识符
7. 在派生类中重新定义虚函数时必须在( A )方面与基类保持一致。
A. 参数类型 B. 参数名字 C. 操作内容 D. 赋值
8. 下面关于 C++中类的继承与派生的说法错误的是( C )。
A.基类的 protected 成员在公有派生类的成员函数中可以直接使用
B.基类的 protected 成员在私有派生类的成员函数中可以直接使用
C.公有派生时,基类的所有成员访问权限在派生类中保持不变
.

D.基类的 protected 成员在保护派生类的成员函数中可以直接使用
9. 重载赋值操作符时,应声明为( C )函数。
A. 友元 B. 虚 C. 成员 D. 多态
10. 语句 ofstream f(″SALARY.DAT″,ios::app|ios::binary); 的功能是建立流对象 f,试
图打开文件 SALARY.DAT 并与之连接,并且 ( A )
A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B. 若文件存在,将其置为空文件;若文件不存在,打开失败
C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D. 若文件存在,打开失败;若文件不存在,建立一个新文件
二、填空题(每空 2 分,共 30 分)
1. 假定 AB 为一个类,则语句 AB(AB&x) ;为该类 _________ 复制 构造函数的原型说明。
2. C++ 支持的两种多态性分别是 ________编译时的_ 多态性和 运行时的_________ 多态性。
3. 定义类的动态对象数组时,系统只能够自动调用该类的 无参的_________ 构造函数对其进
行初始化。
4. 运算符重载时,其函数名由 __operator 运算符_ 构成。成员函数重载双目运算符时,
左操作数是_当前对象__,右操作数是__函数形参_。
C++标准库中的异常层次的根类为 exception _____类;MFC 类库中绝大多数类都源自根类
__ CObject _____类。
在下面横线处填上适当字句,完成类中成员函数的定义。
class A{
int * a;
public:
A(int aa=0) {
a=_ new int(aa)______; // 用 aa 初始化 a 所指向的动态对象
.
剩余21页未读,继续阅读
资源评论


a66889999
- 粉丝: 25
- 资源: 1万+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
