《面向对象程序设计试题和答案》由会员分享,可在线阅读,更多相关《面向对象程序设计试题和答案(4页珍藏版)》请在金锄头文库上搜索。
1、系名_班级_姓名_学号_密封线内不答题一、 填空题(每空1分,共14分)1、 观看以下程序:class pointpublic: void show() cout”point”endl;void main()point p1;point *p;p=&p1;_/通过对象p1访问show函数_/通过指针p访问show函数2、 在C+类中可以包含_、_和_三种具有不同访问控制权的成员。3、 定义类时,在类头中将使用关键字_来表示类定义的开始。4、 如果一个类中至少有一个纯虚函数,则该类称为_。5、 C+类的组成包括数据成员和_,友元_(是、不是)该类的成员函数。6、 友员函数是用关键字_修饰的非成员
2、函数。7、 若有:int i;int &j=i;i=10;j=i+1;则i=_,j=_。8、 new的功能是_,delete的功能是_。二、 选择题(每小题1.5分,共30分)1、下列特性中不是面向对象程序设计语言所特有的是( )。(A)数据封装(B)继承(C)多态性(D)模板2、( )是给变量取一个别名,它引入了变量的同意词。(A)指针(B)引用(C)枚举(D)结构3、类成员的访问权限中,( )只能被本类的成员函数和其友元函数访问。(A)share(B)public(C)private(D)protected4、关于构造函数,下列说法不正确的是( )。(A)构造函数名字和类名相同(B)构造函
3、数在创建对象时自动执行(C)构造函数无任何函数返回类型(D)构造函数有且只有一个5、派生类可以访问其基类的( )。(A)公有成员(B)保护成员(C)私有派生(D)公有和保护成员6、下列关于运算符重载的描述中,错误的是( )。(A)运算符重载不可以改变操作数的个数(B)运算符重载不可以改变运算符的功能(C)运算符重载不可以改变结合方向(D)运算符重载不可以改变运算优先级7、C+语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是( ) (A)面向过程(B)面向对象(C)安全性(D)复用性8、对于类中定义的成员,其隐含访问权限为( )。 Apublic Bpro
4、tected Cprivate Dstatic9、下面有关重载函数的说法中正确的是( ) (A)重载函数必须具有不同的返回值类型;(B)重载函数形参个数必须不同; (C)重载函数必须有不同的形参列表 (D)重载函数名可以不同;10、有如下的对类“CSample”的说明,其中( )是错误的。class CSample Aint a=23;BCSample();public:CCSample(int val);D CSample();11、在int a=3,int *p=&a;中,*p的值是( )A.变量a的地址值 B.无意义C.变量p的地址值 D.312、每个类( )构造函数。 (A)只能有一个
5、 (B)只可有公有的 (C)可以有多个 (D)只可有缺省的13、在一个类中可以对一个操作符进行( )重载。 (A)1 种 (B)2 种以下 (C)3 种以下 (D)多种14、在公有继承的情况下,基类非私有成员在派生类中的访问权限( )(A) 受限制 (B)保持不变 (C)受保护 (D)不受保护15、应在下列程序划线处填入的正确语句是( )#include class Base public: void fun()coutBase:funENDL; ; class Derived:public Base void fun() _/显示调用基类的函数fun() coutDerived:funfun
6、();16、执行下面的程序将输出( ) #include class BASEchar c;public:BASE(char n):c(n)virtual BASE()coutc;class DERIVED:public BASE char c; public: DERIVED(char n):BASE(n+1),c(n) DERIVED()coutshow() (2)公有、私有、保护 (3)class (4)抽象类 (5)成员函数、不是 (6)friend (7)11、11 (8)动态申请内存空间、释放由new申请的空间 二、 选择题(每小题1.5分,共30分)1、D 2、B 3、C 4、D 5、D 6、B 7、B 8、C 9、C 10、A 11、D 12、C 13、D 14、B 15、C 16、A 17、B 18、C 19、C 20、A第3页