南开19春学期(1709、1803、1809、1903)《面向对象程序设计》在线作业-2辅导资料答案

上传人:279****70 文档编号:87795629 上传时间:2019-04-12 格式:DOC 页数:7 大小:34.50KB
返回 下载 相关 举报
南开19春学期(1709、1803、1809、1903)《面向对象程序设计》在线作业-2辅导资料答案_第1页
第1页 / 共7页
南开19春学期(1709、1803、1809、1903)《面向对象程序设计》在线作业-2辅导资料答案_第2页
第2页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《南开19春学期(1709、1803、1809、1903)《面向对象程序设计》在线作业-2辅导资料答案》由会员分享,可在线阅读,更多相关《南开19春学期(1709、1803、1809、1903)《面向对象程序设计》在线作业-2辅导资料答案(7页珍藏版)》请在金锄头文库上搜索。

1、南开19春学期(1709、1803、1809、1903)面向对象程序设计在线作业-2 4、B 一、单选题共35题,70分1、已知函数原型:void f(int a, int b=3,char c=*); 则下面的函数调用中,不合法的调用是()。Af(5)Bf(5,8)Cf(6, , #)Df(0,0, #)正确答案是:C2、以下为重载函数的一组函数声明的是()。Avoid print(int); void print(double);Bvoid fun(int); int fun(int);Cint max(int,int); int min(int,int);Dvoid mm(); int

2、mm();正确答案是:A3、关于抽象类, 下列表述正确的是( )。A抽象类的成员函数中至少有一个没有实现的函数(即无函数体定义的函数)B派生类必须实现作为基类的抽象类中的纯虚函数C派生类不可能成为抽象类D抽象类不能用于定义对象正确答案是:D4、基类的()在私有继承时在派生类中为私有成员函数,在公有和保护继承时在派生类中为保护成员函数。A私有成员函数B保护成员函数C公有成员D保护数据成员正确答案是:B5、包含类fstream定义的头文件是( )。AfstreamBofstreamCifstreamDiostream正确答案是:A6、关于函数模板,描述错误的是( )。A函数模板必须由程序员实例化为

3、可执行的函数模板B函数模板的实例化由编译器实现C一个类定义中,只要有一个函数模板,则这个类是类模板D类模板的成员函数都是函数模板正确答案是:A7、动态联编所支持的多态性是( )。A虚函数B继承C编译时的多态性D运行时的多态性正确答案是:D8、下列关于成员访问权限的描述中,不正确的是( )。A公有数据成员和公有成员函数都可以通过类对象直接访问B类的私有数据成员只能被公有成员函数以及该类的任何友元类或友元函数访问C保护成员在派生类中可以被访问,而私有成员不可以D类或派生类的成员函数可以访问保护成员正确答案是:B9、假定MyClass为一类,执行MyClass a,b(2),*p2;语句时会自动调用

4、该类构造函数()次。A2B3C4D5正确答案是:A10、在类定义的外部,可以被访问的成员有( )。A所有类成员Bprivate或protected的类成员Cpublic的类成员Dpublic或private的类成员正确答案是:C11、下列说法中错误的是( )。A公有继承时基类中的public成员在派生类中是public的B公有继承时基类中的private成员在派生类中是不可访问的C私有继承时基类中的public成员在派生类中是private的D私有继承时基类中的public成员在派生类中是protected的正确答案是:D12、在一个类中,可以对一个操作符进行()重载。A1种B2种C3种D多种

5、正确答案是:D13、对于拷贝构造函数,正确的描述是()。A在C+语言中,如果不自定义类的拷贝构造函数,则每个类都有默认的拷贝构造函数B必须为每个类定义拷贝构造函数C如果要使用拷贝构造函数,则必须在类中先定义D当定义了类的构造函数时,如果要使用拷贝构造函数,则必须定义拷贝构造函数正确答案是:A14、在C+中,通过()的机制可以对原有的类进行扩充和完善以适应新的需要。A继承B封装C多态D重载正确答案是:A15、下列关于成员函数特征的描述中,错误的是( )。A成员函数一定是内联函数B成员函数可以重载C成员函数可以设置参数的默认值D成员函数可以是静态的正确答案是:A16、下面关于构造函数和析构函数的描

6、述,错误的是()。A析构函数中调用虚函数采用静态联编B对虚析构函数的调用可以采用动态联编C当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数D构造函数可以声明为虚函数正确答案是:D17、运算符重载的目的是()。A提高程序的效率B提高代码复用能力C简化程序,减少目标代码D使程序代码直观易读正确答案是:D18、在一个C+源文件中使用了cin和cout,那么在这个源文件中必须包含()文件。AiostreamBfstreamCstdio.hDstdlib.h正确答案是:A19、下列关于运算符重载的描述中,正确的是()。A运算符重载可以改变操作数的个数B运算符重载可以改变运算符的优先级C运算符

7、重载可以改变运算符的结合性D运算符重载可以使运算符实现特殊功能正确答案是:D20、运算符delete删除一个动态对象时( )。A首先为该动态对象调用构造函数,再释放其占用的内存B首先释放该动态对象占用的内存,再为其调用构造函数C首先为该动态对象调用析构函数,再释放其占用的内存D首先释放动态对象占用的内存,再为其调用析构函数正确答案是:C21、已知AA是一个类,则执行语句AA a;后( )。A自动调用无参构造函数B自动调用有参构造函数C自动调用拷贝构造函数D产生一个对象a,但不调用任何函数正确答案是:A22、已知X类,则当程序执行到语句 X array3; 时,调用了( )次构造函数。A0B1C

8、2D3正确答案是:D23、在保护继承中,基类中的私有成员作为派生类的()。A公有成员B私有成员C保护成员D不可访问正确答案是:D24、已知类X中的一个成员函数说明如下: Void Set(X &a); 其中,X &a的含义是( )。Aa是指向X类对象的指针,用来作为Set()的形参B将a的地址传递给Set()函数Ca是X类对象的引用,用来做为Set()的形参D以上都不对正确答案是:C25、变量的引用,其含义是指该变量的()。A值B类型C别名D地址正确答案是:C26、下面说法中正确的是( )。A当声明的内容不同时,声明同一个名字的两个类是允许的B不完全声明的类也可以实例化C声明同一个名字的两个类

9、时,要求声明的内容也相同D声明同一个名字的两个类是错误的正确答案是:D27、关于动态关联的下列叙述中,()是错误的。A动态关联是以虚函数为基础的B动态关联调用虚函数操作是指向对象的指针或引用C动态关联是在运行时确定所调用的函数代码的D动态关联是在编译时确定操作函数的正确答案是:D28、多继承的构造函数顺序可分为如下4步: 所有非虚基类的构造函数按照它们被继承的顺序构造。 所有虚基类的构造函数按照它们被继承的顺序构造。 所有子对象的构造函数按照它们声明的顺序构造。 派生类自己的构造函数体 这四个步骤的正确顺序是()。ABCD正确答案是:C29、多态调用是指( )。A以任何方式调用一个虚函数B以任

10、何方式调用一个纯虚函数C借助于指向对象的基类指针或引用调用一个虚函数D借助于指向对象的基类指针或引用调用一个纯虚函数正确答案是:C30、对于任意一个类,析构函数的个数最多为( )。A0B1C2D3正确答案是:B31、下列虚基类的声明中,正确的是()。Aclass virtual B:public ABvirtual class B:public ACclass B: public A virtualDclass B: virtual public A正确答案是:D32、若一个类中含有纯虚函数,则该类称为( )。A基类B纯基类C派生类D抽象类正确答案是:D33、下列( )不是构造函数的特征。A构

11、造函数的函数名与类名相同B构造函数可以重载C构造函数可以设置默认参数D构造函数必须指定类型说明正确答案是:D34、下列程序中说明的公有成员是( ) class Location int X; public: void init(int initX,int initY); private: int Y; public: int GetX(); int GetY(); ;AXBinit(int initX,int initY)CGetX(),GetY()DB和C都是正确答案是:D35、要在类对象上使用运算符,以下不用必须被重载的运算符是()。A B=C+D-正确答案是:B二、判断题共15题,30分

12、1、一个类的静态数据成员被该类的所有对象共享。A错误B正确正确答案是:B语言中scanf命令在c+中改用cin。A对B错正确答案是:A3、使用关闭文件函数close()关闭一个文件时,但流对象仍存在。A对B错正确答案是:A4、程序设计过程是指编写程序的过程。A对B错正确答案是:B5、定义重载函数时,应保证函数类型有所不同。A对B错正确答案是:B6、一个抽象类的派生类可以用于创建对象。A对B错正确答案是:B7、在C+程序中,有且仅能有一个主函数,且其函数名必须是main。A错误B正确正确答案是:B8、在一个类中声明了某个静态数据成员,并在类外给出其定义和初始化后,若未定义该类的对象,该静态数据成

13、员则不存在。A错误B正确正确答案是:A9、函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。A对B错正确答案是:A10、a为MyClass类对象,“static void SetRate(double r).”是MyClass类的静态成员函数,则执行语句“a.SetRate(0.05);”时,SetRate成员函数中的this指针指向对象a的地址。A错误B正确正确答案是:A1+基类中,不能被派生类继承的有构造函数和析构函数。A对B错正确答案是:A1语言中printf命令在c+中改用cin。A对B错正确答案是:B13、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为: AB operator+(AB &,AB &);A错误B正确正确答案是:A14、类模板可以生成若干个模板类,每个模板类又可定义若干个对象。A对B错正确答案是:A15、一般将C+中的类声明和类实现分别放到两个文件中。A对B错正确答案是:A

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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