在线留言 注册 登录
热门搜索:形考答案免费答案奥鹏答案

南开24春学期《面向对象程序设计》在线作业【标准答案】

Time2024-05-19Hits浏览量: 53
有奥鹏院校所有作业、毕业论文,详情请咨询请添加QQ : 103092222或微信: xyzlfx100

24春学期(高起本:1709-2103、专升本/高起专:2003-2103)《面向对象程序设计》在线作业-00002

试卷总分:100  得分:100

一、单选题 (共 35 道试题,共 70 分)

1.类A是类B的友元,类B是类C的友元,则( )是正确的。

A.类B是类A的友元

B.类C是类A的友元

C.类A是类C的友元

D.以上都不对


2.下列对派生类的描述中错误的是()。

A.派生类至少有一个基类

B.派生类可作为另一个派生类的基类

C.派生类除了包含它直接定义的成员外,还包含其基类的成员

D.派生类对其继承的基类的成员访问权限保持不变


8.下列关于拷贝构造函数的描述中,错误的是()。

A.一个类可以定义多个拷贝构造函数

B.若未定义拷贝构造函数,则系统会提供一个默认拷贝构造函数

C.当类中有指针成员变量时,通常要为这个类定义一个拷贝构造函数来实现深拷贝

D.拷贝构造函数中的参数按引用方式传递


4.友元重载运算符obj1>obj2被C++编译器解释为()。

A.operator>(obj1,obj2)

B.>(obj1,obj2)

C.obj1.operator>(obj2)

D.obj2.operator>(obj1)


5.对A、B两个类进行多重继承得到派生类C,则创建派生类C的对象时,从基类B中继承过来的成员变量由()类的构造函数进行初始化。

A.A

B.B

C.C

D.都可以


6.下列关于动态联编的描述中,错误的是()。

A.动态联编是以虚函数为基础的

B.动态联编是在运行时确定所调用的函数代码的

C.动态联编调用函数操作是通过指向对象的指针或对象

D.动态联编是在编译时确定操作函数的


7.如果类A被说明成类B的友元,则()。

A.类A的成员函数不得访问类B的所有成员

B.类A的成员函数可以访问类B的所有成员

C.类A的成员即类B的成员

D.类B的成员即类A的成员


9.下面( )的叙述不符合赋值兼容规则。

A.派生类的对象可以赋值给基类的对象

B.基类的对象可以赋值给派生类的对象

C.派生类的对象可以初始化基类的对象

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


9.()是一个在基类中说明虚函数,它在该基类中没有定义,但要求任何派生类中的可访问性的规定是相同的。

A.纯虚函数

B.虚析构函数

C.虚构造函数

D.静态成员函数


10.对于拷贝构造函数,正确的描述是()。

A.在C++语言中,如果不自定义类的拷贝构造函数,则每个类都有默认的拷贝构造函数

B.必须为每个类定义拷贝构造函数

C.如果要使用拷贝构造函数,则必须在类中先定义

D.当定义了类的构造函数时,如果要使用拷贝构造函数,则必须定义拷贝构造函数


11.对定义重载函数的下列要求中,( )是错误的。

A.要求参数的个数不同

B.要求参数中至少有一个类型不同

C.要求参数个数相同时,参数类型不同

D.要求函数的返回值不同


12.若析构函数是虚函数,则delete对析构函数的调用采用( )。

A.静态联编

B.动态联编

C.重载函数

D.多重函数


13.友元访问类对象的成员时使用( )。

A.类的成员名

B.“this->成员名”的形式

C.“类名::成员名”的形式

D.“对象名.成员名”的形式


14.已知“int a=10,b=8;int &r=a; r=b;cout<<a<<","<<b<<","<<r;”,则输出为()。

A.10,8,10

B.10,8,8

C.8,8,10

D.8,8,8


15.结构化程序设计方法以()为中心进行分析和设计。

A.结构

B.模块

C.对象

D.类


16.若定义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


17.假设堆内存分配均成功,则下面程序段完全正确的是()。

A.int *p=new int(3);cout<<*p;delete p;

B.int *p=new int[5]={1,2,3,4,5};for(int i=0;i<5;i++)cout<<p[i];delete []p;

C.int *p=new int[5];for(int i=0;i<5;i++,p++) {*p=i; cout<<*p;}delete []p;

D.以上程序段均正确


10.已知类X中的一个成员函数说明如下: Void Set(X &a); 其中,X &a的含义是( )。

A.a是指向X类对象的指针,用来作为Set()的形参

B.将a的地址传递给Set()函数

C.a是X类对象的引用,用来做为Set()的形参

D.以上都不对


19.已知X类.则当程序执行到语句X *array[3];时,调用了( )次构造函数。

A.3

B.2

C.1

D.0


33.动态联编所支持的多态性是( )。

A.虚函数

B.继承

C.编译时的多态性

D.运行时的多态性


21.基类和派生类可以分别叫做( )。

A.“大类”和“小类”

B.“父类”和“子类”

C.“小类”和“大类”

D.“子类”和“父类”


22.下列关于构造函数说法不正确的是()。

A.构造函数必须与类同名

B.构造函数可以省略不写

C.构造函数必须有返回值

D.在构造函数中可以对类中的成员进行初始化


23.有关类和对象的说法不正确的是( )。

A.对象是类的一个实例

B.一个类只能有一个对象

C.任何一个对象只能属于一个具体的类

D.类与对象的关系和数据类型和变量的关系相似


24.实现运行时的多态性要使用()。

A.构造函数

B.析构函数

C.重载函数

D.虚函数


25.类MyClass的定义如下: class MyClass { public: MyClass() { value = 0;} SetVariable(int i) { value = i; } private: int value; } 则对下列语句序列正确的描述是()。 MyClass *p,my; p=&my;

A.语句p=&my;是把对象my赋值给指针变量p

B.语句MyClass *p,my;会调用两次类MyClass的构造函数

C.对语句 *p.SetVariable(5)的调用是正确的

D.语句p->SetVariable(5)与语句my.SetVariable(5)等价


26.若派生类中没有对基类的虚函数进行重定义,则它继承基类中的( )。

A.访问权限

B.保护成员

C.虚函数

D.成员函数


27.在一个string类对象表示的字符串中查找子串,应该使用string类的()函数。

A.assign

B.insert

C.swap

D.find


28.通常拷贝构造函数的参数表是( )。

A.某个对象名

B.某个对象的成员名

C.某个对象的引用名

D.某个对象的指针名


16.假定MyClass为一类,执行MyClass a,b(2),*p[2];语句时会自动调用该类构造函数()次。

A.2

B.3

C.4

D.5


1.( )是析构函数的特征。

A.析构函数可以有一个或多个参数

B.析构函数定义只能在类体内

C.析构函数名与类名不同

D.一个类中只能定义一个析构函数


31.下列引用的定义中,( )是错误的。

A.int i; int &j=i;

B.int i; int &j; j=i;

C.float i; float &j=i;

D.char d; char &k=d;


32.若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的(??)。

A.私有成员

B.公有成员

C.保护成员

D.保护成员或私有成员


33.类模板的模板参数( )。

A.只可作为数据成员的类型

B.只可作为成员函数的返回类型

C.只可作为成员函数的参数类型

D.以上三者皆可


34.在C++中,通过()的机制可以对原有的类进行扩充和完善以适应新的需要。

A.继承

B.封装

C.多态

D.重载


35.如果一个类至少有一个纯虚函数,那么就称该类是()。

A.抽象类

B.虚基类

C.派生类

D.以上都不对


二、判断题 (共 15 道试题,共 30 分)

49.以app方式打开文件时,当前的读指针和写指针都定位于文件尾。


37.已知Circle类对象c,Circle类中有一个setCenter成员函数,如果c.setCenter(...)返回值仍然是c,则setCenter函数中的return语句应写作return this;。


38.在面向对象程序设计中,每个对象可以单独设置属性值。


39.使用关闭文件函数close()关闭一个文件时,但流对象仍存在。


40.类的常量数据成员只能在常量成员函数中使用。


41.在成员函数的函数类型前加上const关键字,则该成员函数就是常量成员函数。


42.析构函数不能被继承。


43.构造函数和析构函数均不能被说明为虚函数。


44.在公有继承中,基类中只有公有成员对派生类对象是可见的。


45.派生类至少有一个基类。


46.假定用户没有给一个名为AB的类定义析构函数,则系统自动给出的缺省析构函数定义为~AB(){ }。


47.使用模板可以减少重复劳动,提高代码重用率。


48.具有纯虚函数的类是抽象类,它的特点是不可以定义对象。


49.C++语言类定义中默认的访问权限是public。


50.一个函数模板只生成一个模板函数。


吐血推荐

奥鹏,国开形考,广开,电大在线,各省平台,新疆一体化,各类成人教育等学习。详情请咨询QQ : 103092222或微信: xyzlfx100

添加微信查看答案

南开24春学期《面向对象程序设计》在线作业【标准答案】_学优资料分享网

添加微信二维码,了解更多学习技巧,平 台作业、毕业论文完成时间友情提醒。。

合作洽谈

诚信为本,合作共赢

欢迎各大学习中心前来治谈;有意请联系我们

推荐作业

留言板
captcha
感谢留言
我们会尽快与您联系
关闭