【奥鹏电大】南开大学21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业2

上传人:专****业 文档编号:186829613 上传时间:2021-07-21 格式:DOC 页数:7 大小:29.50KB
返回 下载 相关 举报
【奥鹏电大】南开大学21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业2_第1页
第1页 / 共7页
【奥鹏电大】南开大学21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业2_第2页
第2页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《【奥鹏电大】南开大学21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业2》由会员分享,可在线阅读,更多相关《【奥鹏电大】南开大学21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业2(7页珍藏版)》请在金锄头文库上搜索。

1、【奥鹏电大】南开大学21春学期(1709、1803、1809、1903、1909、2003、2009、2103)面向对象程序设计在线作业试卷总分:100 得分:100一、单选题 (共 35 道试题,共 70 分)1.下列关于构造函数说法不正确的是()。A.构造函数必须与类同名B.构造函数可以省略不写C.构造函数必须有返回值D.在构造函数中可以对类中的成员进行初始化答案:C2.若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的(?)。A.私有成员B.公有成员C.保护成员D.保护成员或私有成员答案:A3.类A是类B的友元,类B是类C的友元,则( )是正确的。A.类B是类A

2、的友元B.类C是类A的友元C.类A是类C的友元D.以上都不对答案:D4.下列关于构造函数调用顺序的描述中,正确的是()。A.创建派生类对象时,先调用基类的构造函数,后调用派生类的构造函数B.创建基类对象时,先调用基类的构造函数,后调用派生类的构造函数C.创建派生类对象时,先调用派生类的构造函数,后调用基类的构造函数D.创建基类对象时,先调用派生类的构造函数,后调用基类的构造函数答案:A5.派生类的构造函数的成员初始化列表中,不能包含()。A.基类的构造函数B.派生类中子对象的初始化C.基类的子对象初始化D.派生类中一般数据成员的初始化答案:C6.对于任意一个类,析构函数的个数最多为( )。A.

3、0B.1C.2D.3答案:B7.对于任意一个类,构造函数的个数最少为( )。A.0B.1C.2D.3答案:B8.类MyClass的定义如下: class MyClass public: MyClass() value = 0; SetVariable(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-S

4、etVariable(5)与语句my.SetVariable(5)等价答案:D9.下列类中( )是输入/输出流类iostream的派生类。A.fstreamB.ofstreamC.ifstreamD.ostream答案:A10.有下面类的说明,有错误的语句是( )。 class X A.int a=2; B.X(); public: C.X(int val); D.X(); ;A.AB.BC.CD.D答案:A11.如果一个类至少有一个纯虚函数,那么就称该类为()。A.抽象类B.派生类C.纯基类D.以上都不对答案:A12.下面说法中正确的是( )。A.一个类只能定义一个构造函数,但可以定义多个析

5、构函数B.一个类只能定义一个析构函数,但可以定义多个构造函数C.构造函数与析构函数同名,只要名字前加了一个求反符号()D.构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以答案:B13.下面函数原型声明中,( )声明了fun为纯虚函数。A.void fun()=0;B.virtual void fun()=0;C.virtual void fun();D.virtual void fun();答案:B14.类的默认的无参构造函数()。A.在任何情况下都存在B.仅当未定义无参构造函数时存在C.仅当未定义有参构造函数时存在D.仅当未定义任何构造函数时存在答案:D1

6、5.撤消对象时,系统自动调用( )函数。A.成员函数B.构造函数C.析构函数D.普通函数答案:C16.对静态成员的不正确描述是( )。A.静态成员不属于对象,是类的共享成员B.静态数据成员要在类外定义和初始化C.调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针D.非静态成员函数也可以操作静态数据成员答案:C17.关于对象成员的构造函数的调用顺序,说法正确的是( )。A.与它们在成员初始化列表中给出的顺序相同B.与析构函数的调用顺序相同C.与它们在类中说明顺序相同D.以上说法都不对答案:C18.下面( )的叙述不符合赋值兼容规则。A.派生类的对象可以赋值给基类的对象B.基类

7、的对象可以赋值给派生类的对象C.派生类的对象可以初始化基类的对象D.派生类的对象的地址可以赋值给指向基类的指针答案:B19.关于多继承二义性的描述中,错误的是()。A.一个派生类的基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性B.解决二义性的最常用的方法是对成员名的限定法C.基类和派生类同时出现的同名函数,也存在二义性问题D.一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类, 对该基类成员进行访问时,可能出现二义性答案:C20.有关析构函数的说法不正确的是( )。A.析构函数有且仅有一个B.析构函数和构造函数一样可以有形参C.析构函数的功能是用来释放一个对象D

8、.析构函数无任何函数类型答案:B21.下面说法中正确的是( )。A.当声明的内容不同时,声明同一个名字的两个类是允许的B.不完全声明的类也可以实例化C.声明同一个名字的两个类时,要求声明的内容也相同D.声明同一个名字的两个类是错误的答案:D22.下列虚基类的声明中,正确的是()。A.class virtual B:public AB.virtual class B:public AC.class B: public A virtualD.class B: virtual public A答案:D23.友元访问类对象的成员时使用( )。A.类的成员名B.“this-成员名”的形式C.“类名:成员

9、名”的形式D.“对象名.成员名”的形式答案:D24.类对象占用内存的大小与()有关。A.数据成员B.成员函数C.数据成员和成员函数D.私有成员答案:A25.若一个类中含有纯虚函数,则该类称为( )。A.基类B.纯基类C.派生类D.抽象类答案:D26.C+对C语言做了很多改进,下列描述中( )使得C语言发生了质变,即从面向过程变成面向对象。A.增加了一些新的运算符B.允许函数重载,并允许设置默认参数C.规定函数说明必须用原型D.引进类和对象的概念答案:D27.下面关于类的成员函数描述不正确的是()。A.静态成员函数内可以直接访问类的非静态成员数据B.静态成员函数内可以直接访问类的静态成员数据C.

10、非静态成员函数可以直接访问类的非静态成员数据D.非静态成员函数可以直接访问类的静态成员数据答案:A28.关于动态关联的下列叙述中,()是错误的。A.动态关联是以虚函数为基础的B.动态关联调用虚函数操作是指向对象的指针或引用C.动态关联是在运行时确定所调用的函数代码的D.动态关联是在编译时确定操作函数的答案:D29.假定MyClass为一个类,则该类的拷贝构造函数的声明语句为( )。A.MyClass(MyClass x)B.MyClass&(MyClass x)C.MyClass(MyClass &x)D.MyClass(MyClass *x)答案:C30.交换两个string类对象所表示的字

11、符串的内容,应该使用string类的()函数。A.assignB.insertC.swapD.find答案:C31.关于虚函数,下列表述正确的是( )。A.如果在重定义虚函数时使用virtual,则该重定义函数仍然是虚函数B.虚函数不得声明为静态函数C.虚函数不得声明为另一个类的友元函数D.派生类必须重新定义基类的虚函数答案:B32.在类定义的外部,可以被访问的成员有( )。A.所有类成员B.private或protected的类成员C.public的类成员D.public或private的类成员答案:C33.已知“int a=10;int &r=a; r=r+20;cout。答案:正确38.

12、一个类的构造函数中可以不包含对其子对象的初始化。答案:错误39.在类体中可以在声明成员变量的同时为其赋初值。答案:错误40.类的常量数据成员的值只能在创建对象时初始化,初始化后不得再修改。答案:正确41.在成员函数的函数类型前加上const关键字,则该成员函数就是常量成员函数。答案:错误42.类的成员函数中可以直接访问对象成员中的私有成员。答案:错误43.派生类的继承方式中有两种:公有继承和私有继承。答案:错误44.引用是某个变量的别名。对引用的操作,实质上就是对被引用的变量的操作。答案:正确45.私有继承中,对于基类中的所有成员,派生类的成员函数都不可直接访问。答案:错误46.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为: AB operator+(AB &,AB &);答案:错误47.运算符重载的形式有两种:成员函数形式和友元形式。答案:正确48.类的静态成员变量只能在静态成员函数中使用。答案:错误49.在私有继承中,基类中只有公有成员对派生类是可见的。答案:错误50.运算符重载是一种特殊的函数重载,其函数名为operator。答案:正确

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

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

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