东师《C++程序设计》2023年春学期在线作业2【答案】

可做奥鹏全部院校在线离线作业毕业论文QQ:3230981406 微信:aopopenfd777

发布时间:2023-09-02 20:54:08来源:admin浏览: 0 次

《C++程序设计》2023年春学期在线作业2题目

试卷总分:100  得分:100

一、单选题 (共 20 道试题,共 60 分)

1.应在下列程序划线处填入的正确语句是()。 #include class Base {  public: void fun(){cout<<"Base::fun"<<ENDL;} }; class Derived:public Base {  void fun()   {_____________ //显示调用基类的函数fun()     cout<<"Derived::fun"<<ENDL;   } };

A.fun();

B.Base.fun();

C.Base::fun();

D.Base->fun();

 

2.不能作为重载函数的调用依据的是()。

A.参数个数

B.参数类型

C.返回值类型

D.函数名称

 

3.当将一个函数f()说明为另一个类B的友元后,函数f()能够直接访问类B的()。

A.只能是公有成员

B.只能是保护成员

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

D.具有任何权限的成员

 

4.若已知char str[20],有语句 cin>>str;,当输入为:This is a cat,则str中的内容为()。

A.This is a cat

B.This

C.This is

D.This is a

 

5.要想以读方式打开文件“D:\File.txt”,以下不能实现目的的语句是()。

A.ifstream inf("D:\\File txt",ios::in);

B.ifstream inf("D:\\File.txt");

C.ofstream inf("D:\\File.txt",ios::out);

D.fstream inf("D:\\File.txt",ios::in|ios::out);

 

6.如果表达式++j*k中的“++”和“*”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可以表示为()。

A.operator*(j,operator++(),k)

B.operator*(operator++(j),k)

C.operator++().operator*(k)

D.operator*(operator++(j))

 

7.如果类B在类A的基础上构造,那么,就称()。

A.类A为基类或父类,类B为超类或子类

B.类A为基类、父类或超类,类B为派生类或子类

C.类A为派生类,类B为基类

D.类A为派生类或子类,类B为基类、父类或超类

 

8.对于一个类,可以利用关键字()将其他类声明为该类的友元。

A.public

B.private

C.protected

D.friend

 

9.下列()可以是虚函数。

A.构造函数

B.拷贝构造函数

C.静态成员函数

D.析构函数

 

10.C++程序的执行总是从()开始的。

A.main函数

B.第一行

C.头文件

D.函数注释

 

11.当需要使用ostream流类定义一个流对象并联系一个字符串时,应在文件开头使用#include命令,使之包含()文件。

A.iostream.h

B.stdlib.h

C.strstream.h

D.fstream.h

 

12.假定classA为一个类,f()为该类公有的数据成员,x为该类的一个对象,则访问x对象中成员函数f()的格式为()。

A.x.f

B.x.f()

C.x->f

D.x->f()

 

13.下列语句中不存在类型转换的是()。

A.int(1.1);

B.(double)2.2;

C.int i=1;

D.char c=97;

 

14.考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是()。

A.test(5);

B.test(5,8);

C.test(6,"#")

D.test(0,0,"*");

 

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

A.重载函数

B.构造函数

C.析构函数

D.虚函数

 

16.C++流类库预定义的与标准输入设备相关联的是()。

A.cin

B.cout

C.cerr

D.clog

 

17.析构函数是一种特殊的成员函数,显式定义时其访问属性应被定义为()。

A.public

B.private

C.protected

D.static

 

18.类的析构函数的作用是()。

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

B.类的初始化

C.对象的初始化

D.删除类创建的对象

 

19.运算符重载函数必须以特殊的关键字()开始。

A.virtual

B.operator

C.template

D.static

 

20.如果编程者没有显式定义构造函数(包括复制构造函数),C++编译器就()。

A.出现编译错误

B.没有构造函数

C.必须显示定义

D.隐式定义缺省的构造函数

 

二、判断题 (共 20 道试题,共 40 分)

21.在删除一个动态对象时,将自动调用该动态对象所属类的析构函数。

 

22.cout通常与显示器相连,cin通常与键盘相连。

 

23.类和对象之间的关系是具体和抽象的关系。

 

24.用对象访问成员时应使用运算符“.",用指向对象的指针访问成员时应使用运算符“->"。

 

25.在默认参数函数的原型中,所有取缺省值的参数都必须出现在不取缺省值的参数的右边。

 

26.通过类对象可以访问类中所有的成员。

 

27.类模板必须由程序员实例化成模板类。

 

28.使用setw()函数时需包含iomanip.h头文件,而使用width()函数时需包含iostream.h头文件。

 

29.拷贝构造函数是重载的构造函数。

 

30.文本文件结束标志为EOF(即-1)。

 

31.我们不能用抽象类定义对象,但可以定义对象的指针。

 

32.类成员是按照它们在成员初始化表中列出的顺序进行初始化的,与它们在类里被声明的顺序无关。

 

33.C++利用函数重载实现面向对象程序设计的封装性。

 

34.若左操作数为基本数据类型或其它类对象时,此运算符应以友元函数的方式重载。

 

35.类中含有指针数据成员时,若不定义拷贝构造函数则会产生指针悬挂问题。

 

36.类中可以包含各种数据类型的数据成员,但不能有其他类对象。

 

37.类是C++中预定义的数据类型。

 

38.当基类的构造函数没有参数,或没有显式定义构造函数时,派生类可以不定义构造函数。

 

39.ofstream是用于写文件的文件流。

 

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




奥鹏,国开,广开,电大在线,各省平台,新疆一体化等平台学习
详情请咨询QQ : 3230981406或微信:aopopenfd777

作业咨询 论文咨询
微信客服扫一扫

回到顶部