background image

软件工程师(C/C++)笔试试题

姓名:                 日期:          

1.  请解释以下 4 个对象的差异:
(a) int ival = 1024;

(c)   int   *pi2   =   new 

int( 1024 );
(b) int *pi = &ival;

(d)   int   *pi3   =   new 

int( 1024);

2.

 type/subtype 继承体系,通常反应出是一种(is-a)的关系:具有范围检验能力
的 arrayRC 是 一 种 Array,   Book 是 一 种 LibraryRentalNaterial, 
AudioBook 是一种 Book…,依此类推,下面哪一组反应出是一种的关系?

(a)

member function isA_kindOf function

(b)

member function isA_kindOf class

(c)

constructor isA_kindOf member function

(d)

airplane isA_kindOf vehicle

(e)

motor isA_kindOf truck

(f)

circle isA_kindOf geometry

(g)

square isA_kindOf rectangle

(h)

automobile isA_kindOf airplane

(i)

borrower isA_kindOf library

3. 假设有以下定义:

int ival = 1024, ival2 = 2048;
int *pi1 = &ival, *pi2 = &ival2, **pi3 = 0;

请解释以下的赋值操作会发生什么事。如果其中有错误,请指出,

(a) ival = *pi3;

(e) pi1 = *pi3;

(b) *pi2 = *pi3;

(f) ival = *pi1;

(c) ival = pi2;

(g) pi1 = ival;

(d) pi2 = *pi1;

(h) pi3 = &pi2;

4. 下面哪一句话不真实?为什么?

(a)

一个 class 必须供应至少一个 constructor.

(b)

所谓 default constructor 是指其参数列表中没有参数.

(c)

如 果 class

没 有 具 意 义 的 默 认 值 , 这 个 class 就 不 应 该 提 供 一 个

default constructor.

(d)

如果 class 不明白供应一个 default constructor,编译器会自动产
生一个,用以为每个 data member 设定默认值.

5. 已知下面的 class 层次结构,其中含有虚拟函数:

class Base {