东北师范大学计算机科学与技术专业《C++程序设计》作业及答案2

下面关于静态成员的描述中,正确的是()。

A.静态数据成员是类的所有对象共享的数据

B.类的每个对象都有自己的静态数据成员

C.类的不同对象有不同的静态数据成员值

D.静态数据成员不能通过类的对象访问

本题答案:
A
设有函数模板 template Sum(Q x,Q y) return(x)+(y); 则下列语句中对该函数模板错误的使用是()。

A.Sum(10,2)

B.Sum(5.0,6.7)

C.Sum(15.2f,16.0f)

D.Sum(“AB”,“CD”)

本题答案:
D
下列关于动态联编的描述中,错误的是()。

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

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

C.动态联编需要用指向对象对象的指针或引用来调用需函数

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

本题答案:
D
当使用ifstream流类定义一个流对象并打开一个磁盘文件时,隐含的打开方式为()。

A.ios∷in

B.ios∷out

C.ios∷in|ios∷out

D.ios∷binary

本题答案:
A
在下面有关友元函数的描述中,正确的说法是()。

A.友元函数是独立于当前类的外部函数

B.一个友元函数不能同时定义为两个类的友元函数

C.友元函数必须在类的外部定义

D.在外部定义友元函数时,必须加关键字friend

本题答案:
A
当一个函数无返回值时,函数的类型应定义为()。

A.void

B.任意

C.int

D.无

本题答案:
A
派生类的对象对它的基类成员中什么是可访问的?()

A.公有继承的公有成员

B.公有继承的私有成员

C.公有继承的保护成员

D.私有继承的公有成员

本题答案:
A
下面选项中,()是用来声明虚函数的。

A.virtual

B.void

C.static

D.inline

本题答案:
A
对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是()。

A.公有类型

B.私有类型

C.保护类型

D.友元类型

本题答案:
D
在关键字public后面定义的成员为类的()成员。

A.公有

B.保护

C.私有

D.任何

本题答案:
A
为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为()。

A.public

B.protected

C.private

D.static

本题答案:
A
当将一个函数f()说明为另一个类B的友元后,函数f()能够直接访问类B的()。

A.只能是公有成员

B.只能是保护成员

C.只能是除私有成员之外的任何成员

D.具有任何权限的成员

本题答案:
D
进行文件操作需包含头文件()。

A.fstream.h

B.ostream.h

C.stdio.h

D.stdlib.h

本题答案:
A
下列说法正确的是()。

A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方

B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方

C.类的内联函数必须在类体内定义

D.类的内联函数必须在类体外通过加关键字inline定义

本题答案:
B
所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()。

A.类

B.对象

C.函数体

D.数据块

本题答案:
A
类的析构函数的作用是()。

A.一般成员函数的初始化

B.类的初始化

C.对象的初始化

D.删除类创建的对象

本题答案:
D
下列不是文件流类的是()。

A.ifstream

B.iostream

C.fstream

D.ofstream

本题答案:
B
假定变量x定义为“int x=8;”,要使rx成为x的引用(别名),rx应定义为()。

A.int rx=x

B.int rx=&x

C.int *rx=&x

D.int &rx=x

本题答案:
D
下列各种高级语言中,不是面向对象的程序设计语言的是()。

A.C++

B.Java

C.VB

D.C

本题答案:
A
在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是()。

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

B.派生类的对象可以初始化基类的引用

C.指向派生类对象的基类指针可以直接访问派生类中的成员

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

本题答案:
C
拷贝构造函数使用本类对象的指针作为参数初始化新创建的对象。()

A.错误

B.正确

本题答案:
A
C++标准库提供了控制输入输出格式的操作符,所有不带形参的操作符都定义在头文件iostream.h中,而带形参的操作符则定义在头文件iomanip.h中。()

A.错误

B.正确

本题答案:
B
若有声明:class B: A{}; 则类B的继承方式为私有继承。()

A.错误

B.正确

本题答案:
B
不能在类声明中给数据成员赋初值。()

A.错误

B.正确

本题答案:
B
友元函数是独立于当前类的外部函数。()

A.错误

B.正确

本题答案:
B
常类型是指使用类型修饰符const说明的类型,常类型的变量或对象成员的值在程序运行期间是不可改变的。()

A.错误

B.正确

重载函数是基于不同的数据类型完成类似的操作,而函数模板则是对不同的数据类型完成相同的操作。()

A.错误

B.正确

撤销包含有对象成员的派生类对象时,自动调用析构函数的执行顺序依次为派生类、对象成员所属类、基类的析构函数。()

A.错误

B.正确

操纵符函数setw(n)只对下一个输出有效。()

A.错误

B.正确

当基类含有带参数的构造函数时,派生类可以不定义构造函数。()

A.错误

B.正确

C++中的函数调用就是面向对象理论中的方法。()

A.错误

B.正确

若有声明:class C:public A,B{}; 则类C公有继承自类A、私有继承自类B。()

A.错误

B.正确

在类定义体内,各种访问属性的成员间可以相互访问。()

A.错误

B.正确

C+利用类的派生机制实现面向对象程序设计的继承性。()

A.错误

B.正确

在文件操作结束时,可以用eof()成员函数关闭该文件。()

A.错误

B.正确

输入输出特性是由C++本身提供的。()

A.错误

B.正确

cout通常与键盘相连,cin通常与显示器相连。()

A.错误

B.正确

C++对由const修饰符定义的常量进行严格的类型检查,但对用define定义的常量则不进行类型检查。()

A.错误

B.正确

析构函数是不能被派生类继承的。()

A.错误

B.正确

常量和引用在声明时必须初始化。()

A.错误

B.正确