奥鹏作业答案-谋学网-专业的奥鹏在线作业答案辅导网【官网】

 找回密码
 会员注册

微信登录,扫一扫

手机号码,快捷登录

VIP会员,3年作业免费下 !奥鹏作业,奥鹏毕业论文检测新手作业下载教程,充值问题没有找到答案,请在此处留言!
2022年5月最新全国统考资料投诉建议,加盟合作!点击这里给我发消息 点击这里给我发消息
奥鹏课程积分软件(2021年最新)
查看: 1490|回复: 2

东师C++程序设计17春在线作业2 免费资料

[复制链接]
发表于 2017-4-26 18:16:21 | 显示全部楼层 |阅读模式
谋学网
一、单选(共 20 道试题,共 60 分。)  V 1. 以下有关继承的叙述正确的是()。
$ r2 G1 {0 a; W: Q6 |6 i) }+ LA. 构造函数和析构函数都能被继承5 |- N% G6 @' I2 I- q9 }$ x$ _
B. 派生类是基类的组合! L/ |' g7 s* g
C. 派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员
/ K1 X; c1 X" c4 Y" N+ Q7 d2 oD. 基类的公有成员一定能被派生类的对象访问: F4 {' o& X0 k0 K. ~
标准资料:B
1 u, b6 y0 q5 V( y0 a; g; l9 C2.  下列函数中,()是对文件进行写操作的。
& ?  h9 y3 ^9 D0 m: E; Z% oA. get()$ S* L! V& i0 \+ X6 r% V: I
B. read()       
0 G- B" Z0 E7 \! jC. seekg()9 Q5 W2 X: }! t
D. put()
5 g4 K; {4 s1 w7 V. ~9 C6 I- |标准资料:D3 u) X8 X# A( G; ^, W8 z
3.  下列关于构造函数的描述中,错误的是()。3 r7 Q' f$ N: q' V, i0 ~* D  y
A. 构造函数可以设置默认参数;
0 V, U$ [2 v. O( SB. 构造函数在定义类对象时自动执行- j" D: @+ \6 G3 @1 J: L
C. 构造函数可以是内联函数
. E- L1 A% q4 \0 b# q- GD. 构造函数不可以重载5 d+ H7 `  z/ a" h; u( [4 e( i
标准资料:D
0 P1 ], y* T+ J: i% Q. m; V4.  下列语句中错误的是()。
" }1 H3 ~! W) E/ P0 fA. int *p=new int (10);- `$ j8 V1 W3 P8 q6 ^, Y0 a
B. int *p=new int[10];6 @" `, O6 n: y8 ?% y
C. int *p=new int;$ V% I6 x: i6 e0 f
D. int *p=new int[40](0);
$ s  |1 O. N+ X, K) ?5 C, M标准资料:D' T$ M# S# u, G0 }9 F4 B- w
5.  假定变量x定义为“int x=8;”,要使rx成为x的引用(别名),rx应定义为()。" }( v8 ^7 _/ u/ |; @8 b
A. int rx=x;
( s4 c) h4 m9 d" PB. int rx=&x;4 A+ _/ Z/ N+ h0 ^) d# D& \+ g
C. int *rx=&x;
# C! ~2 N& q  V2 G: ]2 ?D. int &rx=x;
% s1 d* ~6 P( n' Q  p4 Z标准资料:D3 N5 T0 n% x7 ^7 k
6.  不能作为重载函数的调用依据的是()。  S( W) t- w. I
A. 参数个数
/ L" x( c9 }, \6 S$ k/ E1 kB. 参数类型* w; A% l0 ~% x7 b+ L4 w3 r
C. 返回值类型
9 z+ N7 z4 m6 N4 RD. 函数名称
" R8 d- m- {' d0 e3 ?标准资料:C
* J4 P2 F8 n) Q3 f/ F7.  在下面有关静态成员函数的描述中,正确的是()。
* [$ `; ?- ?2 d1 t$ H% ?2 T7 _" `A. 在静态成员函数中可以使用this指针) C- M& P0 l4 f( ^4 [, s- k
B. 在建立对象前,就可以为静态数据成员赋值
# P1 N. A) R9 L8 O. B3 T7 lC. 静态成员函数在类外定义时,要用static前缀, H/ |& f9 {* E9 i. O& S# m
D. 静态成员函数只能在类外定义7 V; G  t- ~9 G2 n8 ?
标准资料:B7 I4 f  ?% Y: c! T3 g# R5 x( S  T
8.  假定classA为一个类,则执行“classA x(5);”语句时将自动调用该类的()。% o, i- a0 ~) H* E
A. 无参构造函数: x; U4 i: E: b$ i
B. 带参构造函数) d% v# }: o" Z
C. 复制构造函数9 k) d7 @5 U* H" L: s3 ~3 U
D. 赋值重载函数" d* _- }1 ^; G
标准资料:B
) G8 `9 E2 i: s2 W" t9.  静态数据成员的初始化必须在()。" o$ ~/ e6 t; \# ]2 J- M
A. 类内
" k/ L0 S6 m* E4 eB. 类外. }/ a/ l2 r! ^% d7 ~6 e
C. 构造函数内
+ F2 v# E/ o' O& VD. 静态成员函数内! e0 i1 x; r) |6 C" F) f# s* n* ]+ w
标准资料:B
" ]8 c- G9 l# M, m3 u6 R10.  若已知char str[20],有语句 cin>>str;,当输入为:This is a cat,则str中的内容为()。
& K; v2 H& q8 d* S- HA. This is a cat
4 [# `$ a+ F- x, nB. This
) `) c4 f: L& \8 w- ^) WC. This is: J1 ]& `; U8 Y1 `
D. This is a
/ X: ]& I0 u2 Y" R标准资料:B
$ O) m# C4 P# D4 g7 H1 Q9 {* p11.  C++语言建立类库是通过()实现的。6 y/ T$ R  q3 f
A. 类的嵌套4 L2 ^* M" A; Z* i0 D7 @
B. 类的继承
, R$ D2 `) q+ v0 B& m4 D% fC. 虚函数- R! j) ^& u2 J* ~3 ]3 P
D. 抽象类
8 [4 a8 z3 p& \8 E& b8 i) ]标准资料:B+ f" B' ^; [6 R9 j
12.  内部格式控制操作函数是在头文件()中定义的。% K7 x& ^* b* w/ ~* ^3 g0 ]2 t* {
A. strstream.h
' A6 L! s4 w6 y5 X& r: WB. iomanip.h
1 N( f, o# }, iC. istream.h
# p' e! q% p# e" Q2 nD. ostream.h
% [4 v5 t; @. g' d# K# g# F/ e标准资料:B: q" ?, r$ K* y- c) w1 |
13.  要使用动态联编,必须使用()调用虚函数。
1 ]& y% Z" K2 b. d; LA. 类名
9 B# A  R3 b# j: }1 i% [B. 对象名/ F* d0 x: l% |! Y  J
C. 派生类指针
0 R8 R5 a/ B' n: S% F, J& e7 nD. 基类指针: w* O% C# Y# {6 x, d, c2 u
标准资料:D' o+ M/ j7 i# M  @( R. G, d
14.  若有定义“int x=17;”,则语句“cout<<hex<<x;”的输出结果是()。
2 l% Z; a0 b1 X/ g' _# ZA. 11
9 I. Z& ]/ p7 h/ J! h- XB. 0x11
, |6 g- e2 P) JC. 21
7 W8 h+ {7 q/ t* XD. 021+ l* I; g. b1 J! a/ z% s' Z2 ~8 v
标准资料:A( s6 ~/ b# [2 e5 J0 V, I
15.  下面对类的析构函数的定义是() 。
' ]5 ~" [1 `/ n1 ^) L9 T& b; {( mA. X::~ X( 参数 );
& ?. s. P: X0 J9 \9 [B. void X::~ X( 参数 );  X  r) d3 c5 ?2 _9 d, A
C. void X::~ X();. i* ?: d1 j% h1 b
D. X::~ X();2 d, b3 X8 K. A- }2 r3 Z' A" L
标准资料:D
% i4 r6 ^6 p, b5 y16.  下面的类型声明中正确的是()。; A  J) ]2 N0 k/ q
A. int &a[4];
5 ]( e0 j: Z0 e  X: a8 n  zB. int &*p;
# o4 p+ V3 D8 u, ^& S# G& O5 JC. int & &q;  C5 X2 v# N5 R- ~% l) B
D. int I,*pp=&I;7 a* b% A/ ]4 g# p( k9 c0 c' x; F
标准资料:D" z7 A' j! ^+ {1 U, w, a0 x
17.  如有以下模板类定义: Template <class T> class sum { T a, b; Public: Sum (T x, T y); } 则在类体外定义构造函数正确的是()。! @: S- e) d" r: Y
A. template <class T> sum::sum(T x,T y) { a=x; b=y; }
- U; i1 U$ i, KB. template <typename T> sum(T x,T y) { a=x; b=y; }2 ~+ q) \' L7 \6 D2 Z
C. template <class T> sum<T>::sum(T x,T y) { a=x; b=y; }
8 j' p" z+ m( t; {& d  `, x) O2 a, K8 `D. sum<T>::sum(T x,T y) { a=x; b=y; }3 @& k6 ?% A9 l5 J4 j- \; Z
标准资料:C
9 P  g0 k  L) g' {9 O18.  类MyA的拷贝初始化构造函数是()。2 @4 [- [. |( n; k/ E6 R7 ?1 y
A. MyA()
& y5 n4 }! D* a4 N# B9 \B. MyA(MyA*)& x% b1 A8 s, r
C. MyA(MyA&)
) Z4 p- h- z: KD. MyA(MyA)% {: t3 z2 r$ z) q& C
标准资料:C: ^; T% K# X4 @- f6 z
19.  C++利用()实现面向对象程序设计的继承性。
' F% G% |: |( I9 x6 I8 f- Q# WA. 构造数据类型—类: U9 e9 i, H' s4 @% A7 M0 _% R, E
B. 类的派生机制
: Z7 z! w: L4 x1 n: N: WC. 构造数据类型—枚举
, Y3 j) U5 Y# Q+ E2 P7 H8 X- d( j2 FD. 函数重载与运算符重载
% e/ Q0 D% d% c, P# l5 w5 O5 X, q标准资料:B
4 U0 J' a! f2 E) l20.  C++的继承性允许派生类继承基类的()。
: x4 A9 U1 t' t5 Z- ZA. 部分特性,并允许增加新的特性或重定义基类的特性5 ]: n, K1 j- t4 L' c# @3 I' [
B. 部分特性,但不允许增加新的特性或重定义基类的特性4 Q- v* K! o2 D  L& d6 h
C. 所有特性,并允许增加新的特性或重定义基类的特性  r2 D: {% g' E6 o
D. 所有特性,但不允许增加新的特性或重定义基类的特性. ^0 b: f; y$ g
标准资料:C5 O7 n" b& X% N; }/ W2 |" ]* ]

& I2 d8 f+ s$ r) B/ i  S3 S7 _( h8 G, b2 u% A$ s9 F
二、判断题(共 20 道试题,共 40 分。)  V 1. 通过类对象可以访问类中所有的成员。
" S. k9 m& k4 S" j! EA. 错误
( Y/ F8 h/ v5 }B. 正确: p5 Q1 B- k' L6 f- B
标准资料:A6 F7 T* p) D! N3 m5 L, q4 J$ H3 i3 i
2.  使用inline说明内联函数时,必须使函数体和inline说明结合在一起,否则编译器将它作为普通函数处理。" r4 P2 i# o5 m# \. n; F, k6 M) r# N
A. 错误
* O: a$ x# X, S. zB. 正确, U* T0 Q4 o; E4 q% `8 v/ ?/ W
标准资料:B7 F& y1 F' Y' P, ~" y$ A, m
3.  文件流创建方式是打开二进制文件的是ios::binary。& `( I6 v* u) L- Q  S% k
A. 错误/ }( h. @+ L) g
B. 正确# R, F! R+ f1 r5 r
标准资料:B2 x& k$ }7 h5 i2 x9 r$ V
4.  在面向对象的程序设计中,将一组对象的共同特性抽象出来形成类。5 J$ Z1 p' M3 L3 n( J8 j
A. 错误
0 m( B7 G0 ]8 x, k7 ~4 K5 k+ uB. 正确
9 {! V& _/ ?0 L& h标准资料:B1 j4 m7 T  Q3 e6 j- m
5.  C++利用函数重载实现面向对象程序设计的封装性。
( @7 _. n! B( }A. 错误5 y4 w6 c. ]; \) C
B. 正确& e8 N& n" q+ t8 ^+ w, `1 ~$ f
标准资料:A
' ]* c! c9 {" X5 _' i6.  C++与C语言本质差别在于C++语言是面向对象的,而C语言是面向过程的。
& q. g9 c  [* U2 ?4 X* fA. 错误
6 l6 t$ b/ |. G% |B. 正确
$ c" V8 t) N/ S: k4 Z: `标准资料:B
8 R3 v: R& p* K2 ]  g, C% @& `7.  若有声明:class B: A{};则类B的继承方式为私有继承。+ x( N6 _) q2 u. f6 p& ?* A
A. 错误
7 K6 \# k; G; l$ m: s% g7 m- h/ z3 dB. 正确
( ~' V5 C, g) s& A8 p- m标准资料:B
* T  {% m% q- V7 S4 r8.  C++标准库中的输入输出格式操作符(函数)必须由输入输出流对象来调用。
; q- s2 E% ~" hA. 错误
7 L; d0 n8 p, F% \) c3 F! M" jB. 正确
( g5 `% _4 d. \+ q$ c8 Q- R& }标准资料:A
9 x8 Y) f$ A: g( C0 K9.  构造函数和析构函数都不能说明返回值类型,甚至说明为void类型也不行。
4 l. E4 v7 Q, V2 V. T. j7 {A. 错误
5 ?; P5 a- @- E2 L9 Y- A# ^B. 正确
  y+ b/ b9 m6 C' [标准资料:B
$ `* ^2 {3 O  \6 b" q10.  类A继承类B,则A称为B的基类,B称为A的派生类。
9 T% U0 O/ d& G& GA. 错误
- F1 l- q; S+ [& }: j  _( ]3 oB. 正确
) @8 L+ j: w' {% S" W1 @  E- r标准资料:A/ d$ K& H" g' @5 I5 v- m0 Y$ S
11.  成员函数体写在类的外部时一定要在类的内部保留函数声明。
/ m3 C/ \" s2 G  r. ?A. 错误: g/ |! C' e& w
B. 正确
2 T  L) m4 x' P3 K! C0 b% o# @0 c3 C标准资料:B* g  V6 Z2 Q5 Z
12.  ostrstream是向字符数组的输出流,istrstream是从字符数组的输入流。
" g0 d7 L" z: M( x$ _8 VA. 错误$ @  }( x% ]# ~# W6 t. k( S; l
B. 正确( M9 C8 w$ r$ Y; D; i- n  L
标准资料:B0 o. r$ P6 M" @4 @& J* o
13.  当基类的构造函数没有参数,或没有显式定义构造函数时,派生类必须定义构造函数。
, O8 S+ w5 F, Z! V* W# f$ Q1 _: hA. 错误: S! G& g/ p: E
B. 正确
8 f# B. ~$ j7 E/ W" B) j& E9 N标准资料:A
; ?3 \7 P2 c% O/ t14.  C++编译器能够区分重载的无参函数和缺省参数的函数。6 ]% R! s* x& T; p* a9 u! A
A. 错误7 H. D5 [* {' \1 c
B. 正确
5 C& U. T+ p6 g5 V$ }( t0 w标准资料:A
8 L: ^- X2 X; O" _. Q8 s) [$ ?15.  new和delete运算符不可以被重载。
3 |6 @+ [  e, b+ i1 ^A. 错误- r2 k# W5 p/ H9 {; W& {7 K8 B8 V' I
B. 正确
9 b: k2 n; U4 t% o& E标准资料:A
) Y3 ?) s" R8 z6 d16.  一个派生类继承多个基类称为多继承。7 i: a/ r' L9 L
A. 错误
9 M% ?8 j. l4 Z* v4 _8 b1 ^1 mB. 正确
0 g3 N1 P4 i! b9 j. B标准资料:B
! {# ~2 A8 i( B4 }! u17.  使用setw()函数时需包含iomanip.h头文件,而使用width()函数时需包含iostream.h头文件。
# l) m# j* G. x' b& ]A. 错误
; b/ t4 h" t; B# h5 x% LB. 正确
( M# ^" C5 C5 @& S6 i9 O4 v标准资料:B! Z8 o6 e" g$ g
18.  文本文件结束标志为EOF(即-1)。
/ l0 ?: j, T" s* uA. 错误! _, u$ h6 V: ]7 C7 K% f. e
B. 正确/ ~) P3 U& G9 c& y9 Z
标准资料:B# L7 G5 ]4 D, `& I5 ]; I% o
19.  拷贝构造函数使用本类对象的引用作为参数初始化新创建的对象。
6 x2 ^* `8 N0 v" ?A. 错误
) a; N, ?; V4 `* q5 M4 P9 pB. 正确* t, L0 E" z. }! O$ n2 O. z
标准资料:B: G8 g4 k4 u! b6 y$ W6 g, k; i* G
20.  为了在派生类中使用基类的同名成员,必须在该成员名之前加上基类名和作用域标识符6 q4 I' D  V+ x7 M" m0 @
A. 错误+ n5 a" c0 X" Z2 K+ G; }4 n
B. 正确' E0 {% e& _( e$ p: P" a
标准资料:B% e- u0 Q* D( {! W, Q! \1 F

& p& \. Y' U$ s1 ]/ t; j4 e) ]0 X4 Q7 K2 Q
一、单选题(共 20 道试题,共 60 分。)  V 1. 静态数据成员的初始化必须在()。
; L5 O5 B( H: Q! r" ~$ O* B% t" u) }A. 类内( }# F* \' i, ^3 @; e# O3 }; u# V
B. 类外
. b' {! }6 h6 ^C. 在构造函数内# C; a7 E% Z* P& t
D. 静态成员函数内2 B! x' i5 ^4 @3 s$ ?* I# R
标准资料:B; G* W+ ]6 s. L& A" R( P% E
2.  一个函数功能不太复杂但要求被频繁调用,应选用()。
7 `0 h- Z: ~" \9 g( @& SA. 内联函数
& ~5 L+ n5 m' _6 eB. 重载函数
( V. D8 L6 e' t$ ]+ H  }- SC. 递归函数
1 u, Q1 L" J0 @7 d. J3 Q' A0 w# kD. 嵌套函数' ]7 T0 H1 C$ U8 R
标准资料:A
$ U) K" V  e: o1 I# E, \3.  运算符重载函数必须以特殊的关键字()开始。* L4 |5 I7 g0 m% C
A. virtual3 ?- [' q- w% b$ w) A1 y$ [+ O
B. operator3 O- d9 }: B7 `$ D6 n
C. template9 ^- R% l* M) m( A0 A% z1 m
D. static2 X+ b) u7 D8 d% i
标准资料:B
# s% ?2 c- A) y! G0 ]' n/ B7 d4.  类的构造函数被自动调用执行的情况是在定义该类的()。
% Q' \# G9 J7 ?; Y8 f1 eA. 成员函数时* D2 N3 @1 {: M: ^$ v
B. 数据成员时6 N) Q- G6 D; i$ d! ?$ q
C. 对象时+ z( F  t# U; y3 P8 J) A4 ]' i
D. 友元函数时/ {% g7 M; l8 ?) @  o! f3 T
标准资料:C+ q6 W4 m; s2 c* E) ~, O7 p
5.  下列各种高级语言中,不是面向对象的程序设计语言的是()。
: Q* L# A( P" AA. C++
6 E& I8 g- Z/ D& kB. Java
7 Y" o4 H0 m9 \& M1 DC. VB' }) b( J- w/ o
D. C
3 a- w& |0 k) Q/ _6 H% t标准资料:D5 V: ~( ~' e! m# |2 S+ `$ j
6.  通常拷贝构造函数的参数是()。9 t# ]1 p  w0 j3 }$ a* h8 H7 V
A. 某个对象名4 e: D4 K  x% B* f2 c
B. 某个对象的成员名1 c2 |) ?6 n; L
C. 某个对象的引用名
, T) i- p. X9 TD. 某个对象的指针名4 O+ l) g: Y3 P
标准资料:C  I8 n" T& h, b. @* |& ~0 |, Q! F0 X
7.  当需要使用ostream流类定义一个流对象并联系一个字符串时,应在文件开头使用#include命令,使之包含()文件。$ L! V* G/ d9 u! t! R
A. iostream.h
6 o3 ?: Y0 q" }9 a1 l0 p2 u7 zB. stdlib.h: u% ?: q8 M+ ~  m7 n9 W. Z% g
C. strstream.h
& x% c) }& s) c6 iD. fstream.h
2 @  J  |) \6 H  M; R标准资料:A1 ?$ g8 w* t) X/ v
8.  在下面有关友元函数的描述中,正确的说法是()。
5 _2 H$ L" \/ I1 pA. 友元函数是独立于当前类的外部函数
1 g- s" A4 H9 S  X4 \; PB. 一个友元函数不能同时定义为两个类的友元函数
. W% i1 W8 [: o2 t" ZC. 友元函数必须在类的外部定义
8 E) J3 C4 v6 |2 d' q0 W$ D: O0 {D. 在外部定义友元函数时,必须加关键字friend# i, _7 ^* m1 j0 u! v/ C* s5 v* z
标准资料:A4 J# L8 S# P. O8 m9 N2 I
9.  使用派生类的主要原因是()。. A6 t4 i; N+ ~6 u0 |
A. 提高代码的可重用性
% z7 F/ P0 h5 H% E+ DB. 提高程序的运行效率, S6 G* {; K/ \
C. 加强类的封装性) i! U& c1 y+ p( Z# u( V) t
D. 实现数据的隐藏
% `7 f' v7 S) O, c# y" A标准资料:A; R, Z3 x: ?6 ^& G% y
10.  定义类模板时要使用关键字()。* U' l( O/ a( ]: J7 G
A. const- V. [% m( L1 D( `9 I
B. new
, I/ z: ^5 p0 o" `' uC. delete/ o" N/ k( [3 m, m: n3 P4 G! V
D. template7 d1 P) y: W: w2 ]/ @5 ^
标准资料:D# I! l; p5 E8 e: G( M3 i  n
11.  建立包含有对象成员的派生类对象时,自动调用构造函数的执行顺序依次为()的构造函数。5 g5 C$ R! U3 n# g
A. 基类、自己所属类、对象成员所属类2 u9 @" I) e& v4 Q* J$ J2 G+ H/ c0 u
B. 对象成员所属类、基类、自己所属类
) q9 B  s( M2 I- z! m6 }C. 自己所属类、对象成员所属类、基类3 [) V! V( B4 P& ?; P6 ^0 i
D. 基类、对象成员所属类、自己所属类8 {5 C6 `2 J9 W" {' M6 u9 a# Q
标准资料:D+ D3 t8 a8 T( h$ C% D, u
12.  下面对于友元函数描述正确的是()。- n, C# P$ }' E$ D$ F9 Y5 H
A. 友元函数的实现必须在类的内部定义
# f* s2 g5 O7 y) X( DB. 友元函数是类的成员函数
$ q$ x9 _, v# OC. 友元函数破坏了类的封装性和隐藏性* ^4 X& I9 v0 x$ j8 |: f! T, u
D. 友元函数不能访问类的私有成员0 T' \( V; ]: W8 j+ _
标准资料:C4 J0 U% ^6 K+ m% Y: m: F/ F
13.  假设已经有定义char*const name="chen"; 下面的语句中正确的是()。
/ Z4 f4 o) ]4 SA. name[3]= 'q';. F/ J4 y, _( D  i3 B0 r
B. name="lin";. F# l/ {0 ^5 @) k: ^. @# T
C. name=new char[5];
2 }& m) ~: [' xD. name=new char ('q') ;
5 F0 e) f" r4 t  z1 i5 X, x) @) O标准资料:A
6 j8 H# ^, A. O7 j9 R+ W3 u8 j14.  应在下列程序划线处填入的正确语句是()。 #include class Base {  public: void fun(){cout<<"Base::fun"<<ENDL;} }; class Derived:public Base {  void fun()   {_____________ //显示调用基类的函数fun()     cout<<"Derived::fun"<<ENDL;   } };, s8 F. E+ c& H3 S
A. fun();
! F5 I! j: `. Z7 M# F2 UB. Base.fun();6 H5 G/ u- D6 t& p  X* E
C. Base::fun();
" V) h& D- [$ D2 bD. Base->fun();" y& _6 D; Z3 E
标准资料:C
$ k) I6 \/ {+ [% _7 t, n15.  下列不是文件流类的是()。, K: v8 F. M5 Q8 T- ?7 h, s
A. ifstream$ N2 Q) ]* G6 ?0 G- p5 P
B. iostream
# a  Y- y) C: S/ S) ~9 `; XC. fstream  y8 K0 l% M4 W+ a5 g# G+ E
D. ofstream. ^. Q: i) o: K: L" e
标准资料:B
0 n$ F3 B* P; j16.  下列输出字符'A'的方法中,错误的是()。
7 D- T4 V" \1 z: g: y& Z) \# t0 M; BA. cout<<put('A');
6 I. s" @* b+ J# }, r- f7 H' T9 NB. cout<<'A';
( a9 Q2 l- s& m' s( P$ o# y# wC. cout.put('A');
' T& B8 b# f; V/ \. u# o6 GD. char a='A';cout<<a;
5 B: s- z# b8 ^# i标准资料:A4 ~/ C( j1 r) |' ?
17.  设有函数模板 template<class Q> Q Sum(Q x,Q y){ return(x)+(y); } 则下列语句中对该函数模板错误的使用是()。
3 C! W$ X4 r  a. O; B6 d' W: uA. Sum(10,2);* r0 N* _$ I% [, F% E" x( W8 `
B. Sum(5.0,6.7);
" ^( v3 m; }3 l- m* |5 wC. Sum(15.2f,16.0f);+ U5 X: \; u+ z/ A' A: m) X, k$ J
D. Sum(″AB″,″CD″);
6 R: W* R; o1 o5 j, @# F; _标准资料:D) o- S. c6 A1 ]6 s( h+ P$ P
18.  下列函数中,()是对文件进行读操作的。
2 V" l% W3 x& C  j7 `; s  pA. put
7 B' r5 h! B" `4 k* c) p. i- SB. read+ o$ k: ?" ]) S; B& Q% K2 f
C. write
$ w% W5 [0 z3 I2 ~" LD. seekp
" k* C0 R: D3 o标准资料:B
* `4 g$ j% t; ]19.  对于公有继承,基类的公有和保护成员在派生类中将()成员。# I6 G/ |0 y8 M7 P& l4 e
A. 全部变成公有( {* |. a6 P! F0 ^; ?3 M$ x
B. 全部变成保护9 P4 A- n5 O* b3 }. j& k  r. n' `
C. 全部变成私有/ y" v; Z! Z7 p9 O3 ]3 a) y
D. 仍然保持为公有和保护5 f1 Y- f7 Q3 d8 k5 M
标准资料:D4 x. h! i. q4 p' X, _
20.  下面选项中,()是用来声明虚函数的。
4 Z2 \- h* `4 x# q" y. O- `A. virtual( a; V; \1 H, Z. j: W+ U
B. void
" N: ~' ^: j) ?2 v5 w7 H8 V1 mC. static
" S: Y2 p' r8 n! V3 a: Q! N  ?D. inline/ S! Q: e' }  h: ?2 a5 t6 n
标准资料:A
7 z7 @! @! f- t7 ?% g: D: \: w
; [! q8 ^! [9 I1 ^: }& ?# m* W# f) p
二、判断题(共 20 道试题,共 40 分。)  V 1. C++用操作符new和delete来进行动态内存管理(分配与释放堆内存)。
0 k  P0 ~- Q4 W# s( N5 }8 SA. 错误" Z$ K: r' j& L5 u
B. 正确
. |4 o, K" y; V- w9 c- n  y标准资料:B" d# w) u8 x6 q  U: @' E
2.  建立包含有对象成员的派生类对象时,自动调用构造函数的执行顺序依次为基类、对象成员所属类、派生类的构造函数。
" X. W& k) ?- [; ]& kA. 错误
5 z- I- j7 M9 dB. 正确" ^: y/ e  g% h8 E4 g
标准资料:B
5 E( C, f' n5 M/ v9 K* h4 j3.  C++不允许定义有默认参数的函数。, E" M( u: V  X9 Y3 i! n
A. 错误
% r2 G# w  P% H% i# hB. 正确% g1 t7 F' @- a" J2 F- X
标准资料:A
" g% v$ `+ ]) ]$ {  y, P4.  用new分配的空间,使用结束后必须用delete显式地释放。
5 K& O) R2 u' }$ _# tA. 错误0 S% @, I+ [* s( q
B. 正确
+ ?% W& I  a6 K' F标准资料:B' ], \6 O- X7 S* y% X! T
5.  构造函数和析构函数都可以是虚函数。$ V: M3 h) V' N+ W( Q3 n
A. 错误3 r' K3 u- p" m1 a7 |
B. 正确
0 X. M9 D% l' I" T9 h% D, i标准资料:A- {" R% I9 z6 P( A+ a+ J
6.  如果要在程序中使用IO流库,应包含头文件iostream.h。
, L$ w) F3 s+ i: }A. 错误0 v$ g  c+ j: Y5 R3 ^" p
B. 正确# T3 |+ {* T0 C5 C  {8 n4 Q) z: j
标准资料:B
) ?- O" p5 e) c" y; s7.  成员函数体写在类外部的一定不是内联函数,写在类内部的一定是内联函数。
3 j1 @7 A: Y! [  x# @1 P5 `A. 错误
* G5 V% ]+ H( Z7 W: YB. 正确! g  e! o% `0 u6 Q* ]# D
标准资料:A9 ^" \4 J( ^6 _7 Y
8.  ios类中的格式化输入输出成员函数必须由输入输出流对象来调用。
" X8 r' z; k# _+ k0 e- wA. 错误6 h' D* j3 Q1 e6 H5 j
B. 正确
; G! v. J5 z$ E. T7 X% |" z$ f标准资料:B5 x8 X( L7 M2 B2 g4 P" }; E8 [' A
9.  一个类可以定义多个构造函数和多个析构函数。1 @" F0 b  d7 l  C: A# a8 B. e
A. 错误2 `/ Y  ]+ J( S9 \
B. 正确* @* ^; y' Y! t: P# ]; v
标准资料:A
+ J7 w7 k* G# U9 A' |3 H- S10.  用对象访问成员时应使用运算符“.",用指向对象的指针访问成员时应使用运算符“->"。3 x& K) h" l6 h8 B' r
A. 错误
# C8 J+ b, d7 E& P3 [# W$ v7 k4 tB. 正确
* Y# ~5 \. k+ j. }2 H# p. N2 R7 {0 T  B标准资料:B3 a: w* \1 z/ k- z
11.  若有声明:class B:virtual public A{};则类B为类A的虚基类。$ z" j6 y3 a( @1 l2 g% f
A. 错误2 C+ d) z, i7 b! f( }  k
B. 正确
* Z* o( x$ M) t7 o  A  e: y$ e标准资料:A
7 u) F/ k5 ], K9 h9 j12.  cout是I/O流库中预定义的输出流对象,cin是输入流对象。( a" L1 l5 b4 I/ Z5 m
A. 错误
$ ^6 Q2 X) _  s$ D+ c3 PB. 正确- j* y9 Y7 E' [' A# U  h$ {
标准资料:B
8 j7 F& o) R* [: a- K  R* A13.  若有声明:class C: public A,B{};则类C公有继承自类A及类B。
; t  D3 o3 f/ n/ z# F1 SA. 错误: B" m9 U, d: _' W- B  [- l' `
B. 正确
, H+ F5 h: `5 C% l3 X标准资料:A
  W. y( A# A: ]/ X8 ?0 y14.  若一个类A,它的两个直接基类是从同一个间接基类派生而来的,则类A对基类成员的访问会产生二义性。$ F: }& f0 g! G: @$ j
A. 错误" I3 P% I$ a- ^+ y  g
B. 正确
0 i- O4 t) [! Z2 a. b& a标准资料:B
" I# V% h( o1 {7 A% l& _, J% C# m0 P0 e3 Z15.  new和delete运算符不可以被重载。, i! }  A# E1 @% b1 r5 Q
A. 错误* S6 q2 Z: m; j; x0 p7 F
B. 正确
; S" j, j, j6 w7 `. w/ N" W/ C+ a, z标准资料:A9 o% b; g7 ^  O) a- j" @
16.  在文件操作结束时,可以用close()成员函数关闭该文件。2 A5 \! f5 \" S  [( q( a8 Q
A. 错误" Q9 p5 g* c8 U( s* W
B. 正确9 Q( J0 M! L7 Y& j0 ^9 R8 e! p/ S1 A
标准资料:B0 H* E( o% m  ~
17.  拷贝构造函数是在用一个对象初始化另一个对象时被调用的。
8 S3 Z/ X) U8 Z- C( nA. 错误
  a7 j5 w$ E7 fB. 正确$ U; m' N. V7 w1 w, y0 W
标准资料:B; U. n" o! Q. h0 y, N
18.  函数重载与运算符重载都是编译时的多态。5 Z2 q* e  Y1 T9 p2 m. L) E
A. 错误
* l4 y# v' F2 l" zB. 正确
, a, a8 C' V$ e& L标准资料:B
0 N/ k% i4 ^/ j19.  凡是用inline说明的函数一定是内联函数。
/ U1 }9 r! \! F. G$ ]A. 错误/ W  I5 G$ b5 |% R- ]
B. 正确
! a1 e$ r. e. L- W0 }6 I标准资料:A
. ~; L% m- O3 U) H4 j: c20.  C++利用类来实现面向对象程序设计的继承性。) q$ U( e, j9 @; o* ^
A. 错误
( V- m3 _2 J- h  d4 pB. 正确- \  O4 U9 f4 t2 m: L
标准资料:A
. A* \4 M" ]# j4 `0 i' A' ?: O5 l3 E( T
5 b7 c, h" y( \. o6 H* Q
一、单选题(共 20 道试题,共 60 分。)  V 1. 下面的类型声明中正确的是()。5 ]+ H# u- _2 z  _  F  f8 ]9 L( ^
A. int &a[4];# |' Y% g; W8 w, A: z' [
B. int &*p;
2 _7 }( Q6 `* G4 d! }C. int & &q;6 g) N7 n. u0 s) E6 F
D. int I,*pp=&I;  S! g4 o% D$ U! D  a( p6 a: Q
标准资料:D
# I1 k+ G' N7 Q0 E; u2.  如果类B在类A的基础上构造,那么,就称()。
: H# r0 u& h% ~/ M, ~8 O7 ^5 H# TA. 类A为基类或父类,类B为超类或子类
* \4 N( ?* R# x: t' m- _& E/ ]B. 类A为基类、父类或超类,类B为派生类或子类# m1 t8 g8 Q- b! n! }
C. 类A为派生类,类B为基类
$ K, z8 Y6 P, q7 n4 g; {D. 类A为派生类或子类,类B为基类、父类或超类
) E+ I  O0 A% ^0 G& t6 ^, X: m标准资料:B8 y) U. _0 e' C- c. W: i! H
3.  如果在类A中用成员函数的方式重载了前缀自增运算符++,又定义了类A的一个对象a,则以下用法正确的是()。
  N$ p* w; p( P0 t$ PA. operator++(a);
5 O, G+ |6 U9 i- h" g9 QB. a.operator++();0 T* Q# [5 c$ {  i4 u& P* c
C. a.operator++(0);
: u4 L7 ^( n/ T4 F3 ~5 Y1 m+ K" N, pD. a++;. g- X% z' Y8 g! K! {8 ~
标准资料:B
0 g4 w% J$ V$ |$ v6 x4.  定义类模板时要使用关键字()。4 r. m- J3 a+ |, E
A. const  K* }$ Y6 ?- ^% G4 Q6 B9 n
B. new
9 J. N2 x2 o; C7 P( r/ sC. delete  a$ e3 m  k" f/ S! r2 D1 E* V
D. template8 |) }: }) b  V! t7 i
标准资料:D
1 p( v2 o! O+ I8 ]: }( k% d2 y5.  设有函数模板 template<class Q> Q Sum(Q x,Q y){ return(x)+(y); } 则下列语句中对该函数模板错误的使用是()。# h( e8 y' }4 j% w1 U* K- u
A. Sum(10,2);( G1 s/ V$ c, c1 h
B. Sum(5.0,6.7);" w4 M3 V9 \0 A0 S0 d! R
C. Sum(15.2f,16.0f);
0 c0 K2 P$ v) R, ?7 [# u. [D. Sum(″AB″,″CD″);6 i. P* h& y  L9 R( i1 K' h
标准资料:D- z% K+ Y- E2 T$ e
6.  编译时的多态性通过使用() 实现。; ]: H; U  e0 g
A. 构造函数: R! D: R$ g, M& i- H; e, P+ y
B. 虚函数
. D* N0 @7 V7 P. k$ J0 p4 iC. 重载函数
3 Q: @' X5 W) k/ p0 YD. 析构函数
; {  R! b! @( v6 U) N1 i% a标准资料:C
1 x* \5 K7 w+ K- J+ v4 h1 B7.  决定C++语言中函数的返回值类型的是()。: ]2 `% y5 ~' W, ?" i3 q
A. return语句中的表达式类型
% L7 c! E1 f' `1 G# K& UB. 调用该函数时系统随机产生的类型
( q5 p! x* x( z5 Z' FC. 调用该函数时的主调用函数类型. v' x2 e8 t9 a' l8 q5 L/ _
D. 在定义该函数时所指定的数据类型& q( U% n: \8 y" Y- B" c9 v* W
标准资料:D3 ]$ w% @' I9 V' R0 ?2 X
8.  要使用动态联编,必须使用()调用虚函数。, }+ V: d/ ?; v: p/ }
A. 类名" d, H+ k$ f, N
B. 对象名  q" n* V# W. e; I( `. `
C. 派生类指针
# B$ V5 |+ s! L! l0 TD. 基类指针7 b7 q+ |9 j- b6 F
标准资料:D
# G) s# b# z% f9 I- X3 M% g) {9.  静态数据成员的初始化必须在()。# v0 A$ a8 O+ n( N8 ?7 i
A. 类内+ a/ h) J1 q/ ?$ H  A/ j, |
B. 类外( _* _0 B) E2 \& K8 W
C. 构造函数内7 o6 J, ]6 O/ O: K
D. 静态成员函数内
4 b0 z! W" O6 @' y标准资料:B
+ H7 P' k# U1 d4 D! {* `' @2 Z10.  在下面有关静态成员函数的描述中,正确的是()。' J3 J3 o: Q* ^9 Y/ J
A. 在静态成员函数中可以使用this指针
; b+ b! ^3 k7 G6 E: S: kB. 在建立对象前,就可以为静态数据成员赋值
0 c. `; f0 P8 h7 ~) }C. 静态成员函数在类外定义时,要用static前缀
: [1 x; P5 d/ N. H0 h* u/ iD. 静态成员函数只能在类外定义
3 ]- `# R/ Q4 ~* ]9 S标准资料:B
, C& b9 o3 q) h$ j$ ~% \11.  所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()。
8 g2 G/ y$ ]! f4 ~" y) J, B7 d8 Q: j; NA. 类
7 y& c- g' w1 m% g: Q/ O5 A- B* D( {B. 对象6 G9 X- u$ o. t. ?6 M# x$ P7 s' u
C. 函数体
8 N/ M0 w8 z& P% z- Y7 x. {D. 数据块- O- m' K, X, R* O. t
标准资料:A
, i2 j# F$ K. u. s* _& _2 d; y5 K2 R12.  下列关于运算符重载的描述中,正确的是()。
6 u; P. e3 _7 ]/ HA. 可以改变运算符的目数& `  w/ o% `4 Z7 }' S3 e
B. 可以改变运算符的优先级3 L3 _; P; d$ p
C. 可以改变运算符的结合性
" C0 ]3 o7 @/ E+ }/ N" ]/ iD. 可以改变运算符的功能
; k1 ]% M5 ~% }7 N) Z' p% o. p/ S+ j标准资料:D6 e/ V+ d# W; e" _, f: B& e+ a  ?
13.  下列()可以是虚函数。) y  G8 c& s2 s; Y$ U
A. 构造函数
9 w: @# Y" {9 v; _# d, }& rB. 拷贝构造函数" e2 J8 e* w5 h% z7 b! e
C. 静态成员函数
# K: ^4 B. J/ \' W. p% WD. 析构函数
8 k; `1 N7 X( i标准资料:D) R0 w3 b. d7 A
14.  通常拷贝构造函数的参数是()。* U. A# \$ u* g3 B
A. 某个对象名4 y4 L* o7 [1 ?5 ^
B. 某个对象的成员名( K; h; w3 i, T# a, f- x
C. 某个对象的引用名
6 v' Z2 n. p8 MD. 某个对象的指针名
) H" U) M8 S4 [  F标准资料:C
+ A6 I) m) @0 a4 ?15.  下列()的调用方式是引用调用。* R+ p) n+ ?5 e6 P! V8 F8 h
A. 形参是引用,实参是变量
# a# Y" }, X, u; k3 B0 |6 x/ c$ SB. 形参和实参都是变量
# J, I# [) r1 r4 w! I* x" V4 q0 AC. 形参是变量,实参是地址值
1 F# Y8 A" D4 d! Y' v1 i  bD. 形参是指针,实参是地址值
2 G6 f: n- M$ ]; t0 b标准资料:A
5 P5 U( q: m0 E! {: k& e$ y1 y8 ?16.  C++语言建立类库是通过()实现的。
* P/ c) h  a# M8 ?; D/ `A. 类的嵌套# G, g' F4 a5 j
B. 类的继承
5 `! s& Q' S6 E, j  b, ~: bC. 虚函数- |8 o+ b7 k+ O6 N- Z3 ]
D. 抽象类
6 f# k9 J* u% `& S+ b- m5 u" ^标准资料:B; y9 P+ V2 S4 Q! a! v0 E
17.  下面程序的运行结果为()。 #include class A{ public: A(){cout<<”1”;} ~A(){cout<<”2”;} } class B:public A{ public: B(){cout<<”3”;} ~B(){cout<<”4”;} } void main(){ B b; }
. e3 k' e4 V' ~A. 1234
1 z. }. S7 |. h5 s1 MB. 1324
' ~6 `9 {! K/ m' ^7 a2 J& W+ rC. 1342
1 L3 i" @) \! V2 {9 N  dD. 3142
( w( {. k: O! e' k/ R标准资料:C
/ V3 l& U7 m* o8 E7 j& T1 o/ ~18.  如果在类A中用友元函数的方式重载了后缀自增运算符++,又定义了类A的一个对象a,则以下用法正确的是()。
; v1 L% W% v' M) s- dA. operator++(a,0);+ z5 ~9 {4 H( ~) H
B. a.operator++();
0 K7 h8 K1 f( {# H9 V& lC. a.operator++(0);
( l/ i" D, ^1 b+ Y# i9 A& w7 u1 P3 bD. ++a;/ o- @7 t$ [1 S
标准资料:A
( R* g: ]6 @: z) o8 _8 ~19.  如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,则采用运算符函数调用格式,该表达式还可以表示为()。0 [& s! S0 V% ]' x9 S: r( B  P
A. x.operator++(0).operator*(y)7 j7 s# G) C4 I" ?
B. operator*(x.operator++(0),y)
0 _5 ?! a5 g1 V7 AC. operator*(operator++(x,0),y)0 Y! n" Q( r8 d5 w
D. y.operator*(operator++(x,0)), e  s* f8 Q# w$ f. B
标准资料:D
8 V. \* ]1 O+ g) u20.  下面对类的析构函数的定义是() 。7 o1 ~; e# N* Y7 x3 g5 D
A. X::~ X( 参数 );+ Z: \( g9 p1 c; j7 C
B. void X::~ X( 参数 );
; S; W- i  X& F8 |( GC. void X::~ X();$ c& |8 z+ i1 G- ~1 l6 N
D. X::~ X();5 {& B2 u  m4 s+ |5 B: Y: p5 }8 z/ j( G
标准资料:D7 u- X' a- o# l. x

: F$ U! `0 d- p
. e5 L  q. ?% ^! `& ]; d5 N" a 二、判断题(共 20 道试题,共 40 分。)  V 1. 如果一个类至少有一个纯虚函数,那么该类就被称为抽象类。
4 J$ g6 P% V% I: u4 G1 i/ sA. 错误: I8 G) h# F# s% B5 \! `. T! I
B. 正确( d! l/ ~1 }% |: N; u* n
标准资料:B
& z. t% a" f2 h# u& E2.  编译时的多态是通过静态联编来实现的,运行时的多态是通过动态联编实现的。" B2 R5 D: l% m% l
A. 错误- T0 H. T) C( s' A- `3 [
B. 正确9 l- f% T# m8 ?4 ?9 ?/ }7 Z
标准资料:B
/ i- X* r' P$ t. ~3.  类成员是按照它们在成员初始化表中列出的顺序进行初始化的,与它们在类里被声明的顺序无关。, w4 i1 i  |' A/ ?/ A' y
A. 错误0 W( I# K- u( e  `
B. 正确3 j0 r& ]  N6 T+ ?/ u4 y
标准资料:A
  m4 r7 J8 ?1 D. l4.  cout是I/O流库中预定义的输出流对象,cin是输入流对象。9 x! l5 g/ w( u: R3 @
A. 错误
# E& M7 L' t2 B( K$ R; Y' NB. 正确
' Q: b9 x5 E2 N: E0 ?6 c" L标准资料:B. d/ t: U; W; K, B* K( C0 R
5.  析构函数是不能被派生类继承的。
* G. d8 b  C* M/ \: ZA. 错误
7 X: e3 g, i1 p) H* yB. 正确
: C/ K% A8 ]8 ?标准资料:B
3 F( g# r. b. D7 m6.  数组中的每个元素它们的类型可以是不同的。
6 X7 U/ d/ B) eA. 错误
- t, G8 m5 R) W' gB. 正确
/ L- s8 ]3 p- f4 o9 z2 o& x7 T3 b标准资料:A
& e# q) U: X* f2 h7.  类是一组对象的抽象,而对象则是类的一个实例。
* _2 D' \; x% T/ O# _1 Y' mA. 错误
' K$ W3 }) c$ i- R: Y# l" xB. 正确
: b8 M, {& j# O3 ^2 A1 j标准资料:B. h5 A' M# I  h8 u4 O
8.  成员函数体可以写在类的内部也可以写在类的外部。; t* q/ @5 p$ H! ^7 {
A. 错误
  a- q$ {3 k! f' F0 ~9 j9 HB. 正确
3 L/ D; C) _+ h4 `. X) B标准资料:B
9 o; G) A- w/ X9 x4 A4 M9.  无论什么方式的继承,基类的私有成员都不能被派生类访问。- c4 ?1 X+ b  n: i# w) A$ ?) g9 }
A. 错误
. V  H+ B1 |) @5 B; fB. 正确2 v  }* F+ W7 U" v' T
标准资料:B, M7 c8 ?1 U9 X0 |# i
10.  在删除一个动态对象时,将自动调用该动态对象所属类的析构函数。3 G, N: u/ C. T8 |# ]# {) X7 p4 Y
A. 错误0 {, j5 M  V- \2 S0 f6 w
B. 正确
# m8 Y; R% d9 |3 L2 H: U标准资料:B8 ~  I: ?% g3 j& m/ m
11.  C++流类库是用继承方法建立起来的,它具有两个平行的基类,即istream类和ostream类,所有其他的流类都是从它们直接或间接地派生出来的。
- Q+ x9 B# u: z1 a! i' qA. 错误7 }& K' H: V- F& B- H7 n
B. 正确5 {- ^4 o- o/ [* S. h& B7 u% G0 Y( ?
标准资料:A3 N5 T+ A2 o4 R: ]
12.  若有声明:class B:virtual public A{};则类B为类A的虚基类。
, ]6 d) \) Q" S  V8 JA. 错误3 `: }( P5 s  r; H: t5 a# k# I; d  R/ m
B. 正确1 X; @5 V2 T3 ?' f1 v6 R* A+ g% J
标准资料:A
) H5 J' I* _! C5 v, _- w' p13.  不能在类声明中给数据成员赋初值。# f, T7 U& P, N9 [6 R# M% g
A. 错误
/ U0 c. u& f2 f& z) s% @B. 正确
( t# a9 b) ~+ ?2 h) g标准资料:B
) p, J$ W9 ?  [14.  C++中,对象保存在内存中,栈内存是自动分配和释放的,而堆内存需要用户自己申请和释放。
! G3 Q9 F. w! m9 t( m3 z+ r- nA. 错误2 I' v3 g- u$ I3 b4 t9 `
B. 正确3 Q* h2 V( P" H- Z; V
标准资料:A
) ^; k6 n( @# x" E8 J15.  this指针是一个const指针,不能在程序中修改它或给它赋值。! c7 r  L+ @* g
A. 错误
& x9 E5 X' B5 L. @2 o/ LB. 正确
% A/ J3 J, ]- v6 R% x& o: ]标准资料:B
4 q3 |( @; K: w$ l16.  C++不允许定义有默认参数的函数。
' w, @* j+ r* S1 [) `) cA. 错误
0 `' d) G) H4 t8 e/ D/ SB. 正确% d: D, K/ s0 }( @; t# D7 C
标准资料:A
1 d5 w- S; c$ G$ T  |5 j17.  只要一个类定义了一个构造函数(不一定是无参构造函数),系统将不再给它提供缺省的构造函数。& A3 E$ A* ~: s3 U1 ~" L
A. 错误+ g3 y) M: j! q9 _' Y0 J
B. 正确
- Y2 W- }: y# e# O9 i标准资料:B
1 k6 ~! K  y% i9 C18.  ifstream是用于读文件的文件流。
. a% x( ^  C1 h, DA. 错误  o- ^  W6 N2 g# H/ P
B. 正确. O( k. r9 J+ f. j1 R) K
标准资料:B
" b1 e( i; ]+ e' L19.  函数模板是基于不同的数据类型完成类似的操作,而重载函数则是对不同的数据类型完成相同的操作。
  {9 \8 J. c  N2 T( B7 A0 dA. 错误0 n1 K6 C+ T$ ], b' X
B. 正确1 p. V1 {% L8 Y% S- B0 f
标准资料:A
* V2 E9 E, K) Z! J# a6 T& I  Q1 C20.  构造函数和析构函数都不能说明返回值类型,甚至说明为void类型也不行。+ a+ O- S) o  i7 |* X/ W* p
A. 错误
2 {7 y' V9 K! V! l9 v9 M3 N4 \( M  JB. 正确1 H. M% i% k) Q* F
标准资料:B7 Y' Q/ f  x+ T- X% Z" [  d8 q

! b  k4 J5 P* _" q' r# F
' J. }3 i, `  @0 U9 S& l* ` 一、单选题(共 20 道试题,共 60 分。)  V 1. C++语言建立类库是通过()实现的。3 g* E2 V) E0 X/ ?( _2 p
A. 类的嵌套/ e5 R) F" ?; x
B. 类的继承  j% W. }9 E4 y& w5 W( c% c% e+ l
C. 虚函数
+ m8 s8 _- ?' h* GD. 抽象类
* C# h" a& x- K/ ^* t标准资料:B' d% q# \& [8 C$ q
2.  静态数据成员的初始化必须在()。
& [" z4 j& U9 s* Q2 OA. 类内
  x- C! A& t5 }2 f6 [% I, nB. 类外( m; A. ?% U" \+ c. d- ~6 p
C. 在构造函数内
; z5 Y7 K) Y, v# h  r8 \- q# hD. 静态成员函数内1 i" H4 I# i4 F. m$ U8 S
标准资料:B
2 k+ l$ s( k$ e- W5 ~' L3.  在声明类时,下面的说法正确的是()。7 P1 [3 `3 ^$ E* Y" M2 \
A. 可以在类的声明中给数据成员赋初值, f8 }9 d* v$ J. o9 S0 @
B. 数据成员的数据类型可以是register8 ?: P+ z$ ?  \+ i: G$ g
C. private、public、protected可以按任意顺序出现
. {6 t" F* ?% g4 [8 R+ g# x# TD. 没有用private、public、protected定义的数据成员是公有成员
: c8 x) {3 ^; f  g标准资料:C" L$ z* P& n* }$ t( T) {
4.  关于成员函数特征的下述描述中,()是错误的。
% h" W% Y$ O9 ]- Z1 U1 n% tA. 成员函数一定是内联函数& p2 Z( y  P% b
B. 成员函数可以重载# d4 r! z5 T" L& ^" Z
C. 成员函数可以设置参数的缺省值
( y. D2 D) M. R0 p7 {' Q. mD. 成员函数可以是静态的
4 o9 M# ~+ ^+ B+ U7 n* B) U4 |' J标准资料:A5 ]  }: ^8 t9 t3 L, T) @3 @
5.  下列语句中错误的是()。) N1 H* z; o" ?* |
A. int *p=new int (10);
: s- _) @+ A7 \4 eB. int *p=new int[10];
* R, \: i1 D. o, e) EC. int *p=new int;
# i) U2 C- n( h" Y4 J1 z, oD. int *p=new int[40](0);
( S8 F! X5 d) }2 p9 n标准资料:D
" Z6 t) @2 k6 N. ?6.  关于void指针,下列说法正确的是()。
) b+ Q; s# z/ i$ W7 HA. void指针就是已定义而未初始化的指针
0 O# z9 K5 R2 jB. void指针就是未指向任何数据的指针9 V1 B: P0 \! v9 \6 _1 S# E8 Z; u
C. void指针值可以直接赋给一个非void指针' _3 V  h4 i0 O, Y
D. 指向任何类型数据的指针可直接赋值给一个void指针1 |2 g3 [& b% S; R
标准资料:D  h4 l" m- W; B0 f3 o
7.  在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是()。
: ~5 z3 e) ~+ k9 r9 t! fA. int Fun(int x){return x*x;}
0 U4 h7 X2 o  W+ cB. inline int Fun(int x){return x*x;}# c1 ]8 Q# _' k5 f, D$ k- j- U" b5 _
C. int inline Fun(int x){return x*x;}
2 c8 b/ O: d4 @  ZD. int Fun(int x){inline return x*x;}
/ A" u$ Z1 B) L- N- H标准资料:B
6 `( a# }2 H' N/ p8 u$ T8.  对于一个类,可以利用关键字()将一般函数、其他类的成员函数声明为该类的友元。7 G5 ^5 ?. ]: J$ @9 s4 f! D
A. public* p6 v: d2 {6 R, @/ i7 F
B. private
, C' n* Y9 S( A  B7 x% J' f& GC. protected8 L  ^4 W" z, e6 X$ {% j, _  A( I
D. friend- k" d+ Q% i) T: K7 @
标准资料:D
0 F1 H- T# }7 `& K2 p; O& z0 e) T9.  编译时的多态性通过使用() 实现。
0 h8 g! S( \4 K0 ]! y, `A. 构造函数
" k: [- m; w8 f& X$ bB. 虚函数" q1 t3 z% y( D) j8 F
C. 重载函数
9 K9 C" T& T! X5 T. dD. 析构函数
5 A' O) `8 B" v标准资料:C& p1 F7 Q) ^/ u% `- _8 u
10.  在函数声明中,()是不必要的。
; Z( Q1 M6 p5 z# m; iA. 函数名# y$ O) o2 g4 }, P0 `7 F4 {
B. 函数类型
, E8 X3 }- f/ p, P$ {C. 参数的名称- d  y$ {7 P( |- p% J) C
D. 参数类型
& c: z# S. s0 a: |7 c) A/ K- b标准资料:C
+ h: F! i( Z- H- ~11.  假定classA为一个类,则执行“classA x(5);”语句时将自动调用该类的()。
6 L8 _+ D( D9 i, {A. 无参构造函数
$ Q0 R4 _  \0 M: w) M6 EB. 带参构造函数6 b; H% f' s! r" ^; A" m% X- r
C. 复制构造函数. X( `- F% w; P: a( f1 J
D. 赋值重载函数
& R3 B& c+ x! c1 _; L标准资料:B
# a7 w- \; v' p  X2 z$ w12.  假定classA为一个类,f()为该类公有的数据成员,x为该类的一个对象,则访问x对象中成员函数f()的格式为()。( f% q9 @7 H# Z$ S% s+ v3 Q4 @
A. x.f5 }8 D* ~7 l; U9 W/ {
B. x.f()
7 `, Y5 G! x7 g" l( n! r2 G5 n8 g( TC. x->f+ ]( ?- P. ]9 G( q' d
D. x->f()
: D, U/ ^, \, m1 D8 }4 E标准资料:B
5 A7 n2 A( I, p: N+ z2 y* p13.  C++中引入友元的作用是()。
, j. m" y! e8 ]1 M' P- }A. 提高程序的运用效率
2 d) R( G7 T3 n6 B; ?; i  X: tB. 加强类的封装性
+ t) R) c* g# ~" [. M5 kC. 实现数据的隐藏性6 U- z8 U/ U! @9 O9 c0 _' T! D
D. 增加成员函数的种类5 `1 j) i4 n2 D0 l
标准资料:A3 R6 e: Q$ A. K, e; G
14.  read()函数的功能是从输入流中读取()。
" k) d: W; |* c5 Y2 K# KA. 一个字符
3 {6 P5 u0 S! b+ F$ K4 Q  a/ ~B. 当前字符
! _* x+ @! c5 R# `2 Z9 ^; \, f5 NC. 一行字符
, a# f( ^9 h  {1 z, e: YD. 指定若干个字符
  e- C7 G- E6 W; T2 @标准资料:D( i$ x0 f5 Y8 |8 K0 d: _/ R( l
15.  在下面有关对构造函数的描述中,正确的是()。
+ _& F  S+ U( O7 D5 [6 d% IA. 构造函数可以带有返回值
. |( S- y2 q* WB. 构造函数的名字与类名完全相同% u! X* H1 h% X: }0 o2 D) v
C. 构造函数必须带有参数
. n9 S7 \1 ]$ E% k( ~3 _D. 构造函数必须定义,不能缺省2 w/ ^8 ?/ [/ _7 d
标准资料:B
2 E: L; U+ n5 G. c16.  在派生类中重新定义虚函数时,除了(),其它方面都必须与基类中相应的虚函数保持一致。7 _9 D+ D9 N; O! X# H2 d9 a
A. 参数个数* v0 M- w5 }9 f8 I$ D& Q# `+ m
B. 参数类型
4 E) n( j7 f. WC. 函数体  N# N0 o, [7 U
D. 函数名称& k8 G; [! b( O
标准资料:C
( c( d# @$ w7 c17.  下列关于虚基类的描述,错误的是()。
: L8 G' M$ P6 C4 Z1 T9 S& \A. 设置虚基类的目的是为了消除二义性
: A" L" V$ B" o0 qB. 虚基类的构造函数在非虚基类之后调用; E$ m9 J+ I/ b! H
C. 若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用
: X  n8 D: o) r6 HD. 若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数
9 h6 u% I! I/ x- ^2 f: l标准资料:B! D9 \0 D/ U" I
18.  在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是()。$ b6 ]" S- E( U  }6 s
A. 派生类的对象可以赋给基类的对象( Z/ v7 K+ P* d
B. 派生类的对象可以初始化基类的引用
) M& D, g! C0 {, N7 G& J7 vC. 指向派生类对象的基类指针可以直接访问派生类中的成员
5 \% w8 ^' R7 fD. 派生类的对象的地址可以赋给指向基类的指针% y/ _6 c3 Y2 ~6 {# q% v- w5 t% u* x
标准资料:C; [9 c" e7 E* }$ D! f7 l
19.  下面运算符中,不能被重载的运算符是()。
  k8 I9 f, v! `3 pA. <=
) r9 U# V3 M0 g- C( {  g& D$ }( }B. -
1 z. n) \8 P3 y  R' K# x8 m, \C. ?:
$ U9 i: X/ F3 B0 ~, a) k& A- UD. []
2 z( g; R0 ?1 e2 s& A. f标准资料:C
- n$ s$ \- s/ z- @- x1 @' T: @20.  类MyA的拷贝初始化构造函数是()。
! o  Y% o! L- F: g( DA. MyA()
6 h+ a, o$ g3 ~% q+ v) `6 rB. MyA(MyA*)3 S7 I* R+ m  N' u
C. MyA(MyA&)
0 U, x; g: b, T: C# f/ i- z! SD. MyA(MyA)
0 b% V# `0 o- l+ M/ t标准资料:C/ n4 N! ?. c; A4 c- ^
# E7 z5 N+ z2 a- j4 {
) G6 i5 I) _8 Y8 \( t4 _
二、判断题(共 20 道试题,共 40 分。)  V 1. 对于类中内嵌的对象、常量、引用等数据成员需要在构造函数的初始化列表中初始化。3 L) K, L( V/ O3 x
A. 错误
7 ]  {5 U. A8 E- N( W: nB. 正确! c1 M3 q& I- A! @7 y- e- s
标准资料:B
7 H9 v" k; I( |: V( X2.  C++的变量声明非常灵活,它允许变量声明与可执行语句在程序中交替出现。
8 {+ ^) @8 @' c' B, uA. 错误
  s' K; E3 u; N5 n* W! uB. 正确
) d" c# ]: w! @* D! t标准资料:B
( v9 y% _8 A/ ?5 r& L3.  多态性是指相同的对象收到不同的消息时产生多种不同的行为方式。
0 l& w. s$ S# b+ W: r" ~* tA. 错误% W6 }' ~! [2 Q. p6 a. \8 t) h- S
B. 正确; b9 Z- A7 s) M' k, l
标准资料:A
) ]' ~( v1 U1 i; u8 `4.  在C++中,用数组、指针、和引用作为函数参数,都能够将参数值带回。
1 [' q+ v6 I8 V* `3 vA. 错误& [/ ~7 r8 N. k, Q$ Q# `; U
B. 正确
( P1 g. M% h% t2 \标准资料:B
- w9 @  X2 i% r3 m4 F6 D5.  ostrstream是向字符数组的输出流,istrstream是从字符数组的输入流。; j" B$ {6 a; _9 x; @- g
A. 错误( m8 n8 j4 X5 x' ~. M6 k& v, I  O
B. 正确
- ]% e4 W" h/ g+ r. h9 b标准资料:B5 t% z& z0 g8 u0 t
6.  说明或定义对象时,类名前不需加class关键字。
; w6 @9 M# C6 l4 O; c. Z) c  l: j* FA. 错误8 f% p; G) c3 N/ O7 `4 v
B. 正确& [8 s5 R/ u+ T1 D
标准资料:B
$ C* `& ~+ x( j. |% \' ~9 A% Y7.  若左操作数为基本数据类型或其它类对象时,此运算符应以友元函数的方式重载。# x; p; T& B0 P2 f  L1 w; h& N2 X
A. 错误
0 W4 i4 g/ i9 C5 S2 m! [$ SB. 正确5 T: W( K' {/ `0 u
标准资料:B
+ @5 y7 n# r4 b9 |& h) F% k& T8.  C++既支持面向过程程序设计又支持面向对象程序设计。& u/ [+ Y" V) y* I; ?6 s6 l
A. 错误3 U% {& T8 T7 \' E" e7 _
B. 正确
6 q) p4 H, ^0 c标准资料:B
' t# F! o8 Z  ]" f0 K2 n9 u2 ~9.  类是一组对象的抽象,而对象则是类的一个实例。
2 l+ w* K- ], d/ F+ YA. 错误
7 _, t5 k' T, j5 X) F0 ]. TB. 正确( e$ v$ b2 S  ~- z. B. s+ [
标准资料:B' W+ O4 R6 i' g. M
10.  使用setw()函数时需包含iomanip.h头文件,而使用width()函数时需包含iostream.h头文件。2 w/ W9 L3 s$ k  v- Z3 L
A. 错误
! `, U. q3 X& \5 p* J7 Z) A1 NB. 正确
: L4 p3 C% ?5 g) `, T* V标准资料:B
' g6 n% m4 ~& H4 H+ f  @11.  在C++中,只能重载已有的运算符。
8 [* V) q! C' t! tA. 错误. w8 T1 {0 p8 d5 i4 E" N1 e
B. 正确* {, v2 j5 `; l" k
标准资料:B
. m( M) I  b" t+ F% K, p: r: S6 |12.  C++利用类的派生机制实现面向对象程序设计的继承性。
: ^8 Q" G9 E& C" {A. 错误
; r0 ]8 h9 Z! U# E6 h: lB. 正确
" Q" q; }( X& a标准资料:B
) A0 D! C9 F# K# E2 ^13.  new和delete运算符可以被重载。
9 e* w3 Z( o5 x& M: u% F8 G9 BA. 错误  p7 I6 b3 R  L- {9 ~  X  y& A: E- N
B. 正确
! C6 L2 O4 V7 ^: n标准资料:B
; h9 z4 s2 ?! p6 F9 K& b14.  静态数据成员是类中所有对象共享的,可以通过类的对象访问。- B3 i' O5 B4 p, A5 W2 K5 e6 ?
A. 错误, E4 `) H3 |. }. }0 _
B. 正确0 V0 }& t# }1 U3 L$ Q) P; y
标准资料:B0 r% M; [% b* O6 }3 Y4 k3 T; y; X
15.  多态性是指不同的对象收到相同的消息时产生多种不同的行为方式。
! t3 Q# u' z" h2 P3 E1 gA. 错误" z, A' s% E. z+ b3 l! W* q6 h0 B
B. 正确
/ W/ j0 ^9 n$ w, ?6 R( @5 `标准资料:B& c# q+ E! ~. d$ v$ J3 ~0 F6 _
16.  只有类中全部函数都为纯虚函数时,该类才被称为抽象类。" q3 {$ z! R8 \0 S3 S; v6 I" Y
A. 错误
0 g3 A2 V- F& r  h3 GB. 正确' z! t1 J0 A  b6 u7 z$ f6 X# c$ `, z
标准资料:A
4 i# g: D& I* p- C+ h0 d5 r& M17.  若将函数说明为返回一个引用,则该函数可以用在赋值运算符的左边。
1 \/ `3 W# N" |0 V2 Z0 qA. 错误
* g3 q' U* _% P  ?$ cB. 正确6 ]/ f, [! Z; P& B4 j3 C) q# B1 C
标准资料:B& ^- n$ b0 L8 v4 S; m
18.  函数模板是模板函数的实例化。
$ w+ I( \8 J" ~! _, oA. 错误
" E: w' g# k5 N! v: Z  n5 YB. 正确
3 ^% L7 |* Z; f* x( B标准资料:A
5 _$ n  r* b3 d4 v19.  this指针是一个const指针,不能在程序中修改它或给它赋值。
" E6 Y) w7 z+ @A. 错误
8 O. i8 |  m. ~/ ]B. 正确) d" M" w. x4 Y: j3 Y" }
标准资料:B
: H9 f' q  h' y& }  i; m- K( i20.  拷贝构造函数使用本类对象的指针作为参数初始化新创建的对象。
% ^8 _5 U% m1 E( d0 D" T, g, t: vA. 错误
3 |* J; d6 d3 p% L1 o. tB. 正确
% E; E& h$ V, J/ I& k标准资料:A2 k; ^( V- M. s$ M

/ \. G1 O) o; S# W8 ~
4 l" Y$ T& G5 b0 K( ]5 v  n6 @, P2 R 一、单选题(共 20 道试题,共 60 分。)  V 1. 对于类定义 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 f+ k) ]+ i9 g) |% m
A. A::func2( )和B::func1( )都是虚函数
; I. Y% _3 b5 q6 b+ w6 i4 hB. A::func2( )和B::func1( )都不是虚函数9 s. ~  y# B  w" z3 `) |
C. B::func1( )是虚函数,而A::func2( )不是虚函数
: |  R) C8 u- U. `1 sD. B::func1( )不是虚函数,而A::func2( )是虚函数  o5 G/ M5 E- A- M9 g) l
标准资料:C$ x3 l, ^; i) l* h
2.  如果类A被说明成类B的友元,则()。
) ~+ Y$ r% z) EA. 类A的成员即类B的成员5 k8 T' {/ b3 \6 a: _
B. 类B的成员即类A的成员
& N" ]; o1 ^5 V* Z( h1 b; I3 \C. 类A的成员函数不得访问类B的成员
4 J6 V7 [3 M4 w. AD. 类B不一定是类A的友元& j5 T# {( F3 C: U, h. m% ]
标准资料:D
, W6 D" |, y( N5 u0 f. n9 S' @, p3.  C++中引入友元的作用是()。
; ?/ ~3 G7 n4 U7 mA. 提高程序的运用效率6 S3 a( f4 M& M
B. 加强类的封装性
- p. {! ]2 R" ^1 f: b! |C. 实现数据的隐藏性
& i. A+ u0 j7 ]* L  @/ KD. 增加成员函数的种类
$ b$ M! g! B2 M- ?+ `标准资料:A% Q, k" @/ r, H# Y. T, Q- g
4.  假定classA为一个类,f()为该类公有的数据成员,x为该类的一个对象,则访问x对象中成员函数f()的格式为()。& t1 F$ d* F/ N* @3 r( Z: W, L
A. x.f
. M0 J- m3 s; g) JB. x.f()0 J% i5 B/ X0 {0 B
C. x->f% s- A8 o3 F) K7 p
D. x->f()
% Z% a8 C  ]* V$ l2 I) B标准资料:B& F( O' H5 v* @' f
5.  已知类A是类B的友元,类B是类C的友元,则()。& r1 q/ N! H& b& S
A. 类A一定是类C的友元) J" _- a: A8 ]' \  {% @+ a
B. 类C一定是类A的友元
- t8 B2 K- M. M( \C. 类C的成员函数可以访问类B的对象的任何成员5 J  E$ ]: ]8 {& |2 j
D. 类A的成员函数可以访问类B的对象的任何成员6 [* X9 y/ {& x; g
标准资料:D1 x7 K, y0 X$ N1 M: g
6.  在派生类中重新定义虚函数时,除了(),其它方面都必须与基类中相应的虚函数保持一致。
. j9 `) F4 B; t' J* l+ L. zA. 参数个数
6 z& `2 L# A; g. i8 f& zB. 参数类型; I0 K6 r8 a  ]' s7 {
C. 函数体+ D, T, ^& F% a1 y7 M  L
D. 函数名称4 O" }- S/ O$ N# w
标准资料:C6 J) @6 `9 O4 [7 F- W& [
7.  决定C++语言中函数的返回值类型的是()。" ]  p/ y( {4 j6 d+ X
A. return语句中的表达式类型
) n$ a1 }/ P' vB. 调用该函数时系统随机产生的类型+ G+ `4 w& B$ _7 O0 I7 f. L$ G" m" ]
C. 调用该函数时的主调用函数类型5 w3 K" V) B4 f$ a
D. 在定义该函数时所指定的数据类型- t; k5 D+ I: [5 X
标准资料:D
+ v' B' Y7 `* J2 `7 j5 i4 j' }8.  要想以读方式打开文件“D:\File.txt”,以下不能实现目的的语句是()。! f# @3 @% B. t  f8 W
A. ifstream inf("D:\\File txt",ios::in);) D" P- V2 z! V$ L
B. ifstream inf("D:\\File.txt");
  l& |$ c; V; w% n9 Q% \$ VC. ofstream inf("D:\\File.txt",ios:ut);
5 h, K' c4 \9 n$ d* u4 K$ ~) \D. fstream inf("D:\\File.txt",ios::in|ios:ut);  m1 d) v! V0 F3 f
标准资料:C
- Q0 J8 H: s  s9.  下列()的调用方式是引用调用。' }( P4 ^: X  E0 i2 I+ \
A. 形参是引用,实参是变量
6 p) y/ @7 c6 T) W# W. u( ZB. 形参和实参都是变量7 R+ t; k# g) O0 d. V) |
C. 形参是变量,实参是地址值
" |" E/ `3 X; bD. 形参是指针,实参是地址值- a. R1 R" F( h; G3 R5 {0 h" S
标准资料:A& K+ A. }  o+ T& k) |. g) p
10.  语句ofstream f(“SALARY.DAT”,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且()。
# U3 J; x) o6 C' f. p4 C* iA. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件& a- M: [) I( v2 d
B. 若文件存在,将其置为空文件;若文件不存在,打开失败1 a# G0 T$ ?' x* m
C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
  t) W+ @" a2 h$ B, X- p' `; ID. 若文件存在,打开失败;若文件不存在,建立一个新文件( Q& c. j' [  X; p3 ~
标准资料:A" O8 Q+ D2 D9 V' N$ i$ o' b; r6 ]' L3 I
11.  若已定义了person类,则执行语句"person p1=p2;"将调用p1的()。9 M1 V6 s: f$ l  S
A. 构造函数5 j9 [" ~' {" C
B. 拷贝构造函数
9 x6 u- d+ J) Z0 D: tC. 析构函数5 c4 j" S. A, Z% X
D. 赋值运算符重载函数" R1 c- C, {, i( @  U4 u
标准资料:B! f# s; g! l$ |- n! x0 c/ i7 w: F
12.  下面对类的析构函数的定义是() 。2 \/ y/ ]1 D! r, }
A. X::~ X( 参数 );
3 `' m2 D* z  U2 YB. void X::~ X( 参数 );# Z4 r* v9 [" W" ]2 c
C. void X::~ X();
- y  d2 V  W5 X! uD. X::~ X();
) C) B3 U; s9 i: u标准资料:D% Y  g0 W% k& a/ \5 ?0 d/ x! [
13.  对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是()。
$ W" ?$ N( u+ |* t4 b; FA. 公有类型3 _$ Y1 t) l2 }3 q! E3 N
B. 私有类型. O! e; F. Z, k: K  f) y/ I" o2 t* z3 J' V
C. 保护类型0 V& D+ |/ z  F5 G6 z8 M
D. 友元类型
/ d2 J; R* E6 o/ G标准资料:D- ]9 S+ Q! ~. Z" r+ S
14.  若已知char str[20],有语句 cin>>str;,当输入为:This is a cat,则str中的内容为()。
& T+ A/ y7 ~' f: \; EA. This is a cat! k- W" A/ k+ D& D' c/ v
B. This8 L+ K8 E. p4 M; J! k
C. This is  R2 G  t" n1 R* C
D. This is a7 l. E/ e7 f6 V8 g$ T
标准资料:B% M' [: M) L- _" p
15.  下面有关重载函数的说法中正确的是()。
  r+ I; t2 ]8 Y5 }. B' \1 gA. 重载函数必须具有不同的返回值类型7 ?. ^9 a- d9 J
B. 重载函数形参个数必须不同5 D+ A* B$ {, j2 n
C. 重载函数必须有不同的形参列表
7 Y- y! K6 a6 m4 aD. 重载函数名可以不同;
* g) j! U$ R1 {: `. N5 y/ t4 J3 n标准资料:C  g" q$ {1 |- I' a/ G
16.  实现运行时的多态性需要使用()。5 i5 T* }- l7 w' C
A. 重载函数% A) S# [% o* H$ N6 h) `$ |7 u4 @4 e
B. 构造函数7 C" s4 z- n6 Z/ C7 P/ O- {
C. 析构函数* p0 G% |1 e+ ?( j0 H& I
D. 虚函数
' J* H4 z7 N& c5 C! S* A0 b标准资料:D: T  F6 j- @' C' U0 x- \
17.  下面运算符中,不能被重载的运算符是()。
- |8 P9 q6 I: r: z+ _: VA. <=$ p0 J$ F( I1 t- {
B. -8 S$ l# f3 c& k- C0 @# M" ], M1 F
C. ?:8 W; f* x# p2 Y2 ^: Z/ J
D. []
3 F! i& a# D: \/ V: R标准资料:C
! X! P; |, y9 Y9 x0 i# Y2 ^7 f18.  下列语句中错误的是()。- E/ l& b6 H, N: p) z6 `
A. int *p=new int (10);. I( x  n6 j) S
B. int *p=new int[10];9 n& N* J. V3 }7 ?" l3 `) P0 |! u
C. int *p=new int;+ g& N* N1 E: K  @  ]
D. int *p=new int[40](0);
0 v6 j5 v4 S4 P4 |& h  E7 D" d( O标准资料:D
) _5 U7 N8 d/ ]1 A$ n! T19.  下列说法正确的是()。1 V5 a, v) C+ L1 \
A. 内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方! ~8 n" d$ e( Z. q4 e
B. 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方. `& f( [3 [( u) O
C. 类的内联函数必须在类体内定义' ~6 }/ F- l9 @4 q$ a
D. 类的内联函数必须在类体外通过加关键字inline定义! p) d; T8 _) j2 C1 c& H- ?# }
标准资料:B6 I# o, z8 W) n; {# f2 ?4 d: R
20.  下列不是文件流类的是()。$ t# d  t& e4 W: Y; M" [
A. ifstream; c" Z& C* j- \/ M/ B3 J
B. iostream' |- }  H8 x( w
C. fstream+ _6 A! n! ?' b6 h  w
D. ofstream
* A3 z6 w3 ~7 q: J' Q标准资料:B5 E8 l/ f8 U+ z/ `5 y
' h' V8 U$ T) C7 |

) ?5 [5 |: v3 N  a0 t 二、判断题(共 20 道试题,共 40 分。)  V 1. 使用cin和cout进行输入和输出操作必须包含头文件iomanip.h
3 }. d2 x5 h; n3 kA. 错误
! t2 L5 D+ e4 o7 X0 a+ Z+ hB. 正确
, \5 N* d. c& R7 r标准资料:A. @4 K. k! W: I" p' k5 y
2.  函数模板是模板函数的实例化。% h. u, W7 g; S, j1 Y  ]* [- }) N
A. 错误
% s: q5 t3 j: P! SB. 正确4 b, {7 N9 Z$ d$ V1 I
标准资料:A* f; R5 i- \& {+ l1 h7 K: V% K
3.  ifstream是用于读文件的文件流。- y# e  n" h" w4 a1 [
A. 错误; [% M; Q( D6 t
B. 正确
$ G' I; _. ~+ M. e标准资料:B
) g9 d* e0 q% K7 ]4.  ofstream是用于写文件的文件流。+ d' y* i4 b: |2 w
A. 错误
6 |& @* Z& D# N  R3 P* {0 L$ ~+ QB. 正确
- p9 Q5 E+ \0 {' h标准资料:B
3 I6 j' z+ j2 Y5.  在一般的成员函数中都隐含有一个this指针,用来指向对象自身,而在静态成员函数中是没有this指针的。+ J0 K* y' S" Y1 F$ k2 F" }
A. 错误, n- @( {4 \4 P4 I1 N
B. 正确
$ A4 x$ O; s% ^3 m; |- T6 o/ Z  P6 a标准资料:B$ `" j% {3 R  i" P
6.  IO流库重载的插入和析取运算符能处理所有的数据类型(包括自定义类型)。6 x; c( V. Y# P8 S2 o2 c0 P  {& p1 }
A. 错误* @' x6 m* [/ O; C+ e: S
B. 正确3 h5 v% m* d0 R; ^3 ~' t
标准资料:A1 ]6 t: G7 c& M  ~5 K' V! w
7.  成员函数体写在类外部的一定不是内联函数,写在类内部的一定是内联函数。0 ~4 J. c4 x: u9 N) }
A. 错误+ G: ^: [8 `7 n9 L" _/ J2 ^4 @
B. 正确& v4 S  i- I8 S* H2 h
标准资料:A
  T3 A8 v3 E% C. s! E& B; S  |8.  指针和引用都是变量,都占有单独的内存空间。
* J2 K3 c+ u2 n$ RA. 错误: f9 v/ p. |. b# s# d* y2 j* e3 m
B. 正确) }7 J1 }- d2 Z4 U- H' `
标准资料:A
# U4 A- E, \5 s) N9.  C++允许定义有默认参数的函数,默认参数要在函数声明中提供,当又有声明又有定义时,定义中不允许默认参数。( n9 D. u( e7 ^7 d  t- L: z" b
A. 错误/ `( n1 J" }; ]! l5 p
B. 正确
( o  @- [! B0 A  R& i4 I4 S标准资料:B
6 a4 ^8 }; `; F- h  y" y10.  二进制文件结束标志为EOF(即-1)。4 h( p7 e' X3 c5 l, A
A. 错误: _+ ~* X+ a9 k# p8 B, @& O! ^
B. 正确
- n" G! g. ]  x2 v* l" d! H* y- q标准资料:A
" e  b0 l/ [1 E8 `3 n0 k1 o1 {11.  如果一个类只定义了一个带参的构造函数,则系统会给它提供缺省的无参构造函数。( j$ I5 ^2 N; m5 [# D2 }: t$ K
A. 错误3 T6 R* i- A8 ~& R+ f9 @4 d' d: M
B. 正确# T+ `! ?" T* y- }; v+ O
标准资料:A; _/ a0 U; i2 O+ h# g* d5 F
12.  使用setw()函数时需包含iomanip.h头文件,而使用width()函数时需包含iostream.h头文件。/ I" ^, s- O$ f5 u
A. 错误
, T5 s2 u! B; {/ uB. 正确, h8 ~& x- k( {% K% z5 n" V8 R
标准资料:B# V" R) K! Q' M3 _+ V
13.  对于类中的对象成员既可以在构造函数的初始化列表中初始化也可以在构造函数体中初始化。, l5 E- W  U* b7 z5 O$ g) T1 c
A. 错误1 U' N8 |6 @! j, F
B. 正确9 I* e$ U3 x* m" W! s
标准资料:A
- ?# {  N* C: N+ L14.  在C++中,构造派生类对象时,总是先从基类的初始化开始的。
  W7 a  _8 v  {2 v% ?6 TA. 错误
' q' [0 u1 x+ e8 H# WB. 正确
2 W5 f" I' l# E. Q; ]+ ^标准资料:B
/ B" c4 a9 `7 d( y15.  类是一组对象的抽象,而对象则是类的一个实例。7 a: E$ D5 Y. \" {4 L
A. 错误  l9 U2 ?- ~1 B0 m* ~
B. 正确
$ X9 C1 ^; C! e0 `* K标准资料:B
9 N  O" ~% b* c7 U$ V( B* D16.  C++中的函数就是面向对象理论中的消息。
! |5 Q1 z/ \: J7 ZA. 错误$ d; N& m2 U/ e, S
B. 正确
& e6 M; C# a3 C2 U% F# W标准资料:A$ T* Q9 j5 f$ d- u% B3 U
17.  若有声明:class B: A{};则类B的继承方式为公有继承。
3 D# I2 s% [. ?7 l. C3 o9 LA. 错误
% F8 V- I4 ^* D% c+ pB. 正确
# o' L* {4 S% ?; G标准资料:A
9 z' q" A, ^+ G. I18.  void型指针是通用型指针,它可以接受任何类型的指针的赋值。
& x" i9 I' |4 S# X2 H, e1 `A. 错误
6 ]) X) ?0 J9 z5 QB. 正确; s& o  M/ D9 y4 _) M
标准资料:B
. N+ Q5 y. x5 S* I: L" C0 P2 c19.  类A继承类B,则A称为B的派生类,B称为A的基类。
% `6 m/ Y0 X7 v6 Q: ?A. 错误
" s3 ]4 |% M9 l" YB. 正确2 F3 R1 }, a2 z) ?7 F6 H
标准资料:B/ o' \& a( g2 }) N
20.  C++中,对象保存在内存中,栈内存是自动分配和释放的,而堆内存需要用户自己申请和释放。6 x8 [  p! W0 x. f3 k
A. 错误
2 t7 z6 j. \" s) @3 kB. 正确) @  ^9 N* [' l% m/ H; N8 V
标准资料:A, ^3 ?; L+ \0 w, v7 }: i
8 A* b$ E: ?9 R, J

. {8 {  G7 z6 ^/ t9 ]& d
7 L& Y- m8 m% b: y# \- s$ K* T
奥鹏作业答案,奥鹏在线作业答案
发表于 2017-4-26 18:26:21 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2017-5-26 15:27:59 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

 
 
客服一
客服二
客服三
客服四
点这里给我发消息
点这里给我发消息
谋学网奥鹏同学群2
微信客服扫一扫

QQ|关于我们|联系方式|网站特点|加入VIP|加盟合作|投诉建议|法律申明|Archiver|小黑屋|奥鹏作业答案-谋学网 ( 湘ICP备2021015247号 )

GMT+8, 2024-4-19 21:43 , Processed in 0.112537 second(s), 18 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表