《南开大学22春学期《面向对象程序设计》在线作业答卷.docx》由会员分享,可在线阅读,更多相关《南开大学22春学期《面向对象程序设计》在线作业答卷.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、22春学期(高起本1709-1803、全层次1809-2103)面向对象程序设计在线作业-00003试卷总分:100得分:100一、单选题(共35道试题,共70分)1 .下列对派生类的描述中,()是错误的。A. 一个派生类可以作另一个派生类的基类B.派生类至少有一个基类C.派生类的成员除了它自己的成员外,包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生类保持不变答案:D. 0是一个在基类中说明虚函数,它在该基类中没有定义,但要求任何派生类中的 可访问性的规定是相同的。A.纯虚函数B.虚析构函数C.虚构造函数0.静态成员函数答案:A.关于纯虚函数,下列表述正确的是()。A.纯虚函数
2、是未给出实现版本(即无函数体定义)的虚函数B.纯虚函数的声明总是以“二0”结束C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类一定是派生类答案:B.要求打开文件d:file.dat,可写入数据,正确的语句是()。A. ifstream infile(d:file,dat, ios:in);ifstream infile (z,d: file. dat/z, ios: : in);B. of stream infile (,zd: f ile. datz,, ios: :out);fstream infile (/?d: f ile. dat/,, ios: : in | ios: :out
3、);答案:I).运行以下程序时,如果由键盘输入65 14,则输出结果是()。ttinclude using name space std; int main () int m, n; coutmn; while(m!=n) while(mn) m-=n; while(nm) n-=m; coutmA:func()将()。A.调用类A中是函数func ()B.调用类B中是函数func()C.根据P所指的对象类型而确定调用A中或类B中的函数func ()D.既调用类A中函数,也调用类B中的函数答案:A.虚函数必须是类的()。A.友元函数B.成员函数C.构造函数D.析构函数答案:B.下面描述中,错误
4、的是()。A.在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问B.在基类定义的public和protected成员在私有继承的派生类中可见,在类外可 以被访问C.在基类定义的public和protected成员在保护继承的派生类中可见D.在派生类中不可见的成员要变成可访问的,需要进行访问声明 答案:B20 .已知类X中的一个成员函数说明如下:Void Set(X &a);其中,X&a的含义是 ()。A. a是指向X类对象的指针,用来作为Set ()的形参B.将a的地址传递给Set ()函数C.a是X类对象的引用,用来做为Set ()的形参D.以上都不对答案:C.下列()是
5、构造函数的特征。A.构造函数在创建对象时自动调用B.构造函数不可以重载C.构造函数不可以设置默认参数I).构造函数必须指定函数类型答案:A24.已知 “int a=10, *p; int *&r=p; r=&a;*p=20;couta; ,则输出为()。A. 1020C.不确定值D.程序有错误答案:B25.多态调用是指()。A.以任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数D.借助于指向对象的基类指针或引用调用一个纯虚函数答案:C. 一个类的友元函数或友元类能够通过成员操作符访问该类的()。A.私有成员B.保护成员C.公有成员D.所有成员
6、答案:D.下面关于友元的描述中,错误的是()。A.友元函数可以访问该类的私有数据成员B. 一个类的友元类中的成员函数都是这个类的友元函数C.友元可以提高程序的运行效率D.类与类之间的友元关系可以继承答案:D28.下列虚基类的声明中正确的是()。A. class virtual B:public Avirtual class B:publicC.class B:public A virtualD. class B: virtual public A答案:D29.声明一个类的对象时,系统自动调用()函数。A.成员函数B.构造函数C.析构函数D.普通函数答案:B30.类对象占用内存的大小与()有关。
7、A.数据成员B.成员函数C.数据成员和成员函数I).私有成员答案:A.已知X类.则当程序执行到语句X *array3;时,调用了()次构造函数。A. 01B. 23答案:A.关于动态关联的下列叙述中,()是错误的。A.动态关联是以虚函数为基础的B.动态关联调用虚函数操作是指向对象的指针或引用C.动态关联是在运行时确定所调用的函数代码的D.动态关联是在编译时确定操作函数的答案:1).派生类的构造函数的成员初始化列表中,不能包含()。A.基类的构造函数B.派生类中子对象的初始化C.基类的子对象初始化D.派生类中一般数据成员的初始化答案:C.+有()种联编方式。A. 12B. 34答案:B35.下面
8、对析构函数的正确描述是()。A.系统不能提供默认的析构函数B.析构函数必须由用户定义C.析构函数没有参数D.析构函数可以设置默认参数答案:C二、判断题(共15道试题,共30分)36 .在类体中可以在声明成员变量的同时为其赋初值。答案:错误.面向对象程序设计方法中也会使用结构化程序设计方法。答案:正确.运算符口只能用成员运算符来重载,不能用友元运算符来重载。答案:正确. cin后面的符号是。答案:错误.在类内部定义的public数据可以在类外进行存取。答案:正确. 一个函数模板只生成一个模板函数。答案:错误. getlineO函数从流中提取终止字符,但终止字符被丢弃。答案:正确.抽象类虽然也是一种数据类型,但它不能建立对象,只能作为基类被其他类继 承。答案:正确.重载函数可以带默认参数值,但要注意二义性。答案:正确.重载的运算符保持原来的优先级和结合性以及操作数的个数。答案:正确. C+语言允许使用友元,但是友元会破坏封装性。答案:正确.类的私有成员只能被它的成员函数和友元函数访问。答案:正确.函数的定义不可以嵌套,类的定义可以嵌套。答案:正确. C+语言类定义中默认的访问权限是publico答案:错误.定义一个虚基类后,则该虚基类后继类层次中的类都需要调用虚基类的构造函 数对虚基类中定义的成员变量进行初始化。答案:正确