没有合适的资源?快使用搜索试试~ 我知道了~
c++期末考试判断题+填空题 (2).pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 11 浏览量
2023-02-27
20:10:23
上传
评论
收藏 1.3MB PDF 举报
温馨提示
试读
26页
。
资源推荐
资源详情
资源评论
学习资料收集于网络,仅供参考
判断题
1、对空指针不能用 delete 运算符。(错误)
2、对重载的函数,要求函数类型相同但参数不同。(错误)
3、任何一个对象只能属于一个具体的类。(正确)
4、用 new 运算符来创建对象时不会调用构造函数。(错误)
5、对重载的函数,要求参数不同或函数类型不同。(错误)
6、在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。(错误)
7、析构函数可以是虚函数。(正确)
8、无论什么方式的继承,基类的私有成员都不能被派生类访问。(正确)
9、要达到动态联编的效果,基类和派生类的对应函数不仅名字相同,而且返回类型、参数个
数和类型也必须相同。(正确)
10、如果派生类没有实现虚函数,那么它将使用他的基类的虚函数。(正确)
11、构造函数可以是虚函数。(错误)
12、指向对象数组的指针不一定必须指向数组的首指针。(正确)
13、对象数组的元素可以是不同类的对象。(错误)
14、对象数组可以赋初值又可以赋值。(错误)
15、一个类的构造函数可以不包含对其子对象的初始化。(错误)
16、在 C++中,既允许单继承,又允许多继承。(正确)
17、派生类从基类派生出来,它不能生成新的派生类。(错误)
18、派生类的继承方式只有 2 种:公有继承和私有继承。(错误)
19、在公有继承中,基类的成员在派生类中都可以直接使用。(错误)
20、在单继承中,派生类中对基类成员的访问也会出现二义性。(错误)
21、解决多继承下二义性问题的方法之一是使用作用域运算符。(正确)
22、作用域运算符(::)只能用来限定成员函数所属的类。(错误)
注:还限制成员变量所属的类。
23、析构函数是一种函数体为空的成员函数。(错误)
24、构造函数和析构函数都不能重载。(错误)
注:构造函数可以重载,析构函数不可以重载(因为析构函数无参数,不可能进行参数区分)。
25、说明或定义对象时,类名前面不需要加 class 关键字。(正确)
26、对象成员的表示与结构变量成员表示相同,使用运算符.或->。(正确)
27.所谓私有成员是指只有类中所提供的成员函数才能直接使用它们,任何类以外的函数对它
们的访问都是非法的。(错误)注:私有成员还可以被友元访问。
28、某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。(正确)
29、可以在类的构造函数中对静态数据成员进行初始化。(错误)
注:静态数据成员属于类而不管是否存在该类的对象,只有创建对象才会调用构造函数,所
以静态成员不应该在构造函数中初始。
30、如果一个成员函数只存取一个类的静态数据成员,则可将该成员函数说明为静态成员函
数。(正确)注:一般情况,静态成员函数不能访问类的非静态成员;非静态成员函数可访问
类任何成员。
31、使用关键字 class 定义的类中缺省的访问权限是私有(private)的。(正确)
学习资料
学习资料收集于网络,仅供参考
32、已知:m 是类 A 的对象,n 是类 A 的公有数据成员,p 是指向类 A 中 n 成员的指针。下
述两种表示是等价的:m.n 和 m.*p (正确)
33、指向对象的指针与对象都可以作函数参数,但是使用前者比后者好些。(正确)
34、对象引用作函数参数比用对象指针更方便些。(正确)注:不需要间接访问
35、对象数组的元素可以是不同类的对象。(错误)
36、对象数组既可以赋初值又可以赋值。(正确)
37、指向对象数组的指针不一定必须指向数组的首元素。(正确)注:指针可以移动。
38、一维对象指针数组的每个元素应该是某个类的对象的地址值。(正确)
39、const char* p 说明了 p 是指向字符串的常量指针。(错误)注:p 是指向字符串常量的指
针-正确。
40、一个类的构造函数中可以不包含对其子对象的初始化。(正确)
注:形式上可以,但本质会调用缺省构造函数对子对象进行初始化。本题有二义性。
41、转换函数不是成员函数,它是用来进行强制类型转换的。(错误)
42、指向对象的指针和指向类的成员的指针在表示形式上是不相同的。(正确)
43、C++语言中,既允许单继承,又允许多继承。(正确)
44、派生类是从基类派生出来,它不能再生成新的派生类。(错误)
45、派生类的继承方式有两种:公有继承和私有继承。(错误)//还有保护继承
45、在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。(错误)
注:基类中的公有成员和保护成员在派生类中都是可见的,基类私有成员在派生类中不可见。
47、在公有继承中,基类中只有公有成员对派生类对象是可见的。(正确)
48、在私有继承中,基类中只有公有成员对派生类是可见的。//保护成员也可见(错误)
49、在私有继承中,基类中所有成员对派生类的对象都是不可见的。(正确)
注:基类成员 public,protected 成员都变成派生类 private 成员了。
50、在保护继承中,对于垂直访问同于公有继承,而对于水平访问同于私有继承。(正确)
51、派生类是它的基类的组合。(错误)//不仅是组合,更重要的是扩充和完善
52、构造函数可以被继承。(错误)
53、析构函数不能被继承。(正确)注:构造函数、析构函数都不能继承。
54、子类型是不可逆的。(正确)
55、只要是类 M 继承了类 N,就可以说类 M 是类 N 的子类型。(错误)//公有继承
56、如果 A 类型是 B 类型的子类型,则 A 类型必然适应于 B 类型。(正确)
57、多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺
序。(正确)
58、单继承情况下,派生类中对基类成员的访问也会出现二义性。(错误)
59、解决多继承情况下出现的二义性的方法之一是使用成员名限定法。(正确)注:严格讲“作
用域限定”。
60、虚基类是用来解决多继承中公共基类在派生类中只产生一个基类子对象的问题。(错误)
注:“多个”
61、函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。(正确)
62、重载函数可以带有缺省值参数,但是要注意二义性。(正确)
63、多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的。(正确)
学习资料
学习资料收集于网络,仅供参考
64、对每个可重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数,还可
以重载为非成员函数。(错误)//“可以重载为非成员函数”不确切。
65、对单目运算符重载为友元函数时,说明一个形参;重载为成员函数时,不能显式说明形
参。(错误)
注:前面描述对的。此题不全面,应该是“重载为成员函数时,除了后置++、--,不能显式
说明形参。本题一般理解也可以按上面描述,此题考试不扣分。
66、重载运算符保持原运算符的优先级和结合性不变。(正确)
67、虚函数是用 virtual 关键字说明的成员函数。(正确)
68、构造函数说明为纯虚函数是没有意义的。(正确)
69、抽象类是指一些没有说明对象的类。(错误)//抽象类是指一些“不能”说明对象的类。
70、动态联编是在运行时选定调用的成员函数的。(正确)
1. 重载流操作符<<和>> 时,如果第一个参数的类型为 ostream 和 istream,那么这个重载
函 数既可以用于标准输入输出流,也可以用于文件流上。
对,ostream 和 istream 是标准输入输出流、文件流、字符串流的基类
2. 在同一个类中,可以定义重载的成员函数 void f(int);和 virtual void f(int); 。
错,这属于重复定义
3. 抽象类不会产生实例,所以不需要有构造函数。
错,被派生时需要它的构造函数
4. 类 A 有一个非静态的成员函数 f,其函数原型是:void A::f( ) const,则该函数被调用时, 一
定是通过类 A 或类 A 的某后裔类的一个用 const 修饰符说明的常量对象调用的。
错,常函数可以由变量对象或常量对象调用
5. 异常必须在其产生的当前函数中捕获,而不能在外层函数中捕获该异常。
错,可以在外层捕获,并且这是最常见的用法
6. 只要程序中没有 A a1 = a2; 和 A a1(a2); 形式的代码,类 A 的拷贝构造函数就不会被
调 用。
错,参数传递或函数返回时也调用拷贝构造函数
7. 在 protected 继承方式下,派生类对象的指针不能直接转换成指向基类对象的指针。
对,否则基类中的公有成员由不可见变为可见,权限被放大
8. 若静态成员函数中调用了一个函数 f,那么 f 一定不是虚函数。 对,静态成员函数不能
是虚函数,因为虚函数入口需要在保存在对象中的虚函数 表中,而静态成员函数不属于对象。
9. 若要实例化一个含有引用型数据成员的类,那么只能使用构造函数初始化列表来初始化该
数据成员。
对,没有别的办法
10. 构造函数的函数体中,不能使用 return 语句;但在实现该类的自动类型转化函数时,必
须 有 return 语句。
对
学习资料
学习资料收集于网络,仅供参考
1、C++中标识符内的大小写字母是没有区别的。 (F)
2、C++是一种以编译方式实现的高级语言。 (T)
3、在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。 ( F)
4、在私有继承中,基类中所有成员对派生类都是不可见的。 ( F)
5、返回值类型、参数个数和类型都相同的函数也可以重载。 (F)
6、使用关键字 class 定义的类中缺省的访问权限是私有(private)的。 (T)
7、类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。(F) )
8、C++中使用了新的注释符(//),C 语言中注释符(/*…*/)不能在 C++中使用。 ( F)
9、While 循环语句的循环体至少执行一次。 ( F)
10、引用就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。 (T )
11、类封装了数据和操作。 ( T )
12 、 在 类 的 定 义 中 , 必 须 包 含 private 、 public 、 protected 三 种 存 取 方 式 对 应 的 部 分 。
( F )
13、类中的数据成员不能为指针类型。 ( F )
14、析构函数可以有形参。 (T )
15、派生类至少有一个基类。 (T )
16 、 在 公 有 和 保 护 继 承 方 式 下 , 派 生 类 的 对 象 可 以 对 基 类 的 保 护 成 员 进 行 访 问 。
( T )
17、全局函数和静态成员函数也能声明为虚函数。 (F )
18、在一个类的对象空间里不包含静态成员的空间。 ( T )
19、友元本身就是类的成员。 ( T )
20、运算符重载后,原运算符的优先级和结合特性会改变。 ( F )
21、一个类只能有一个对象。 ( F)
22、在类中不能对所定义的数据成员进行初始化。 ( T )
23、类的公有成员函数是类与外界的接口。 ( T )
24、构造函数没有函数类型。 ( T )
学习资料
学习资料收集于网络,仅供参考
25 、 在 派 生 类 的 构 造 函 数 的 初 始 化 表 中 不 能 对 包 含 基 类 的 子 对 象 初 始 化 。
( T )
26 、 在 公 有 和 保 护 继 承 方 式 下 , 派 生 类 的 成 员 可 以 对 基 类 的 保 护 成 员 进 行 访 问 。
( F )
27、只有类的成员函数才能声明为虚函数。 ( T )
28、在一个类的对象空间里已经包含了静态成员的空间。 (F )
29、C++不允许将构造函数、析构函数和虚函数声明为友元函数。( T )
30、运算符重载后,原运算符的优先级和结合特性不会改变。 ( T )
31. C++中使用了新的注释符(//),C 语言中注释符(/*…*/)不能在 C++中使用。 ( F)
32. 数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数。 ( F)
33. 隐含的类型转换都是保值映射,显式的类型转换都是非保值映射。 ( F)
34. 宏定义命令是以分号结束的。 ( F)
35. While 循环语句的循环体至少执行一次。 ( F)
36. 返回值类型、参数个数和类型都相同的函数也可以重载。 ( F)
37. 函数形参的作用域是该函数的函数体。 ( T)
38. 静态类标识符在它的作用域之外是不存在的。 ( F)
39. 对象成员的表示与结构变量成员表示相同,使用运算符.或->。 (T )
40. 某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。 (T )
41. 对象数组的元素可以是不同类的对象。 ( T)
42. const char *p 说明了 p 是指向字符串的常量指针。 (F )
43、引用就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。( F)
44、无论是私有继承还是保护继承中,基类中所有成员对派生类对象都是不可见的。(T )
45、当 break 语句用在双重循环的内循环中时,它只能退出内循环到外循环中去,而不能直出整个双重循
环。 ( T)
46、 For 循环是只有可以确定的循环次数时才可使用,否则不能用for 循环。 (F )
47、返回值类型、参数个数和参数类型都相同的函数也可以重载。 ( F)
学习资料
剩余25页未读,继续阅读
资源评论
G11176593
- 粉丝: 6689
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功