西北工业大学《面向对象程序设计(C++)》机考网考

西北工业大学《面向对象程序设计(C++)》机考网考
试卷总分:100 得分:94
一、 单选题 (共 50 道试题,共 100 分)
1.( )是析构函数的特征。
A.一次类中只能定义一个析构函数
B.析构函数名与类名不同
C.析构函数的定义只能在类体内
D.析构函数可以有一个或多个参数

2.C++中的类有两种用法:一种是类的实例话,即生成类的对象,并参与系统的运行;另一种是通过( )派生出新的类。
A.复用
B.继承
C.单继承
D.多继承

3.已知int a ,*pa = & a;输出指针pa十进制的地址值的方法是( )。
A.cout << pa
B.cout << *pa
C.cout << &pa;
D.cout << long(pa)

4.在C++中,打开一个文件就是将这个文件与一个( )建立关联;关闭一个文件就是取消这种关联。
A.类
B.流
C.对象
D.结构

5.catch(……)一般放在其他catch子句的后面,该子句( )。
A.抛掷异常
B.捕获所有类型的异常
C.检测并处理异常
D.有语法错误

6.在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性的规则( )。
A.完全相同
B.完全不同
C.部分相同,部分不同
D.以上全不对

7.已知P是一个指向Sample 数据成员m的指针,s是类Sample的一个对象。如果要给m赋值为5,( )是正确的。
A.s.p= 5
B.s->p = 5
C.s.*p = 5
D.*s.p = 5

8.使用如setw( )的操作符对数据进行格式输出时,应包含( )文件。
A.iostream.h
B.fstream.h
C.iomainp.h
D.stdlib.h

9.有关析构函数的说法错误的是( )。
A.析构函数有且只有一个
B.析构函数无任何函数类型
C.析构函数和析构函数一样可以有形参
D.析构函数的作用是在对象被撤销时收回先前分配的内存空间

10.下列输出字符’A’的方法中,( )是错误的。
A.cout<< put(‘A’)
B.cout<<’A’
C.cout.put(‘A’)
D.char A =’A’;cout<< A

11.有关类和对象的说法错误的是( )。
A.对象是类的一个实例
B.任何一个对象只能属于一个具体的类
C.一个类只能有一个对象
D.类与对象的关系和数据和变量的关系相似

12.下列运算符中,( )运算符在C++中不能重载。
A.&&
B.[]
C.::
D.new

13.一个函数功能不太复杂,但要求被频繁调用,选用( )。
A.内联函数
B.重载函数
C.递归函数
D.嵌套函数

14.友元运算符obj1>obj2被C++编译器解释为( )。
A.operator>(obj1,obj2)
B.>(obj1,obj2)
C.obj2.operator>(obj1)
D.obj1.operator>(obj2)

15.已知f1(int)是类A的公有成员函数,p是指向成员函数f1的指针,采用赋值( )是正确的。
A.p= f1
B.p=A::f1
C.p=A::f1( )
D.p=f1( )

16.关于getline()函数的下列描述中,( )是错误的。
A.该函数是用来从键盘上读取字符串
B.该函数读取的字符串长度是受限制的
C.该函数读取字符串时,遇到终止符时便停止
D.该函数所使用的默认终止符是换行符

17.( )不是构造函数的特征。
A.构造函数的函数名和类名相同
B.构造函数可以重载
C.构造函数可以设置默认参数
D.构造函数必须指定函数类型说明

18.关于read( )函数的下列描述中,( )是对的。
A.该函数是用来从键盘输入中获取字符串
B.该函数所获得的字符的多少是不受限制的
C.该函数只能用于文本文件的操作
D.该函数只能按规定读取所指定的字符数

19.公有成员提供了类对外部的界面,私有成员只能被类的成员访问,而( )不允许外界访问,但允许派生类的访问,这样既有一定的隐藏能力,有提供了开放的界面
A.公有成员
B.私有成员
C.私有成员函数
D.保护成员

20.已知一个类Sample,( )是定义指向类Sample成员函数的指针,假设类有3个公有成员:void f1(int),void f2 (int),int a。
A.Sample *p
B.int Sample::*pc = &Sample::a
C.void (Sample::*pa)(int)
D.Sample *a[10]

21.cin是istream的一个对象,用于处理标准输入。cout、cerr和clog是( )的对象,cout处理标准输出,cerr和clog都处理标准出错信息,只是cerr输出不带缓冲,clog输出带缓冲。
A.istream
B.ostream
C.cerr
D.clog

22.下列运算符中,( )运算符在C++中不能重载。
A.?:
B.+
C._
D.<=

23.派生可以分为公有派生、私有派生。由私有派生得到的派生类,其基类的所以成员都只能成为它的私有成员,这些私有成员只能被派生类的成员函数访问,而通过( )无权访问它;公有派生的意义是基类中所有成员在派生;类中也有都是公有的。
A.公有派生
B.派生类的对象
C.私有派生
D.派生类的构造函数

24.下述静态数据成员的特征中,( )是错误的。
A.说明静态数据成员时前边要加修饰符static
B.静态数据成员要在类体外进行初始化
C.引用静态成员时,要在静态数据成员名前加“类名”和作用域运算符
D.静态数据成员不是所有对象所共用的

25.下面运算符中,不能被重载的运算符是( )。
A.<=
B.-
C.?:
D.[]

26.在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是( )。
A.该运算符是一个单目运算符
B.该运算符函数有一个隐含的参数this
C.该运算符函数是类的成员函数
D.该运算符函数是类的友元函数

27.关于成员函数特征的下述描述中,( )是错误的。
A.成员函数一定是内联函数
B.成员函数可以重载
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的

28.在成员函数中进行双目运算符重载时,其参数表中应带有( )个参数。
A.0
B.1
C.2
D.3

29.基类的( )不能为派生类的成员访问,基类的公有成员在派生类中的性质和继承的性质一样,而基类的保护成员在私有继承时在派生类中成为私有成员,在公有和保护继承时在派生类中仍为保护成员
A.公有成员
B.私有成员
C.私有成员函数
D.保护成员

30.如果一个类至少有一个虚函数,那么就称该类为( )。
A.抽象类
B.虚基类
C.派生类
D.以上都不对

31.对虚函数的调用( )。
A.一定使用动态联编
B.必须使用动态联编
C.一定使用静态联编
D.不一定使用动态联编

32.有关类的说法错误的是( )。
A.类是一种用户自定义的数据类型
B.只有类的成员函数才能存取类中的私有数据
C.只类中,如果不作特别说明,所指的数据均为私有数据
D.只类中,如果不作特别说明,所指的成员函数均为公有类型

33.关于虚函数和抽象类的描述中,( )是错误的。
A.纯虚函数是一种特殊的虚函数,它没有具体的定义
B.抽象类是指具有纯虚函数的类
C.一个基类中说明有纯虚函数,该基类的派生类一定不在是抽象类
D.抽象类只能作为基类来使用,其纯虚函数的定义由派生类给出

34.在C++中把不返回任何类型的函数应该说明为( )。
A.int
B.char
C.void
D.double

35.实现运行时的多态要使用( )。
A.重载函数
B.构造函数
C.析构函数
D.虚函数

36.在C++中,函数原型不能标识( )。
A.函数的返回类型
B.函数参数的个数
C.函数参数类型
D.函数的功能

37.下列说法错误的是( )。
A.如果try块中没有抛出异常,则try块执行完后忽略该try块的异常处理器catch块,程序在最后一个catch块后恢复执行。
B.如果在try块以外抛出异常,程序将被终止。
C.try块抛出异常后,从对应的try块开始到异常被抛出之间所构造的所有自动对象将被析构。
D.抛出异常和异常处理必须放在同一个函数中。

38.通常的拷贝初始化构造函数的参数是( )。
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名

39.关于动态联编的下列描述中,( )是错误的。
A.动态联编是以虚函数为基础的
B.动态联编是在运行时确定所调用的函数代码的
C.动态联编用调用函数操作是指向对象的指针或对象的引用
D.动态联编是在编译时确定执行函数的

40.继承具有( )即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
A.规律性
B.传递性
C.重复性
D.多样性

41.进行文件操作时需要包含( )文件。
A.istream.h
B.fstream.h
C.stdio.h
D.stdlib.h

42.文件的I/O由ifstream.h、ofstream、fstream三个类提供。istream.h是istream的派生类,处理文件输入;ofstream是ostream的派生类,处理文件输出;fstream是ostream的派生类,可以同时处理文件的I/O,使用I/O类的程序需要包含头文件( )。
A.istream.h
B.fstream.h
C.ifstream.h
D.istrstream

43.C++语言本身没有定义I/O操作,但I/O操作包含在C++实现中。C++标准库iostream提供了基本的I/O类。I/O操作分别由两个类istream 和ostream提供,由他们派生出一个类( ),提供双向的I/O操作。使用I/O流的程序需要包含iostream.h。
A.iostream
B.iostream.h
C.ostream
D.cin

44.C++中用三个保留字实现异常的处理,除了try和catch外,还有( )。
A.if
B.class
C.throw
D.return

45.有关构造函数的说法错误的是( )。
A.构造函数的名字和类的名字一样
B.构造函数在说明类变量时自动执行
C.构造函数无任何函数类型
D.构造函数有且只有一个

46.下面函数模板定义中不正确的是( )。
A.template
B.template
C.template
D.template

47.下列关于运算符重载的描述中,( )是正确的。
A.运算符重载可以改变操作数的个数
B.运算符重载可以改变运算符的优先级
C.运算符重载可以改变结合性
D.运算符重载不可以改变语法结构

48.若Sample类中的一个成员函数说明如下:
A.指向类Sample的名为a的指针
B.a是类Sample的对象引用,用来作函数Set()的形参
C.将a的地址赋给变量Set
D.变量Sample与a按位与的结果作为函数Set的参数

49.与C语言printf(“Hello,World\n”);语句功能相同的C++语句是( )。
A.cout>>“Hello,World\n”
B.cout<<“Hello,World\n”
C.cin>>“Hello,World\n”
D.cin<<“Hello,World\n”

50.关于虚函数的描述中,( )是正确的。
A.虚函数是一个Static类型的成员函数
B.虚函数是一个非成员函数
C.基类中说明了虚函数后,派生类中其对应的函数可不必说明虚函数
D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型

二、 多选题 (共 0 道试题,共 0 分)

发布了17 篇原创文章 · 获赞 0 · 访问量 1032

猜你喜欢

转载自blog.csdn.net/opendaann/article/details/105660219