【奥鹏】南开《面向对象程序设计》

上传人:奥鹏****02 文档编号:144072979 上传时间:2020-09-05 格式:DOC 页数:21 大小:103.50KB
返回 下载 相关 举报
【奥鹏】南开《面向对象程序设计》_第1页
第1页 / 共21页
【奥鹏】南开《面向对象程序设计》_第2页
第2页 / 共21页
【奥鹏】南开《面向对象程序设计》_第3页
第3页 / 共21页
【奥鹏】南开《面向对象程序设计》_第4页
第4页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《【奥鹏】南开《面向对象程序设计》》由会员分享,可在线阅读,更多相关《【奥鹏】南开《面向对象程序设计》(21页珍藏版)》请在金锄头文库上搜索。

1、面向对象程序设计20春期末考核-00001温馨提示:请认真核对好题目内容后再进行下载试卷总分:100 得分:100一、单选题 (共 30 道试题,共 30 分)1.下面对静态数据成员的描述中,正确的是()。A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被该类的对象调用C.静态数据成员不能受private控制符的作用D.静态数据成员可以直接用类名访问正确答案:D2.下列关于赋值运算符重载的说法中正确的是()。A.返回值一般是以引用方式返回的对象,而函数体中总是用语句“return *this;”返回this指针所指向的对象B.赋值运算符只能以非成员函数的方式重载C.赋值运算符既可以

2、以成员函数的方式重载,又可以以非成员函数的方式重载D.以上均不正确正确答案:A3.对于下面定义的类A在函数f()中将对象成员n的值修改为60的语句应该是( ) class A public: A(int x)n=x; void SetNum(int n1)n=n1; private: int n; int f() A*ptr=new A(6); A.A(60)B.SetNum(60)C.ptr-SetNum(60)D.ptr-n=60正确答案:C4.下面叙述错误的是( )。A.派生类可以使用private派生B.对基类成员的访问必须是无二义性的C.基类成员的访问能力在派生类中维持不变D.赋值兼

3、容规则也适用于多继承的组合正确答案:C5.抽象类的作用主要是()。A.直接用作基类B.直接用作指针C.引用的基类型D.包括以上各项正确答案:D6.下列对重载函数的描述中,( )是错误的。A.重载函数中不允许使用默认参数B.重载函数中编译时根据参数表进行选择C.不要使用重载函数来描述毫无相干的函数D.构造函数重载将会给初始化带来多种方式正确答案:A7.假定X为一个类,执行X a3,*p2;语句时会自动调用该类的构造函数( )次。A.2B.3C.4D.5正确答案:B8.在一个C+源文件中使用了cin和cout,那么在这个源文件中必须包含()文件。A.iostreamB.fstreamC.stdio

4、.hD.stdlib.h正确答案:A9.下列虚基类的声明中正确的是( )。A.class virtual B:public AB.virtual class B:publicC.class B:public A virtualD.class B: virtual public A正确答案:D10.空类的声明( )是正确的。A.class类名;B.class类名;C.class类名D.class类名正确答案:B11.下列关于成员函数特征的描述中,错误的是()。A.成员函数可以重载B.成员函数一定是内联函数C.成员函数可以设置参数的默认值D.成员函数可以是静态的正确答案:B12.友元重载运算符ob

5、j1obj2被C+编译器解释为()。A.operator(obj1,obj2)B.(obj1,obj2)C.obj1.operator(obj2)D.obj2.operator(obj1)正确答案:A13.在C+中,能被派生类继承的函数是( )。A.成员函数B.构造函数C.析构函数D.拷贝构造函数正确答案:A14.多态调用是指( )。A.以任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数D.借助于指向对象的基类指针或引用调用一个纯虚函数正确答案:C15.一个类的友元函数或友元类能够通过成员操作符访问该类的()。A.私有成员B.保护成员C.公有

6、成员D.所有成员正确答案:D16.继承具有(),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。A.规律性B.传递性C.重复性D.多样性正确答案:B17.在下列选项中( )不是ostream类的对象。A.cinB.cerrC.clogD.cout正确答案:A18.若析构函数是虚函数,则delete对析构函数的调用采用( )。A.静态联编B.动态联编C.重载函数D.多重函数正确答案:B19.下列表示引用的方法中,( )是正确的。 已知:int k=1000;A.int &x=k;B.char &y;C.int &z=1000;D.float &t=&k;正确答案:A2

7、0.要求打开文件 d:file.dat,可写入数据,正确的语句是( )。A.ifstream infile(d:file.dat, ios:in);B.ifstream infile(d:file.dat, ios:in);C.ofstream infile(d:file.dat, ios:out);D.fstream infile(d:file.dat, ios:in| ios:out);正确答案:D21.在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则()。A.完全相同B.完全不同C.部分相同,部分不同D.以上都不对正确答案:A22.面向对象程序设计思想的主要特

8、征中不包括( )。A.封装性B.多态性C.继承性D.功能分解,逐步求精正确答案:D23.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )。A.ios:inB.ios:outC.ios:trunkD.ios:binary正确答案:A24.假定已定义浮点型变量data,以二进制方式把data的值写入输出文件流对象outfile中去,正确的语句是( )。A.outfile.write(float *) &data, sizeof(float);B.outfile.write(float *) &data, data);C.outfile.write(char

9、*) &data, sizeof(float);D.outfile.write(char *) &data, data);正确答案:C25.下列关于主函数的叙述中正确的是()。A.一个程序可以有多个主函数B.程序从主函数开始执行C.一个程序可以没有主函数D.主函数是一个特殊的函数,因此其结构与其他函数不同正确答案:B26.下列类中( )是输入/输出流类iostream的派生类。A.fstreamB.ofstreamC.ifstreamD.ostream正确答案:A27.类MyClass的定义如下: class MyClass public: MyClass() value = 0; SetVa

10、riable(int i) value = i; private: int value; 则对下列语句序列正确的描述是()。 MyClass *p,my; p=&my;A.语句p=&my;是把对象my赋值给指针变量pB.语句MyClass *p,my;会调用两次类MyClass的构造函数C.对语句 *p.SetVariable(5)的调用是正确的D.语句p-SetVariable(5)与语句my.SetVariable(5)等价正确答案:D28.类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p-A:func()将( )。A.调用类A中是函数fun

11、c()B.调用类B中是函数func()C.根据P所指的对象类型而确定调用A中或类B中的函数func()D.既调用类A中函数,也调用类B中的函数正确答案:A29.下列关于虚函数的说明中,正确的是()。A.从虚基类继承的函数都是虚函数B.虚函数不得是静态成员函数C.只能通过指针或引用调用虚函数D.抽象类中的成员函数都是虚函数正确答案:B30.虚函数必须是类的()。A.友元函数B.成员函数C.构造函数D.析构函数正确答案:B二、多选题 (共 15 道试题,共 30 分)31.下列关于函数模板的描述中,正确的是( )。A.函数模板和普通函数重载时,函数调用会优先调用符合要求的普通函数B.函数模板和普通

12、函数重载时,函数调用会优先调用符合要求的函数模板C.函数模板的主要作用是减少可执行程序文件的尺寸D.函数模板的主要作用是简化程序编写正确答案:AD32.下列( )是构造函数的特征。A.构造函数在创建对象时自动调用B.构造函数不可以重载C.构造函数不可以设置默认参数D.构造函数没有函数类型正确答案:AD33.基类中的公有成员可能是派生类的( )。A.public成员B.private成员C.protected成员D.友元成员正确答案:ABC34.下面描述中,错误的是( )。A.虚函数是没有实现的函数B.纯虚函数是没有实现的函数C.抽象类可以用于创建对象D.抽象类指针可以指向不同的派生类正确答案:

13、AC35.基类中的保护成员可能是派生类的( )。A.public成员B.private成员C.protected成员D.友元成员正确答案:BC36.下列关于类的常量成员函数的说法中,正确的是( )。A.只有类的成员函数可以在函数头后面加const关键字B.在常量成员函数中可以获取成员变量的值、但不能修改C.在常量成员函数中只能访问常量数据成员D.在类体外定义常量成员函数时,函数头后面的const关键字可以省略正确答案:AB37.下面描述中,正确的是( )。A.多重继承中,派生类对象被销毁时析构函数的调用顺序与派生类对象创建时构造函数的调用顺序相反B.多重继承中,派生类对象被销毁时析构函数的调用

14、顺序与派生类对象创建时构造函数的调用顺序一致C.多重继承中创建派生类对象时各基类构造函数的调用顺序与基类构造函数在初始化列表中的出现顺序一致D.多重继承中,如果派生类的初始化列表中没有某个基类构造函数的调用语句,则表示调用该基类的无参构造函数正确答案:AD38.下列描述正确的是( )。A.使用基类指针释放其所指向的派生类对象时,必须将析构函数声明为虚函数B.为了减少错误,在定义类时最好将每个类的析构函数都声明为虚函数C.当类里包含一个虚函数时,应把析构函数也声明为虚函数D.类中包含虚函数会增加对象的尺寸正确答案:ACD39.下列关于拷贝构造函数的说法中,正确的是( )。A.拷贝构造函数是一个特殊的构造函数B.一个类中只能有一个拷贝构造函数C.如果定义一个类时没有定义拷贝构造函数,则系统会提供一个默认的不包含任何操作的拷贝构造函数D.当一个类中有指针类型的成员变量时,则需要为这个类定义拷贝构造函数正确答案:ABD40.类成员的访问控制方式包括( )。A.publicB.privateC.protectedD.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号