没有合适的资源?快使用搜索试试~ 我知道了~
C++程序设计练习题与答案.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 153 浏览量
2023-02-27
20:06:35
上传
评论
收藏 401KB PDF 举报
温馨提示
试读
18页
.
资源推荐
资源详情
资源评论
C++
g
序设计练习题
一、填空题
1
.对象的三大基本特性分别为多态性、
(
2
.赋值运算符应重载为
(
3
.用
(
4
.用
(
)
函数。
)
声明的基类称为虚基类。
)
声明的函数称为虚函数。
( )
。
)
函数不是类的成员。
)
成员函数。
( )
开销。
)
、封装性。
5
.派生类对基类继承控制访问有三种。派生类可以定义其基类中不具备的
6
.静态成员是对象的成员,
(
7
.在函数体之前加
(
8
.一个
const
对象只能访问
(
10.
)
关键字可以防止覆盖函数改变数据成员的值。
9
.使用友元函数是为了提高程序效率,且节约了
数的原型说明是
类名为“
ClassName
”的类,其拷贝构造函
( )
。
)
、
( )
和
( )
。缺
11
.由关键字
private
、
public
和
protected
限定成员的访问权限分别是
(
省关键字时成员的访问权限为
( )
。
( )
;如果虚基类没有
12.
如果想要公共基类在派生类中只有一个拷贝,就要将公共的基类说明为
默认构造函数,就必须在每一个派生类的构造函数中都要调用虚基类的
13.
14.
调用
FunName
函数的方法
(
)
函数。
静态成员函数是使用关键字
( )
说明的成员函数。
一个函数的原型声明为“
void FunName(int=0, double=0, char='x');
”,则
共有
(
15.
)
种。
编译时多态性是通过
(
C++
通过
(
)
。
)
。
)
实现的;运行时多态性是通过
( )
实现
的。
16. )
实现编译时多态性,通过
( )
实现运行时多态性。
17
•在
C++
中,声明类的关键字是
(
18
.声明
C++
模板的关键字是
(
19.
调用函数原型声明为“
int=0, float=1.0);
”的方法有
( )
种。
20.
处理
C+ +
异常的方法:采用
(
21
.用关键字
( )
、
( )
和
(
)
结构。
void FunName(short,
)
限定的成员,其访问权限分别为:公有的、私有的和保护的。
)
。缺省关键字时,成员的访问权限为
(
22.
在
C++
中,处理
(
23.
在
C++
中,用关键字
(
25.
)
的方法是采用
try-catch
结构。
)
说明内置函数。
)
。
24.
在
C++
中,声明友元函数的关键字是
(
将公共基类说明为
( )
时,多重派生过程中公共基类在派生类中就只有一个拷
在
C++
中,如果函数调用
)
。
在成员函数头之后、函数体之前加
( )
修饰的成员函数称为类的常
包含纯虚函数的类称为抽象类,这种类只能用作
( )
)
,但不能说明抽象类的
( )
。
贝了。
26.
在前、定义在后,就必须先对函数进行
(
27.
成员函数。
28.
来派生新类。由于抽象类的特殊性,我们
可以说明抽象类的
(
29.
“
double
”、函数名为“
vifun
”且无参数的纯虚函数的表达形式为
30.
说明函数类型为
( )
。
说明静态成员要使用关键字
( )
。
31
.当函数调用在前定义在后时,必须先对函数进行
(
32.
)
说明。
函数原型说明为
33.
抽象类是包含
(
34.
)
的类,必须注意:不能说明抽象类的
(
类名为“
ClassN
”的类的拷贝构造函数的
( )
。
)
,但可说明抽象类的
( )
。
载流插入运算符
流插入运算符
<<
只能重载为友元函数,重
<<
的函数名为
( )
。
35.
要防止在该成员函数中改变数据成员的值,就要在类的成员函数名之后、函数体之前加上关键字
36
.类和对象的关系可表述为:类是对象的
(
37
.在
C++
中,三种继承方式的说明符号为
(
)
,而对象则是类的
(
)
、
( )
和
(
)
。
)
,如果不加说明,则默认的继
承方式为
( )
。
)
把这个公共基类声明为虚基类。
)
。
38
.如果只想保留公共基类的一个复制,就必须使用关键字
(
39
.若要把
void myfun( )
定义为类
A
的友元函数,则应在类
A
的声明中加入语句
(
40
.类的静态成员分为
( )
和
( )
。
( )
、
( )
和语法结构。
41
.运算符重载要求保持其原来的操作数个数、
42
.通过关键字
( )
可以声明模板,通过关键字
(
(
)
指定函数模板的类型参数。
)
、
( )
。
43
•请列出
C++
中两种用户自定义的数据类型:
44
.构造函数的作用是
(
)
。
45
.后置自增运算符“
++
”重载为类的成员函
.(
设类名为
ClassName)
的形式为
(
、单选题
二
1
.
继承机制的作用是
A)
信息隐藏
数
)
。
( )
B)
数据封装
C)
定义新类 数据抽象
D)
曰,
类的析构函数的作用
是
( )
2
.
A)
一般成员函数
3
. 类的析构函数是在
(
B)
类的初始化
C)
对象的初始化 删除对象创建的所有对象
D)
)
调用的。
B)
创建对象时
C)
删除对象时
A)
类创建时
4
.在
(
不自动调用
D)
)
情况下适宜采用
inline
定义内联函数。
B)
函数体含有递归语句
D)
函数代码多、不常调用
A)
函数体含有循环语句
C)
函数代码少、频繁调用
5
•如果类
A
被说明成类
B
的友元,则
()
A)
类
A
的成员即类
B
的成员
C)
类
A
的成员函数不得访问类
B)
类
B
的成员即类
A
的成员
B
的成员
D)
类
B
不一定是类
A
的友元
()
C)
操作
6
.在类中声明转换函数时不能指定
A)
参数
B)
访问权限
D)
标识符
7
.在公有继承的情况下,基类成员在派生类中的访问权限
A)
受限制
B)
保持不变
C)
受保护
( )
不受保护
D)
&在
C++
类体系中,
A)
转换函数
不能被派生类继承的有
B)
构造函数
( )
C)
虚函数 静态成员函数
D)
9
.假定
ClassN
为一 个类,则执行“
ClassN
A)
有参构造函数
A)
类的嵌套
x;
”语句时将自动调用该类的
( )
C)
拷贝构造函数
B)
无参构造函数
)
B)
类的继承
赋值构造函数
D)
10
.
C++
语言建立类族是通过
(
C)
虚函数 抽象类
D)
11.
重载一元运算符
--
为类
A
的成员运算符,若有类
A
的对象
obj
,则表达式
--obj
被
C++
编译器解释 为
( )
。
A) obj.operator -- ( ) B) operator -- (obj) C) obj::operator -- ( ) D) obj:operator -- ( )
12
•以下有四种关于类的说法,其中不正确的是
A)
构造函数可以指定参数,但不能指定函数类型
C)
析构函数不可以指定参数,但可以指定函数类型
13
.面向对象程序设计讲求封装性,在
A)
结构
B)
数组
C)
类
(
)
。
B)
一个类可以有多个构造函数
D)
一个类只能有一个析构函数
C++
中封装是借助于
()
实现的。
D)
函数
A)
一个类可以有多个构造函数
B)
析构函数不可以指定函数类型,但可以指定函数参数
C)
一个类只能有一个析构函数
15
.下列有关
D)
在一个类中可以说明其它类的对象
)
,前提为“公有
基类的叙述中不正确的是
A)
基类的公有成员在派生类中仍然是公有的
C)
基类的私有成员在派生类中仍然是私有的
16
.以下有四种关于友元的描述,其中错误的
派生” 。
B)
基类的保护成员在派生类中仍然是保护的
D)
基类的私有成员在派生类中是不可访问
的
)
。
是
A)
类
A
的友元类
B
的成员函数都是类
A
的友元函数
B)
友元函数可以访问该类的私有数据成员
C)
类
与类之间的友元关系可以继承
D)
友元可以提高程序的运行效率
17
.
C++
的封装性是借助于
( )
实现的。
A)
函数
B)
数组
C)
结构
D)
类
18
.要将
--
重载为类
ClassN
的后置友元运算符,那么,要在类中添加的原型说明为
A) friend ClassN operator -- (ClassN &, int); B) friend ClassN operator -- (ClassN &)
C) friend ClassN operator -- (int);
19
.在公有派生时,下列描述中不正确的是
A)
派生类的对象可以赋给基类的对象
C)
派生类的对象可以初始化基类的引用
D)
当基类的指针指向派生类对象时,通过该指针可以直接访问派生类中的成员
20
.以下关于继承成员的
( )
。
B)
派生类对象的地址可以赋给指向基类的指针
D) friend ClassN operator -- ( );
( )
。
访问属性的叙述中,不正确的是
A)
基类的保护成员在私有派生类中是私有的
C)
基类的保护成员在保护派生类中是保护的
( )
。
B)
对基类成员的访问必须没有二义性
D)
基类的保护成员在派生类中是保护的
三、程序改错题
(
改正下列类中的错误
)
1
.
class ClassN
{
private
int nmember;
:
ClassN pmember;
public:
ClassN( ); int
}
ClassN(int x);
2
.
void main()
{
char c[] = new char [20]; delete c;
}
3
.
class MyClass
{
private
:
int n=1; MyClass pO;
public:
MyClass(int a = 0);
void ~MyClass(int a);
#include <iostream> using namespace std; void main()
剩余17页未读,继续阅读
资源评论
xxpr_ybgg
- 粉丝: 6545
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功