您的当前位置:首页正文

南开大学22春“计算机科学与技术”《面向对象程序设计》平时作业(贰)答案参考试卷号:8

2023-12-31 来源:好走旅游网



书山有路勤为径,学海无涯苦作舟! 住在富人区的她

南开大学22 春“计算机科学与技术”《面向对象程序设计》平时作业

(贰)答案参考

.综合考核(30)

1.定义虚函数所用的关键字是virtual()
A.正确
B.错误

参考答案:A

2.假定X为一个类,执行Xa[3],*p[2];语句时会自动调用该类的构造函数()次。A.2
B.3
C.4
D.5

参考答案:B

3.若类中有指针成员变量,则应编写(),使得在对象销毁时能够自动调用该函数释放指针成员变量所指向的内存空间。

A.友元函数
B.虚函数
C.构造函数
D.析构函数

参考答案:D

4.A是类B的友元,类B是类C的友元,则()是正确的。A.B是类A的友元
B.C是类A的友元
C.A是类C的友元
D.以上都不对

参考答案:D

5.面向对象的英文缩写是OOP()
A.正确



书山有路勤为径,学海无涯苦作舟! 住在富人区的她

B.错误

参考答案:A

6.一个算法必须能在有限步骤内解决问题。()
A.正确
B.错误

参考答案:A

7.将一个string类对象赋予新值,应该使用string类的()函数。A.assign
B.insert
C.swap
D.find

参考答案:A

8.重载的运算符保持原来的优先级和结合性以及操作数的个数。()A.正确
B.错误

参考答案:A

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

()
A.正确
B.错误

参考答案:A

10.运算符重载的目的是()

A.提高程序的效率
B.提高代码复用能力
C.简化程序,减少目标代码
D.使程序代码直观易读



书山有路勤为径,学海无涯苦作舟! 住在富人区的她

参考答案:D

11.可以用p.a的形式访问派生类对象p的基类成员a其中a()A.私有继承的公有成员
B.公有继承的私有成员
C.公有继承的保护成员
D.公有继承的公有成员

参考答案:D

12.类模板的模板参数()

A.只可作为数据成员的类型
B.只可作为成员函数的返回类型
C.只可作为成员函数的参数类型
D.以上三者皆可

参考答案:D

13.关于函数的描述中,()是正确的。

A.派生类的虚函数与基类的虚函数具有不同的参数个数和类型
B.基类中说明了虚函数后,派生类中其对应的函数一定要说明为虚函数C.虚函数是一个成员函数
D.虚函数是一个static类型的成员函数

参考答案:C

14.在类的定义形式中,数据成员、成员函数和()组成了类定义体。A.成员的访问控制信息
B.公有信息
C.私有信息
D.保护信息

参考答案:A

15.下面对构造函数的不正确描述是()

A.系统可以提供默认的构造函数
B.构造函数可以有参数,所以可以有返回值



书山有路勤为径,学海无涯苦作舟! 住在富人区的她

C.构造函数可以重载
D.构造函数可以设置默认参数

参考答案:B

16.下面描述中,错误的是()

A.公有继承时,基类中的public成员在派生类中仍是publicB.公有继承时,基类中的private成员在派生类中仍是privateC.公有继承时,基类中的protected成员在派生类中仍是protectedD.私有继承时,基类中的public成员在派生类中是private

参考答案:B

17.在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是()

A.operator+有两个参数,operator*有两个参数
B.operator+有两个参数,operator*有一个参数
C.operator+有一个参数,operator*有两个参数
D.operator+有一个参数,operator*有一个参数

参考答案:C

18.进行文件操作时需要包含()头文件。
A.iostream
B.fstream
C.stdio
D.stdlib

参考答案:B

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

A.对象是类的一个实例
B.一个类只能有一个对象
C.任何一个对象只能属于一个具体的类
D.类与对象的关系和数据类型和变量的关系相似

参考答案:B



书山有路勤为径,学海无涯苦作舟! 住在富人区的她

20.友元重载运算符obj1obj2C++编译器解释为()A.operator(obj1obj2)
B.(obj1obj2)
C.obj1.operator(obj2)
D.obj2.operator(obj1)

参考答案:A

21.已知“inta=10b=8;int &r=a; r=b; couta”,“b”,“r;”,则输出为()A.10810
B.1088
C.8810
D.888

参考答案:D

22.C++基类中,不能被派生类继承的有构造函数和析构函数。()A.正确
B.错误

参考答案:A

23.下列关于成员函数特征的描述中,错误的是()

A.成员函数可以重载
B.成员函数一定是内联函数
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的

参考答案:B

24.执行语句“stringstr("abc");”时,系统会自动调用string类的构造函数()

A.string()
B.string(constchar *s)
C.string(conststring &str)
D.string(size_typen, char c)

参考答案:B



书山有路勤为径,学海无涯苦作舟! 住在富人区的她

25.函数的定义不可以嵌套,类的定义可以嵌套。()A.正确
B.错误

参考答案:A

26.下面对模板的声明,正确的是()
A.template
B.template
C.template
D.template

参考答案:C

27.下列关于C++类的描述中错误的是()

A.类与类之间可以通过一些手段进行通信和联络
B.类用于描述事物的属性和对事物的操作
C.类与类之间必须是平等的关系,而不能组成层次关系D.类与类之间可以通过封装而具有明确的独立性

参考答案:C

28.假定类AB中有一个公用属性的静态数据成员staticint bb; 在类外不通过对象名给该成员bb赋值为10的写法为staticint AB::bb=10()
A.正确
B.错误

参考答案:B

29.已知“inta=10; int &r=a; r=r+20; couta;”,则输出为()

A.10
B.20
C.30
D.不确定值

参考答案:C



书山有路勤为径,学海无涯苦作舟! 住在富人区的她

30.默认形参值应在函数定义处指定。()
A.正确
B.错误

参考答案:B

因篇幅问题不能全部显示,请点此查看更多更全内容