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

 找回密码
 会员注册

微信登录,扫一扫

手机号码,快捷登录

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

南开11秋学期《面向对象程序设计》在线作业

[复制链接]
发表于 2011-11-29 21:28:48 | 显示全部楼层 |阅读模式
谋学网
久爱奥鹏www.92open.com 主要提供奥鹏作业资料,奥鹏在线作业资料,奥鹏离线作业资料以及奥鹏毕业论文,致力打造中国最专业远程教育辅导社区。
+ r+ ~$ n' x1 d) C% @5 R, |( C: E& c& g7 c9 k1 p0 U5 E
+ ~" T5 D2 K/ a
南开大学
) C2 h8 G! Y9 D' v+ Y- ~11秋学期《面向对象程序设计》在线作业8 e% R+ K- r2 A. {" [* S) M
单选4 Z' q( h2 `1 Z/ F
1.下列关于动态联编的描述中,错误的是()。, p4 s- p2 k/ V8 }
A. 动态联编是以虚函数为基础的
+ O4 v9 h7 p' y8 R, p& K; Z# w3 Q" dB. 动态联编是在运行时确定所调用的函数代码的
5 L* [4 v2 f# v* d- j' pC. 动态联编调用函数操作是通过指向对象的指针或对象) \7 O1 j! q9 _
D. 动态联编是在编译时确定操作函数的
" r! Z/ k5 D" g) S3 T资料:D- R6 x# ]+ [  v9 R
2.将一个string类对象赋予新值,应该使用string类的()函数。
; ^2 p9 S. B# UA. assign" c  l# P* `* t' J
B. insert
  m6 J, u4 e) e0 `C. swap0 g' z9 A4 F, X' i  G: P2 u
D. find
/ V, E& }% c! f4 a# Z0 x资料:A) o( n3 H$ e! N0 {, {
3.在保护继承中,基类中的私有成员作为派生类的()。: l0 V& U  W: [$ X3 i: F, X
A. 公有成员
& g# j$ L  c, U! c4 u. `B. 私有成员( Q( e) a" B; Q
C. 保护成员
( f' Z( \( p" \  W& g, PD. 不可访问, Z* |2 ~, g3 E0 I% K
资料:D
2 O6 m$ e# S$ w( n4.已知“int a=10,*p;int *&r=p; r=&a;*r=20;cout<<a;”,则输出为()。
: N/ ~  i  Z! V4 i3 BA. 103 K0 d' ^' E$ M5 o6 Y  v$ x
B. 20) L# D2 [, o/ q; V- z0 j
C. 不确定值8 X6 G, r" l0 g/ ]5 r) Y  v0 @
D. 程序有错误
7 |/ ]1 ]8 [' g1 G; t资料:B
0 t) M1 g6 h3 M3 `6 _: h  B1 O5.类MyClass的定义如下: class MyClass { public: MyClass() { value = 0;} SetVariable(int i) { value = i; } private: int value; } 则对下列语句序列正确的描述是()。 MyClass *p,my; p=&my;  Y) ~0 |* l7 r
A. 语句p=&my;是把对象my赋值给指针变量p
7 b! n; ~$ s9 q, e5 vB. 语句MyClass *p,my;会调用两次类MyClass的构造函数( k. w& j* T) R, l; W
C. 对语句 *p.SetVariable(5)的调用是正确的; X; }' b" E1 D
D. 语句p->SetVariable(5)与语句my.SetVariable(5)等价
) J: q3 ~) K1 l, \资料:D
0 \- R, [- ]& q6.关于纯虚函数和抽象类的描述中,错误的是()。3 D: [1 f6 t* Z* G1 [  x2 }
A. 纯虚函数是一种特殊的虚函数,它没有具体的实现。- i# F7 t5 `4 u
B. 抽象类是指具有纯虚函数的类。
4 _, Z( G$ b" U% D' j2 l- l3 bC. 一个基类中有纯虚函数,该类的派生类一定不再是抽象类。0 k* }" G% m' K" E" s
D. 抽象类作为基类来使用,其纯虚函数的实现由派生类给出。* B1 g* S: G" E) e7 u9 e# s
资料:C
7 s$ @5 w% D7 _6 E6 O2 @  l7.运算符重载的目的是()。0 C+ ?' w$ \7 n  c
A. 提高程序的效率
+ v' s% |$ Q3 |( |B. 提高代码复用能力5 }" Q. y9 s! L4 x
C. 简化程序,减少目标代码
8 T& h/ _& y. H* W3 eD. 使程序代码直观易读' y$ h1 k  Q# A: p  H/ l4 g/ A
资料:D, @$ J: ]' l0 V! B
8.下列关于赋值运算符“=”说法错误的是()。
% n* V4 \) f0 k9 I" K1 T; j' bA. 返回值应声明为指针,而函数体总是用语句“return *this;”返回( J) S9 q* h8 ]6 H5 ~+ g* N, p9 T
B. 如果参数被声明为指针或引用,通常应加上const修饰
: ?, G) ?8 o8 k7 C6 dC. 如果参数被声明为指针,应判别是否空
) M6 Z, S+ H6 ~! J( ^D. 如果被赋值对象占用了动态空间或其他资源,应首先释放这些资源5 V( H. {7 Q, M
资料:A
: L3 l$ N& |8 U7 e9.已知函数原型:void f(int a, int b=3,char c="*"); 则下面的函数调用中,不合法的调用是()。8 z: c$ F4 H7 A  T; n6 t, c" o
A. f(5)
0 Y& e% l' e% b0 [- g! s# J. _B. f(5,8)" s! q5 o0 D: B. O/ L" g  W- I; B: ]
C. f(6, , "#")# [; X' e8 Y3 @! l( p
D. f(0,0, "#")
1 s3 S4 d+ ?5 K; j! }0 ^% g资料:C# F1 ~6 m. `2 A  n  W6 t
10.无论是虚函数还是实函数,在派生类中被重定义后,原来的函数版本会()。6 A/ A. r% V" X! a  T
A. 自动删除. {3 U7 k% G5 c) H
B. 被新函数覆盖. @/ r2 y; u2 V$ Z2 [$ f
C. 被隐藏9 i5 {3 g; _* d7 {- [
D. 无法操作1 _) a4 O  T8 l% Q
资料:B
  Q: ]3 Y, H& D4 q7 s+ @" ~, K11.有关重载函数的描述正确的是()。+ \" z' T% W3 T; I  S
A. 函数名相同的函数就是重载函数
9 G/ `7 [* C( AB. 函数名相同但返回值类型不同的函数就是重载函数
) z, E5 Y  A) S& ~C. 函数名相同但参数个数或类型不同的函数就是重载函数
' D( g( ?" K& e5 \- `D. 函数功能相同的函数就是重载函数
- X/ H! u# k: Q: C0 z  P资料:
) {) }3 u$ G( L$ B$ T$ q+ [, l0 F12.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()。
4 j6 m, r. _; G6 \) z3 d. Q& N1 kA. 友元函数
# Y1 H% G9 y5 a- j$ RB. 虚函数
+ }% Z; d0 P( O5 hC. 构造函数$ b) o3 N1 U8 G
D. 析构函数5 a' Y! q& w7 Y% V; L) S
资料:
# H2 o" I( n+ c" U9 X13.任意一个类,析构函数的个数最多是()。8 R% Q$ a- G; |- M3 u2 ]6 G1 K/ C+ M
A. 不限个数
* H9 k  @, ^( k. f3 MB. 1& t3 w/ y& I0 ~5 E' ~' i
C. 2
& B+ Q6 q  o6 |5 U) K& zD. 3
/ y+ v' {; G8 O: E$ ]( b, m, G资料:
) t7 Q* w) m! }1 u14.下列关于析构函数的说法错误的是()。$ U# _# x8 y+ ^5 W: {9 d# T5 c
A. 析构函数有且仅有一个5 D% Q% F4 j# _3 Q/ R% r
B. 析构函数无任何函数类型
$ \+ b! I! [% C: B7 ]2 i' {C. 析构函数和构造函数一样可以有参数
$ s- [# @# I: oD. 析构函数的作用之一是在对象被撤销时收回先前分配的内存空间
6 l0 J2 r. P1 w9 J" {资料:
- Q7 G" o( k; j! i+ E2 r15.假定MyClass为一类,执行MyClass a,b(2),*p[2];语句时会自动调用该类构造函数()次。
, \6 J+ f- m8 i2 u9 l, NA. 2
8 H% h; e  [& T$ r+ V! tB. 3
$ {. E3 n2 Y- S! T- q- u) h2 vC. 4
! r2 ~/ d* O1 L8 H+ }" sD. 51 f; t* \- ?! |$ h  n3 e  M
资料:: T/ t3 n) Q, }+ r3 F# e# r
16.假设堆内存分配均成功,则下面程序段完全正确的是()。+ ]$ M/ b9 o6 x9 e* p6 l# s8 D
A. int *p=new int(3);cout<<*p;delete p;
* I1 R' x% j; x+ M5 UB. int *p=new int[5]={1,2,3,4,5};for(int i=0;i<5;i++)cout<<p;delete []p;
- f, z+ l& P0 K0 s7 z) `C. int *p=new int[5];for(int i=0;i<5;i++,p++) {*p=i; cout<<*p;}delete []p;
; ^3 W. k5 S; tD. 以上程序段均正确
& D9 ~, w/ v& J% t资料:( U+ [6 z+ w6 b& J/ m
17.通常的拷贝构造函数的参数是()。4 |, T2 B$ R; @; N, Z4 ?( c
A. 某个对象名' i, O8 q  e: G0 P+ u
B. 某个对象的成员名
7 m4 Y- D+ P; a, hC. 某个对象的引用名8 k; h2 _: l( ^  H  c* Q3 k
D. 某个对象的指针名) H, R- x0 T4 [3 Z. w
资料:
% Z( \% T* [7 [8 J$ z- d0 B18.下列对派生类的描述中错误的是()。% Z$ G9 L9 N) L
A. 派生类至少有一个基类
; [/ r6 u$ s( c3 OB. 派生类可作为另一个派生类的基类4 w+ v  ^( o. j
C. 派生类除了包含它直接定义的成员外,还包含其基类的成员
5 i; R* N9 ^8 Y& `6 ~7 v) |D. 派生类对其继承的基类的成员访问权限保持不变; F- \# b1 ~- k1 @
资料:6 q& d% V* A* ~( {- c) j7 b, W
19.程序在调用重载函数时,根据()区分到底要调用哪个函数。1 l2 @/ ^3 j' }5 f
A. 函数名
7 }  p3 ~6 J8 n+ g/ tB. 返回值类型
6 u6 J5 `) s5 Z7 A6 c& Z  cC. 参数个数和类型9 T: S' o! k. L& v
D. 以上都可以
7 C1 k' Z! _" i- l5 Z资料:! a9 J: v: Q0 h% X' {0 z
20.变量的引用,其含义是指该变量的()。9 k# e/ m! t# \% k1 J
A. 值+ A, c  Y5 g9 t! V7 I
B. 类型
: {( R' c1 f) {! {( VC. 别名( M& N; T; @7 C& H
D. 地址
1 H- L+ K- c$ v资料:
) B) G: j. z  e1 ?; g- [5 Y4 D21.友元的作用是()。
! c+ q1 ~; k- P3 W3 \; Y& aA. 提高程序的运行效率& A/ J' m4 u- i0 c
B. 加强类的封装性0 ?! ]3 z: o. l( b: Z7 C7 N3 z$ ]
C. 实现数据的隐藏: F+ m5 V4 n3 m5 y3 t& t" M5 z8 O
D. 增减成员函数的种类
: |8 ?2 }, A4 c0 T+ f资料:8 i9 ^  g* Y9 ^4 @/ i" F
22.在C++中,通过()的机制可以扩充和完善旧的程序设计以适应新的需要。, S3 H+ b8 ]* j: D3 k) D
A. 继承3 W! X( ^8 O0 e
B. 封装! D0 M$ _5 R0 A- m
C. 多态
: w/ b+ l. J4 q' r3 g& ^. GD. 重载  T/ }; {: r: y* X
资料:
, I& N+ a2 O$ P) x" P) D23.下面关于私有继承方式的论述中错误的是()。
! p  Y: m" i+ S- bA. 基类中的私有成员对其对象不可见
9 G. H1 q0 v: K, i, l$ s* qB. 基类中的私有成员对其派生类不可见
0 r5 N: ^- @, h/ m! h  L5 XC. 基类中的公有成员对其派生类可见6 Q! G5 k" ]4 m1 l& A( L8 [
D. 基类中的保护成员对其派生类不可见
) o) m+ g  x" n: x' N资料:- N8 D: K' Y$ u' |- ?: }
24.交换两个string类对象所表示的字符串的内容,应该使用string类的()函数。1 q6 O; f+ F3 [* D" T( U0 }
A. assign2 _9 O4 J( x% g% N- f
B. insert
# \- q& t' @; {C. swap
* a# w5 l. K# }' r, QD. find+ }( m2 }! f2 r+ c" I# M+ F" T
资料:( `4 R# K: b0 n' {
25.以下为重载函数的一组函数声明的是()。
6 e$ y) ?5 G; C7 `: AA. void print(int); void print(double);
( Y% e8 z# G+ J1 S, C$ B5 KB. void fun(int); int fun(int);
0 ~# S% f# z  p& |5 d: H9 E9 WC. int max(int,int); int min(int,int);
. @5 P% j- o# ^! Z' LD. void mm(); int mm();4 r7 [  Q9 {" A
资料:
3 A% D2 W& f: e1 K/ {26.下列虚基类的声明中,正确的是()。" d% X6 |' \3 ~, G: p
A. class virtual B:public A) Z% Q9 Y8 `1 u  |
B. virtual class B:public A( u. E8 l- f+ K3 `9 }
C. class B: public A virtual# c( h* K; F+ `  w
D. class B: virtual public A8 M3 m* G. G' ?: T: `# u& k( F; K
资料:
/ f( Y# x; i( |* ?27.下列关于运算符重载正确的是()。
! g2 H8 E; \2 ~9 b  sA. 运算符重载可以改变运算符的操作数个数7 b( l  m" }" s: ]) h/ ^
B. 运算符重载可以改变运算符的优先级
: q" l1 L" H9 U6 sC. 运算符重载可以改变运算符的结合性
% R$ _$ N( Q7 l" }  b- G9 xD. 运算符重载不可以改变语法结构. w2 f- U2 a3 j) P1 x; O
资料:
5 B4 `, S5 ?0 Y& j( F28.已知“int a=10;int &r=a; r=r+20;cout<<a;”,则输出为()。
; ^% C/ G* W0 y, O3 k/ hA. 10
8 t! k6 j' G  \. G+ L( yB. 20& B7 t5 O) t/ H" f4 Y3 X8 Q! w
C. 30$ u5 I$ F  v7 z+ @6 y& b. f
D. 不确定值
2 Z% A" o$ {9 k9 q( X# C资料:1 l/ P1 a+ N; e. }, l/ F$ ~7 q
29.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是()。7 [/ O( w% F' O: d
A. 派生类的对象可以直接访问基类的所有成员1 e/ i6 \- k/ M: F8 ^  o
B. 派生类的对象可以初始化基类的引用
2 b/ K% a& ?4 a/ l" t/ q" v- _C. 派生类的对象不可以直接访问基类中的私有成员
* o& x, D4 V# [) u! c3 Y7 ^D. 派生类的对象的地址可以赋给指向基类的指针
( t8 ^0 V8 Q$ ]$ C资料:6 f( i) P0 N' C/ V1 a' h1 k
30.在派生类中重新定义虚函数时,除了(),其他方面都应与基类中相应的虚函数保持一致。  I2 h* Y7 N7 p; I4 X- X6 B1 y  a
A. 函数名
' U0 W) ?1 |5 b) _7 S1 rB. 参数
' j+ m: a6 F: n9 IC. 函数体
( U- l2 ]9 ^$ \' O& c. MD. 返回值类型& E4 b7 w) @3 C
资料:
8 h+ p: d  D' T% O) E. D" [31.利用成员函数对二元运算符重载,其右操作数为()。! x7 i, r  D# Z+ K, v' }
A. this指针, {$ I# Y* d7 t- l8 }5 {' V2 e
B. 成员函数参数
0 i6 {- a8 }# dC. 非静态成员函数操作数
0 L4 h2 q, c. |D. 实参9 Y1 _2 M8 F6 m
资料:
/ \9 N9 f8 _7 R/ s! F* C2 q4 \8 M: C" \32.运行以下程序时,如果由键盘输入65 14,则输出结果是()。 #include <iostream> using namespace std; int main() { int m, n; cout<<"Input m, n:"; cin>>m>>n; while(m!=n) { while(m>n) m-=n; while(n>m) n-=m; } cout<<m<<endl; return 0; }* V7 X5 J/ |# S( c6 L
A. 3
% x' t1 U4 v0 l7 rB. 21 `. A' Y. I8 T3 o4 Q# ~
C. 1
. [4 h4 K5 z0 }0 q; w7 jD. 0# Q( T  e8 e' @# g3 P
资料:! B$ J3 o4 \2 ]/ l
33.下列运算符中,()在C++中不能重载。! B* V* p0 u% x& P
A. ?:% Y8 w4 P1 D6 l8 W$ ^* n: a1 c( N
B. +; @5 X1 q, p! ], {6 W4 f$ q
C. -
- T% o; [9 N$ J* p8 u  ED. <=
2 E1 L5 ]. @2 A& V% z0 v资料:% x+ g5 G- l5 y
34.抽象类不能定义对象,但可以声明抽象类的()。
8 c1 `6 l! n* I% A8 A8 NA. 指针或引用% b2 P1 w5 W% p1 ~( O% a! Y
B. 函数返回类型
. E5 U/ Y) L7 J# FC. 显式转换
  K' I: r( Q2 TD. 以上都是
/ l- A; l; Q0 _6 v资料:. p8 y# Y6 ^; x; l6 O' \
35.类的默认的无参构造函数()。
0 i2 Z$ @, `+ y7 Q; r/ pA. 在任何情况下都存在
! r1 H* W  \6 pB. 仅当未定义无参构造函数时存在
2 P: c0 c: h% I5 I  bC. 仅当未定义有参构造函数时存在
7 e; N* c' `' E! \# }' I! O3 |1 pD. 仅当未定义任何构造函数时存在
) v) ~  V' ~, x% N- I: b资料:
" N5 j4 {2 d3 ^  U5 s. t, W判断题3 K  i8 [; c, ^' s' e* }1 p$ u! Y
1.在C++中,可以声明虚构造函数和虚析构函数。
7 ?  W! m2 j. V4 Z; l" fA. 错误, A" u, v. a. o( z  v
B. 正确
  N3 G% b4 t! I9 Y8 g资料:
( m! }; p6 A0 Q5 A( X& o' Y2.抽象类虽然也是一种数据类型,但它不能建立对象,只能作为基类被其他类继承。$ m9 T! n$ T" O1 l, n! p5 F9 W
A. 错误+ M( n0 J2 ?4 O0 h$ B
B. 正确
8 P" X% S$ J) P0 \资料:/ l- g" @* K3 g* I* G
3.构造函数不能被派生类继承。; i" f+ a% y7 e) f  M; B9 i
A. 错误
9 W! b6 ~! L+ UB. 正确  Y  e: C! I3 k8 A! r( h! L
资料:) p6 k- d+ g$ n3 q2 j
4.对虚函数的调用,系统都是采用动态联编。7 v, a" q% R8 s( q$ W
A. 错误
/ |+ i7 S6 p! QB. 正确
" K! P; d' u4 B资料:& A6 @& L" N7 O. O
5.任何类都要有不必提供参数的构造函数(默认缺省构造函数)。
( z3 Z* [8 t1 J9 r, AA. 错误
- {9 R) O& V. ZB. 正确
$ ^+ k$ P5 W  D6 n6 s2 f; _* P资料:" y  b% }9 [) I6 M
6.在一个类中声明了某个静态数据成员,并在类外给出其定义和初始化后,若未定义该类的对象,该静态数据成员则不存在。
. A' w4 k4 n& C$ tA. 错误/ W0 @4 n. C8 r, u$ a# j9 Q
B. 正确
2 F# l6 K7 A3 x/ P资料:
. ]5 D% E' E/ u/ l; s- J/ H7.在C++中,允许从一个类派生出任意多个类,但不允许某个类同时从多个类派生。4 ], f# W' l$ Y! ]! |) r- s" I
A. 错误
: x7 j1 {$ H" Y+ `* ^B. 正确
5 T  h* O% ~" S! W& |. ?9 z+ f. ?资料:
  B- [2 |$ q8 C8.C++语言类定义中默认的访问权限是public。
# N# l  w3 P; O2 A5 qA. 错误
: u8 E2 z( Z% D/ QB. 正确
/ `- J0 ^: I- g1 q. y" f3 a6 R资料:
* A% h' {! K1 J5 s2 K9 y/ R* {9.类中所提供的成员函数可以直接访问该类的私有成员。
1 |  l4 J* Y5 q" ?: B) f& RA. 错误' A+ m& \- s- f9 m# v& f9 v3 T
B. 正确! u8 h9 s% }) V) F% b
资料:
' t" C  o3 T( u10.私有继承中,对于基类中的所有成员,派生类的成员函数都不可直接访问。/ Q. I1 J# f+ @8 h9 s9 Y( O
A. 错误" b2 P4 a: X3 m5 P
B. 正确) |6 c0 N6 n; z5 A
资料:
5 L) a+ G; @! C! V7 O11.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为: AB operator+(AB &,AB &);7 l1 ?4 ?4 a1 m( X$ ~" Z- m8 Q
A. 错误2 |2 |+ r# Y2 K1 q# M$ G
B. 正确
0 w9 Q# k( ]( v4 ~9 |资料:/ Z7 Y: I! f5 N7 o8 m2 K" H
12.一个类的静态数据成员被该类的所有对象共享。
7 h1 X7 g* M  m4 \A. 错误
+ }) o1 S" k1 g  f  UB. 正确
( z$ }4 S% @8 x% m! M资料:
* `" r4 K, \: Y6 u" I8 }% c13.在C++程序中,主函数的函数名必须是main。
1 \! {( a$ |$ JA. 错误- ?% l% k( a$ c3 B" e, K
B. 正确7 h9 @' Y; K" b
资料:
* d, g; T6 l7 M- w" U+ D' v# q14.基类类型的指针可以指向其派生类对象。2 c! M  \9 t2 F. z
A. 错误
8 }2 O$ n; Q+ B" z8 z4 kB. 正确# W# p  a" z# \
资料:/ ]/ H- }5 G4 w( q9 h+ H
15.当某个对象调用类的成员函数时,该对象的地址自动传递给this指针。% v# f/ s6 h& h2 O% c, n6 j# e
A. 错误* A$ N. [5 |6 f" r" ~9 M4 I$ h+ t7 n
B. 正确
9 m0 s! k1 {" e6 x资料:9 `6 l) V* e( N  E- d
3 C6 A- Y5 B; r1 U: u- e0 C( R
7 M. W  D0 ?: u' M& X( q9 Q, `
久爱奥鹏网 www.92open.com 主要提供奥鹏作业资料,奥鹏在线作业资料,奥鹏离线作业资料以及奥鹏毕业论文,致力打造中国最专业远程教育辅导社区。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?会员注册

×
奥鹏作业答案,奥鹏在线作业答案
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

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

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

GMT+8, 2025-2-19 06:33 , Processed in 0.090448 second(s), 20 queries .

Powered by Discuz! X3.5

Copyright © 2001-2025 Tencent Cloud.

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