东师C++程序设计21春在线作业[答案]单选题答案
C++程序设计21春在线作业1
共40道题 总分:100分
答题中
剩余答题时间:56 : 44
单选题
判断题
一、单选题
共20题,60分
1
3分
下面关于静态成员的描述中,正确的是()。
A静态数据成员是类的所有对象共享的数据
B类的每个对象都有自己的静态数据成员
C类的不同对象有不同的静态数据成员值
D静态数据成员不能通过类的对象访问
2
3分
设有函数模板
template<class Q>
Q Sum(Q x,Q y){
return(x)+(y);
}
则下列语句中对该函数模板错误的使用是()。
ASum(10,2);
BSum(5.0,6.7);
CSum(15.2f,16.0f);
DSum(″AB″,″CD″);
3
3分
下列关于动态联编的描述中,错误的是()。
A动态联编是以虚函数为基础的
B动态联编是在运行时确定所调用的函数代码的
C动态联编需要用指向对象对象的指针或引用来调用需函数
D动态联编是在编译时确定操作函数的
4
3分
当使用ifstream流类定义一个流对象并打开一个磁盘文件时,隐含的打开方式为()。
Aios::in
Bios::out
Cios::in|ios::out
Dios::binary
5
3分
在下面有关友元函数的描述中,正确的说法是()。
A友元函数是独立于当前类的外部函数
B一个友元函数不能同时定义为两个类的友元函数
C友元函数必须在类的外部定义
D在外部定义友元函数时,必须加关键字friend
6
3分
当一个函数无返回值时,函数的类型应定义为()。
Avoid
B任意
Cint
D无
7
3分
派生类的对象对它的基类成员中什么是可访问的()?
A公有继承的公有成员
B公有继承的私有成员
C公有继承的保护成员
D私有继承的公有成员
8
3分
下面选项中,()是用来声明虚函数的。
Avirtual
Bvoid
Cstatic
Dinline
9
3分
对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是()。
A公有类型
B私有类型
C保护类型
D友元类型
10
3分
在关键字public后面定义的成员为类的()成员。
A公有
B保护
C私有
D任何
11
3分
为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为()。
Apublic
Bprotected
Cprivate
Dstatic
12
3分
当将一个函数f()说明为另一个类B的友元后,函数f()能够直接访问类B的()。
A只能是公有成员
B只能是保护成员
C只能是除私有成员之外的任何成员
D具有任何权限的成员
13
3分
进行文件操作需包含头文件()。
Afstream.h
Bostream.h
Cstdio.h
Dstdlib.h
14
3分
下列说法正确的是()。
A内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
B内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
C类的内联函数必须在类体内定义
D类的内联函数必须在类体外通过加关键字inline定义
15
3分
所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()。
A类
B对象
C函数体
D数据块
16
3分
类的析构函数的作用是()。
A一般成员函数的初始化
B类的初始化
C对象的初始化
D删除类创建的对象
17
3分
下列不是文件流类的是()。
Aifstream
Biostream
Cfstream
Dofstream
18
3分
假定变量x定义为“int x=8;”,要使rx成为x的引用(别名),rx应定义为()。
Aint rx=x;
Bint rx=&x;
Cint *rx=&x;
Dint &rx=x;
19
3分
下列各种高级语言中,不是面向对象的程序设计语言的是()。
AC++
BJava
CVB
DC
20
3分
在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是()。
A派生类的对象可以赋给基类的对象
B派生类的对象可以初始化基类的引用
C指向派生类对象的基类指针可以直接访问派生类中的成员
D派生类的对象的地址可以赋给指向基类的指针
二、判断题
共20题,40分
1
2分
拷贝构造函数使用本类对象的指针作为参数初始化新创建的对象。
A错误
B正确
2
2分
C++标准库提供了控制输入输出格式的操作符,所有不带形参的操作符都定义在头文件iostream.h中,而带形参的操作符则定义在头文件iomanip.h中。
A错误
B正确
3
2分
若有声明:class B: A{};则类B的继承方式为私有继承。
A错误
B正确
4
2分
不能在类声明中给数据成员赋初值。
A错误
B正确
5
2分
友元函数是独立于当前类的外部函数。
A错误
B正确
6
2分
常类型是指使用类型修饰符const说明的类型,常类型的变量或对象成员的值在程序运行期间是不可改变的。
A错误
B正确
7
2分
重载函数是基于不同的数据类型完成类似的操作,而函数模板则是对不同的数据类型完成相同的操作。
A错误
B正确
8
2分
撤销包含有对象成员的派生类对象时,自动调用析构函数的执行顺序依次为派生类、对象成员所属类、基类的析构函数。
A错误
B正确
9
2分
操纵符函数setw(n)只对下一个输出有效。
A错误
B正确
10
2分
当基类含有带参数的构造函数时,派生类可以不定义构造函数。
A错误
B正确
11
2分
C++中的函数调用就是面向对象理论中的方法。
A错误
B正确
12
2分
若有声明:class C: public A,B{};则类C公有继承自类A、私有继承自类B。
A错误
B正确
13
2分
在类定义体内,各种访问属性的成员间可以相互访问。
A错误
B正确
14
2分
C++利用类的派生机制实现面向对象程序设计的继承性。
A错误
B正确
15
2分
在文件操作结束时,可以用eof()成员函数关闭该文件。
A错误
B正确
16
2分
输入输出特性是由C++本身提供的。
A错误
B正确
17
2分
cout通常与键盘相连,cin通常与显示器相连。
A错误
B正确
18
2分
C++对由const修饰符定义的常量进行严格的类型检查,但对用define定义的常量则不进行类型检查。
A错误
B正确
19
2分
析构函数是不能被派生类继承的。
A错误
B正确
20
2分
常量和引用在声明时必须初始化。
A错误
B正确
C++程序设计21春在线作业2
共40道题 总分:100分
答题中
剩余答题时间:56 : 25
单选题
判断题
一、单选题
共20题,60分
1
3分
应在下列程序划线处填入的正确语句是()。
#include
class Base
{ public:
void fun(){cout<<"Base::fun"<<ENDL;}
};
class Derived:public Base
{ void fun()
{_____________ //显示调用基类的函数fun()
cout<<"Derived::fun"<<ENDL;
}
};
Afun();
BBase.fun();
CBase::fun();
DBase->fun();
2
3分
不能作为重载函数的调用依据的是()。
A参数个数
B参数类型
C返回值类型
D函数名称
3
3分
当将一个函数f()说明为另一个类B的友元后,函数f()能够直接访问类B的()。
A只能是公有成员
B只能是保护成员
C只能是除私有成员之外的任何成员
D具有任何权限的成员
4
3分
若已知char str[20],有语句 cin>>str;,当输入为:This is a cat,则str中的内容为()。
AThis is a cat
BThis
CThis is
DThis is a
5
3分
要想以读方式打开文件“D:File.txt”,以下不能实现目的的语句是()。
Aifstream inf("D:\File txt",ios::in);
Bifstream inf("D:\File.txt");
Cofstream inf("D:\File.txt",ios::out);
Dfstream inf("D:\File.txt",ios::in|ios::out);
6
3分
如果表达式++j*k中的“++”和“*”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可以表示为()。
Aoperator*(j,operator++(),k)
Boperator*(operator++(j),k)
Cj.operator++().operator*(k)
Dk.operator*(operator++(j))
7
3分
如果类B在类A的基础上构造,那么,就称()。
A类A为基类或父类,类B为超类或子类
B类A为基类、父类或超类,类B为派生类或子类
C类A为派生类,类B为基类
D类A为派生类或子类,类B为基类、父类或超类
8
3分
对于一个类,可以利用关键字()将其他类声明为该类的友元。
Apublic
Bprivate
Cprotected
Dfriend
9
3分
下列()可以是虚函数。
A构造函数
B拷贝构造函数
C静态成员函数
D析构函数
10
3分
C++程序的执行总是从()开始的。
Amain函数
B第一行
C头文件
D函数注释
11
3分
当需要使用ostream流类定义一个流对象并联系一个字符串时,应在文件开头使用#include命令,使之包含()文件。
Aiostream.h
Bstdlib.h
Cstrstream.h
Dfstream.h
12
3分
假定classA为一个类,f()为该类公有的数据成员,x为该类的一个对象,则访问x对象中成员函数f()的格式为()。
Ax.f
Bx.f()
Cx->f
Dx->f()
13
3分
下列语句中不存在类型转换的是()。
Aint(1.1);
B(double)2.2;
Cint i=1;
Dchar c=97;
14
3分
考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是()。
Atest(5);
Btest(5,8);
Ctest(6,"#")
Dtest(0,0,"*");
15
3分
实现运行时的多态性需要使用()。
A重载函数
B构造函数
C析构函数
D虚函数
16
3分
C++流类库预定义的与标准输入设备相关联的是()。
Acin
Bcout
Ccerr
Dclog
17
3分
析构函数是一种特殊的成员函数,显式定义时其访问属性应被定义为()。
Apublic
Bprivate
Cprotected
Dstatic
18
3分
类的析构函数的作用是()。
A一般成员函数的初始化
B类的初始化
C对象的初始化
D删除类创建的对象
19
3分
运算符重载函数必须以特殊的关键字()开始。
Avirtual
Boperator
Ctemplate
Dstatic
20
3分
如果编程者没有显式定义构造函数(包括复制构造函数),C++编译器就()。
A出现编译错误
B没有构造函数
C必须显示定义
D隐式定义缺省的构造函数
二、判断题
共20题,40分
1
2分
在删除一个动态对象时,将自动调用该动态对象所属类的析构函数。
A错误
B正确
2
2分
cout通常与显示器相连,cin通常与键盘相连。
A错误
B正确
3
2分
类和对象之间的关系是具体和抽象的关系。
A错误
B正确
4
2分
用对象访问成员时应使用运算符“.",用指向对象的指针访问成员时应使用运算符“->"。
A错误
B正确
5
2分
在默认参数函数的原型中,所有取缺省值的参数都必须出现在不取缺省值的参数的右边。
A错误
B正确
6
2分
通过类对象可以访问类中所有的成员。
A错误
B正确
7
2分
类模板必须由程序员实例化成模板类。
A错误
B正确
8
2分
使用setw()函数时需包含iomanip.h头文件,而使用width()函数时需包含iostream.h头文件。
A错误
B正确
9
2分
拷贝构造函数是重载的构造函数。
A错误
B正确
10
2分
文本文件结束标志为EOF(即-1)。
A错误
B正确
11
2分
我们不能用抽象类定义对象,但可以定义对象的指针。
A错误
B正确
12
2分
类成员是按照它们在成员初始化表中列出的顺序进行初始化的,与它们在类里被声明的顺序无关。
A错误
B正确
13
2分
C++利用函数重载实现面向对象程序设计的封装性。
A错误
B正确
14
2分
若左操作数为基本数据类型或其它类对象时,此运算符应以友元函数的方式重载。
A错误
B正确
15
2分
类中含有指针数据成员时,若不定义拷贝构造函数则会产生指针悬挂问题。
A错误
B正确
16
2分
类中可以包含各种数据类型的数据成员,但不能有其他类对象。
A错误
B正确
17
2分
类是C++中预定义的数据类型。
A错误
B正确
18
2分
当基类的构造函数没有参数,或没有显式定义构造函数时,派生类可以不定义构造函数。
A错误
B正确
19
2分
ofstream是用于写文件的文件流。
A错误
B正确
20
2分
操纵符函数setw(n)只对下一个输出有效。
A错误
B正确
正确答案:--------
东师C++程序设计21春在线作业[答案]奥鹏资讯分享: