《面向对象程序设计C 》期末试卷(A)10-11 联系客服

发布时间 : 星期四 文章《面向对象程序设计C 》期末试卷(A)10-11更新完毕开始阅读9c46ea3803768e9951e79b89680203d8ce2f6ac7

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

北京化工大学北方学院2010——2011学年第一学期

《面向对象程序设计C++》期末考试试卷(A)

班级: 姓名: 学号: 分数:

题号 得分 一 二 三 四 总分 试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方无效。

(答题纸在本套试卷的第9页上)

一、选择题(每小题2分,共40分)

1、下列描述中,不属于面向对象思想主要特征的是( )。

A. 封装性 B. 多态性 C. 继承性 D. 跨平台 2、若定义:string str; 当语句cin>>str; 执行时,从键盘输入: Microsoft Visual Studio 6.0! 所得的结果是str=( )。

A. Microsoft Visual Studio 6.0! B. Microsoft

C. Microsoft Visual D. Microsoft Visual Studio 6.0 3、考虑下面的函数原型声明:void test (int a,int b=7,char z='*'); 下面函数调用中,不合法的是( )。

A. test (5); B. test (5,8); C. test (5,'#'); D. test (0,0,'*'); 4、已知函数fun的原型为

int fun(int, int, int);

下列重载函数原型中错误的是( )。

A. char fun(int, int); B. double fun(int, int, double); C. int fun(int, char*); D. float fun(int, int, int); 5、下列表示引用的方法中,( )是正确的。

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

已知:int a=1000;

A. int &x=a; B. char &y; C. int &z=1000; D. float &t=&a; 6、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用( )。

A. 内联函数 B. 重载函数 C. 递归调用 D. 嵌套调用 7、下列有关C++类的说法中,不正确的是( )。 A. 类是一种用户自定义的数据类型

B. 只有类中的成员函数或类的友元函数才能存取类中的私有成员 C. 在类中,如果不做特别说明,所有成员的访问权限均为私有的 D. 在类中,如果不做特别说明,所有成员的访问权限均为公用的

8、Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是( )。 Sample a[2], *P = new Sample;

A. 0 B. 1 C. 2 D. 3 9、下面说法中,正确的是( )。

A. 一个类只能定义一个构造函数,但可以定义多个析构函数 B. 一个类只能定义一个析构函数,但可以定义多个构造函数 C. 构造函数与析构函数同名,只要名字前加了一个求反符号(~)

D. 构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以

10、已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,( )是正确的。

A. const void print( ); B. void print( ) const; C. void const print( ); D. void print(const); 11、通过派生类的对象可直接访问其( )

A. 公用继承基类的公用成员 B. 公用继承基类的私有成员 C. 私有继承基类的公用成员 D. 私有继承基类的私有成员

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

12、下列关于虚基类的描述中,错误的是( )。 A. 使用虚基类可以消除由多继承产生的二义性 B. 构造派生类对象时,虚基类的构造函数只被调用一次 C. 声明“class B : virtual public A”说明类B为虚基类 D. 建立派生类对象时,首先调用虚基类的构造函数 13、下面( )的叙述不符合赋值兼容规则。 A. 派生类的对象可以赋值给基类的对象 B. 基类的对象可以赋值给派生类的对象 C. 派生类的对象可以初始化基类的对象

D. 派生类的对象的地址可以赋值给指向基类的指针

14、建立一个含有成员对象的派生类对象时,各构造函数的执行次序为( )。 A. 派生类 成员对象类 基类 B. 成员对象类 基类 派生类 C. 基类 成员对象类 派生类 D. 基类 派生类 成员对象类 15、关于虚函数的描述中,( )是正确的。 A. 虚函数是一个static类型的成员函数 B. 虚函数是一个非成员函数

C. 基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数 D. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型 16、下面关于友元的描述中,错误的是( )。 A. 友元函数可以访问该类的私有数据成员

B. 一个类的友元类中的成员函数都是这个类的友元函数 C. 友元可以提高程序的运行效率 D. 类与类之间的友元关系可以继承 17、有如下类定义:

class Point{ private:

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

static int how_many; }

how_many=0;

要初始化Point类的静态成员how_many,下划线处应填入的内容是( )。 A. int B. static int C. int Point:: D. static int Point::

18、已知表达式++i中的“++”是作为成员函数重载的运算符,则与++i等效的运算符函数调用形式为( )。

A. i.operator++() B. operator++(i) C. operator++(i,1) D. i.operator++(1) 19、有如下模板声明:

template < typename T1, typename T2> class A; 下列声明中,与上述声明不等价的是( )。 A. template class A; B. template class A; C. template class A; D. template class A; 20、下列的各类函数中,( )不是类的成员函数

A. 构造函数 B. 析构函数 C. 友元函数 D. 复制构造函数 二、填空题(前14个空,每空1分,后3个空,每空2分,共20分)

1、类和对象的关系可表述为:类是对象的 ,而对象则是类的 。 2、C++中的函数参数传递方式有三种,它们是:值传递,地址传递和 。 3、静态成员函数没有隐含的 ,所以,在C++程序中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员。

4、在图1中,A,B,C,D,E,F均是类,其中属于单继承的派生类有 ,属于多继承的派生类有 ,类F的基类有 ,类A的派生类有 。

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------