C++期末复习卷2

  • 格式:doc
  • 大小:33.00 KB
  • 文档页数:7

一、选择题(每题2分,共10×2=20分)
1. 以下有关构造函数的叙述不正确的是( )。
A. 构造函数名必须和类名一致 B. 构造函数在定义对
象是自动执行
C.构造函数无任何函数类型 D. 在一个类中构造函
数有且仅有一个

2. 下列运算符中,( )运算符在中不能重载。
A.?: B.[]

3. 有以下类的定义,其中出错的位置是( )

{ (); A
:
10; B
( a0); C
(); D

};

4. 以下叙述中不正确的是( )
A.某类的友元类中的所有成员函数可以存取或修改该类中
的私有成员。
B.类的一个成员只能具有一种访问控制属性
C.构造函数和析构函数是特殊的成员函数,因此不允许重载
D.通过对象只能访问类的公有成员

5. 设A为类的对象且赋有初值,则语句 ;表示( )
A. 语法错误 B. 为对象A定义一个别名
C. 将对象A复制给对象B D. 仅说明B和A属于同一个

6. 友元函数的作用是( )
A.提高程序的效率 B.加强类的封装性

班级 学号 姓名
C.实现数据的隐蔽性 D.增加成员函数的种

7. 以下关于静态成员函数的叙述不正确的是( )
A.静态成员函数属于整个类
B.对静态成员函数的引用允许使用对象名
C.在静态成员函数中不能直接引用类的非静态成员
D. 使用类名可以直接调用其静态成员函数

8. 以下叙述正确的是( )
A.派生类中不可以定义与基类中同名的成员变量
B.派生类中不可以重载成员函数
C.派生类中不能调用基类中的同名函数

D.以上三项均不正确

9. 设有以下类和对象的定义:
A
{:
m;
};
A k12,*p1,*p2;
则下面针对成员变量m的引用,正确的是( )

A. k11; B. k2->2; C. p13; D. (*p2)->4;

10. 派生类的对象对它的哪一类基类成员是可以访问的?
( )
A.公有继承的基类的公有成员 B. 公有继
承的基类的保护成员
C. 公有继承的基类的私有成员 D. 保护继
承的基类的公有成员

二、填空题(2*10分)
1. 类的成员按访问权限可分为三
类: 、 、 。
2. 在中定义类时,通常是利用 描述对象的“特征”; 利
用 描述对象的“行为”。
3. * p = [20]; 动态分配数组
释放数组
4. 为了提高代码通用性,自动适应数据类型的变化,中采用
5. 要求通过函数来实现一种不太复杂的功能,并且要求加快执
行速度,可将该函数定义为

6. 在私有继承关系下,基类的公有成员和保护成员将成为派生
类中的 成员,它们只能由
来访问。

三、读程并写出程序的运行结果(40分)(注:以下程序都省略
了相关头文件)
1 (6分) () { 00; ( 8<=20) (40) ; ; <<""< ( y);
()
{
{ <<"5/2="<<(5,2)<<;
<<"8/0="<<(8,0)<<;
<<"7/1="<<(7,1)<<;
}
()
{ <<" .\n"; }
<<" .\n";
}
( y)
{ (0) y;
;
}
3 (7分) { : ; ( ) { 2;} ( n) { ;} () { <<""<<<<; } }; 1: { : 1( m) (m){} }; 2: { : ; 2( 0) { ; } }; () { A; 1 (3); 2 ; (); (); (); } 4 (7分)

{:
() = 0;
() { <<"!"<<;}
};
:
{ :
() {<<"!"<<;}
() {<<"!"<<; }
};
:
{ :
() {<<"!"<<;}
() {<<"!"<<; }
};
( *)
{ >();
>();
}
()
{ * [2]={ (), ()};
([0]);
([1]);
}
5 (7分) B { b; : B( i) : b(i) { <<"B's ." <<;} : }; B { B b; c; : C( j); }; ( j)(i)(1) { ; <<"C's ."<<; } () { C (1,6); 0; } 6 (7分)

{ n;
:
() {;}
() {< () { ;}
};
0;
()
{ a;
();
{ b[4];
b[3]();
}
();
}

四、综合编程题(20分)
1.编写一个抽象类,在此基础上派生出类(矩形)和(圆),二者
都有计算面积的函数(),计算周长的函数(),并画出类图。(10
分)。主函数中,动态分配内存生成2个圆,3矩形,将其地址
放入指针数组,并将所有对象的面积和周长以文本方式保存到文
件中。(10分)
参考答案

1 共有,私有,保护
2 成员属性,成员函数
3 p[]
4 模板
5 内联
6 私有,派生类成员

1 4 9
2 5/2=2
.

.

3 2
3
2
4 !
!
!
!
5 B's
B's
C's
6 1
5
1