版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西安交通大学课程考试复习资料单选题1 . 对于如下类的定义,下面语句组中出现语法错误的是( ) class X int a;public:X(int x=0) a=x; ;class Y:class X int b;public:Y(int x=0,int y=0):X(x) b=x; ;A.X *pa=new Y(1,2);B.Xa1=Y(1,3);C.Yb1(2,3);X&a3=b1;D.Xa4(10);Yb2=a4;答案 : D2 . 若有如下函数模板定义, 则正确使用该函数模板的语句是 ( )templatevoid add(type a, type b, type &c) c=a+b
2、 ; A.float x,y,z;add(x,y,z) B.int x,y,z;add(x,y,&z)C.float x,y ;int z;add(x,y,z) ;D.float x,y ;int z;add(x,y,&z) ;答案:A3 .下列程序段不会发生二义性的是()。A.int fun(double p).;B.int fun(float p).;float fun(float p).;float fun(unsigned p).; int x;int x;x=fun(0);x=fun(0);C.int fun(int i,int j=2).;D.int fun(int i=2,int
3、 j=2).;float fun(int i).;int fun(int *p).;cout : 上二_答案:D4 .下列程序段不会发生二义性的是()。A.int fun(double p).;B.int fun(float p).;float fun(float p).;float fun(unsigned p).; int x;int x;x=fun(0);x=fun(0);C.int fun(int i,int j=2).;D.int fun(int i=2,int j=2).;float fun(int i).;int fun(int *p).;cout _-_二答案:D5 .下面是四
4、条顺序出现的声明语句,非法的初始化语句是()A.int i= - 1;iic ;iic:B.const int ic=i;C.const int *pc=D.int *const cpi=答案 : D6.用new运算符创建一个含有10个元素的一维整型数组的正确语句是( ) 。A.int p=new int(10);B.int p=new int10;C.int *p=new int10;D.int *p=new int(10);答案 : C7 . 对于如下类的定义, 下面语句组中出现语法错误的是( ) 。class X int a;public:X(int x=0) a=x;class Y:c
5、lass Xint b;public:Y(int x=0,int y=0):X(x) b=x; ;A.X*pa=newY(1,2);B.Xa1=Y(1,3);C.Yb1(2,3);X&a3=b1;D.Xa4(10);Yb2=a4;答案 : D8 .关于C+冲的继承机制,错误的说法是()A. 虚拟继承限定基类只能通过一条路径派生出派生类;B. 解决多继承带来的二义性的方法之一是对成员名加以限定;C. 派生类的构造函数的成员初始化列表中,可包含基类中的子对象;D.继承是一种组织类的基本手段。答案 : C9. 关于静态成员 , 正确的说法是( ) 。A. 静态成员函数可以直接访问该类中的非静态成员B
6、. 非静态成员函数不能直接访问该类中的静态成员C. 静态数据成员同其它数据成员一样通过构造函数进行初始化D.静态成员在任何对象创建之前就已经创建答案 : D10. 函数重载与函数模板的说法错误的是( ) 。A. 当函数的函数体不同时,可以把函数设计为重载函数;B. 当函数体相同,仅仅操作的数据类型不同时,可把函数设计为模板;C. 重载函数和函数模板都是抽象的,都需实例化;D.函数模板有待于实例化为模板函数,重载函数可以直接引用。答案 : C11.基类A中有成员函数fn1()、fn2(),在派生类B中重载了成员函数fn1()( 即重新定义了 fn1(), 但没有重载其成员函数fn2() 。如果在
7、派生类 B 中调用基类A 的成员函数fn1()( 不是 B 中重载的数fn1() 和fn2(), 则正确的方式是( ) 。A.A:fn1()和 fn2();B.fn1() 和 A:fn2();C.A:fn1()和 A:fn2();D.fn1() 和 fn2();答案 : A12. 类模板的作用是可以将其实例化后得到一个具体的 ( ) 。A. 类B. 对象C. 模板类D.模板函数答案 : C13. 派生类的构造函数的成员初始化列表中 , 不能包含 ( )A. 基类的构造函数;B. 派生类中子对象的初始化;C. 基类的子对象初始化;D.派生类中一般数据成员的初始化;答案 : C14. 设置虚基类的
8、目的是( ) 。A. 简化程序;B. 消除二义性;C. 提高运行效率;D.减少目标代码;答案 : B15. 下列不是C+理本数据类型的是()。A.int B.string C.char D.void 答案 : B16. 下列程序段不会发生二义性的是( )A.intfun(doublep).;B.intfun(floatp).; floatfun(floatp).;floatfun(unsignedp).; intx;intx;x=fun(0);x=fun(0);C.intfun(inti,intj=2).;D.intfun(inti=2,intj=2).; floatfun(inti).;in
9、tfun(int*p).; coutfun(5);coutfun(5);答案 : D17. 下列对继承关系的描述中 , 正确的是 ( )A. 在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的;B. 在公有继承中,基类中只有公有成员对派生类的对象是可见的;C. 在私有继承中,基类中只有公有成员对派生类是可见的;D.在私有继承中,基类中的保护成员对派生类的对象是可见的;答案 : D18. 下列对引用的陈述中错误的是( ) 。A. 每一个引用都是其所引用对象的别名,因此必须初始化;B. 形式上针对引用的操作实际上作用于它所引用的对象;C. 一旦定义了引用,一切针对其所引用对象的操作只能通
10、过该引用间接进行;D.不需要单独为引用分配存储空间。答案 : B19. 下列关于类的访问控制机制说法错误的是( )A. 静态数据成员通常都定义为公有类型。B. 一个对象的私有成员对于同类的另一个对象是可见的。C. 友元机制破坏了类的封装性。D.基类的保护成员对派生类新定义的成员函数是可见的答案 : A20. 下列关于私有继承的说法中正确的是( ) 。A. 基类成员对派生类新定义的成员函数是不可见的;B. 基类成员对派生类新定义的成员函数是可见的;C. 只有基类成员中的公有成员对派生类新定义的成员函数是可见的;D.基类成员中的保护成员对派生类新定义的成员函数是可见的。答案 : D21. 下列关于
11、运算符重载的描述中 ,( ) 是正确的。A. 运算符重载可以改变运算数的个数;B. 运算符重载可以改变优先级;C. 运算符重载可以改变结合性;D.运算符重载不可以改变语法结构。答案 : D22. 下列说法不正确的是( )oA. 在类中不能对所定义的数据成员进行初始化。B. 类的公有成员函数是类与外界的接口。C. 同一个类的两个对象占用相同的内存空间。D.类实现数据隐藏。答案 : C23. 下列说法不正确的是( ) 。A. 在类中,成员的默认访问特性是私有的。B. 类封装了数据和操作。C. 类实质上是一种数据类型。D.在类的定义中,必须包含private、publiE.protected 三种存
12、取方式对应得部分。答案 : D24. 下列说法错误的是( ) 。A. 在类中不能对所定义的数据成员进行初始化;B. 类的公有成员函数是类与外界的接口;C. 同一个类的两个对象占用相同的内存空间;D.类实现数据隐藏。答案 : C25. 下面对友元的错误描述是( ) 。A. 友元函数不可访问对象的 private 成员B. 一个类的成员函数可以是另一个类的友元C. 友元类和友元函数均用关键字 friend 声明D.友元函数可以访问对象的protected成员 答案 : A26. 下面关于引用的说法错误的是( ) 。A. 引用是被引用对象的别名B. 对引用的修改就是对被引用对象的修改,反之亦然C.
13、引用不一定立即初始化D.引用不能建立数组答案 : C27. 下面是四条顺序出现的声明语句 , 非法的初始化语句是 ( )A.inti= 1;B.constintic=i;C.constint*pc=⁣D.int*constcpi=⁣ 答案 : D28. 下面是重载双目运算符+的普通函数原形, 其中最符合+原来含义的是( )A.Valueoperator+(Value,Value);B.Valueoperator+(Value,int);C.Value&operator+(Value,Value*);D.Value&operator+(Value&,Value&); 答案 : A29
14、. 下述静态数据成员的特性中 ,( ) 是错误的。A. 声明静态数据成员时前面要加修饰符static 。B. 静态数据成员要在类体外进行初始化。C. 在程序中引用静态数据成员时, 要在静态数据成员名前加类名和作用域运算符。D.静态数据成员是一个类的个别对象所共享的。答案 : D30. 下述静态数据成员的特性中 ,( ) 是错误的。A. 声明静态数据成员时前面要加修饰符static 。B. 静态数据成员要在类体外进行初始化。C. 在程序中引用静态数据成员时, 要在静态数据成员名前加类名和作用域运算符。D.静态数据成员是本类中个别对象所共享的。答案 : D31. 以下关于函数模板的论述中 , 正确
15、的是 ( ) 。A. 一旦定义了函数模板,就不能再定义同名的重载函数;B. 从同一个函数模板实例化后得到的多个模板函数属于函数重载;C. 函数模板中只有一种参数;D.在定义函数模板时,template语句与函数模板定义语句之间可以有别的语句 答案 : B32. 友元的作用之一是( ) 。A. 提高程序的运行效率。B. 加强类的封装性。C. 实现数据的隐蔽性。D.增加成员函数的种类。答案 : A33. 在下列的各类函数中 ,( ) 不是类的成员函数。A. 构造函数B. 析构函数C. 友元函数D.拷贝构造函数答案 : C34. 基类和派生类可以分别称为()。A. “大类”和“小类”B. “父类”和
16、“子类”C. “小类”和“大类”D. “子类”和“父类”答案 : BE. .C+对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( )。A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D.引进了类和对象的概念答案 : D36. 下列对引用的陈述中错误的是()。A. 每一个引用都是其所引用对象的别名,因此必须初始化;B. 形式上针对引用的操作实际上作用于它所引用的对象;C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行;D.不需要单独为引用分配存储空间。答案 : B37. 在下列的各类函数中, ( ) 不是类的成员函数
17、。A. 构造函数B. 析构函数C. 友元函数D.拷贝构造函数答案 : C38. 若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。A.inB.inlineC.inLineD.InLiner 答案 : B39. 调用一个成员函数时,使用动态关联的情况是( )。A. 通过对象调用一虚函数B. 通过指针或引用调用一虚函数C. 通过对象调用一静态函数D.通过指针或引用调用一静态函数答案 : B40. 下列()的调用方式是引用调用。A. 形参和实参都是变量B. 形参是指针,实参是地址值C. 形参是引用,实参是变量D.形参是变量,实参是地址值答案 : C41.
18、运行时的多态性使用什么获得?( )A. 重载函数B. 继承C. 虚函数D.B 和 C答案 : C42. 函数重载是指( )。A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B. 两个以上的函数取相同的名字和具有相同的参数个数, 但形参的类型可以不同C. 两个以上的函数名字不同,但形参的个数或类型相同D.两个以上的函数取相同的函数名,并且函数的返回类型相同 答案 : A43. 面向对象软件开发中使用的OO缺示()。A. 面向对象分析B. 面向对象设计C. 面向对象语言D.面向对象方法答案 : A44. 下列说法错误的是()。A. 在类中不能对所定义的数据成员进行初始化;B. 类的
19、公有成员函数是类与外界的接口C. 同一个类的两个对象占用相同的内存空间;D.类实现数据隐藏。答案 : C45. 一个函数功能不太复杂,但要求被频繁调用,选用( )A. 内置函数B. 重载函数C. 递归函数D.嵌套函数答案 : A46. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( )。A. 内置函数B. 重载函数C. 递归函数D.函数模板答案 : A47. 下面的类中,( )不是由抽象基类ios 直接派生出来的。A.istreamB.ostreamC.iostreamD.fstreambase答案 : C48. 下列对派生类的描述中,()是错的。A. 一个派生类可以作为
20、另一个派生类的基类;B. 派生类至少有一个基类;C. 派生类的成员除了它自己的成员外,还包含了它的基类的成员;D.派生类中继承的基类成员的访问权限到派生类保持不变;答案 : D49. 对于动态分配内存空间描述正确的是( )。A.使用new运算符分配的内存空间的长度必须是常量B.delete 运算符可以释放动态的存储空间和静态的存储空间C. 用 new 分配的内存空间是不连续的D.delete运算符只能以释放由new分配的动态存储空间答案 : D50 .C+编译系统确定调用是具体对象的过程称为关联。C+有()关联。A.1 种51 2 种C.3 种D.4 种答案 : B51. 当一个类对象离开它的
21、作用域时,系统自动调用该类的 ( )A. 无参构造函数B. 带参构造函数C. 拷贝构造函数D.析构函数答案 : D52. 在类作用域中能够通过直接使用该类的( )成员名进行访问。A. 私有B. 公用C. 保护D.任何答案 : D53. 派生类的对象对其基类中( )可直接访问。A. 公有继承的公有成员B. 公有继承的私有成员C. 公有继承的保护成员D.私有继承的公有成员答案 : A54. 类的析构函数是在( ) 调用的。A. 类创建时B. 创建对象时C. 删除对象时D.不自动调用答案 : D55. 在一个类的定义中,包含有( )成员的定义。A. 数据B. 函数C. 数据和函数D.数据或函数答案
22、: C56. 对于下面的两条语句,正确的描述是。MyObject a(2), b(a), c;c = b = a;A. 拷贝构造函数执行了 1 次;B. 赋值运算符重载函数执行了 3 次;C. 拷贝构造函数函数执行了 3 次;D.赋值运算符重载函数执行了1次;答案 : A57. C+ 的输入输出不包括()。 CA. 标准的输入输出B. 文件的输入输出C. 字符串输入输出D.显示屏和打印机的输入输出答案 : C58. 下面关于引用的说法错误的是( ) 。A. 引用是被引用对象的别名B. 对引用的修改就是对被引用对象的修改,反之亦然C. 引用不一定立即初始化D.引用不能建立数组答案 : C59.
23、在一个类中可以对一个运算符进行( )重载。A.1 种B.2 种以下C.3 种以上D.多种答案 : D60. 下列对继承关系的描述中,( )是正确的。A. 在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的;B. 在公有继承中,基类中只有公有成员对派生类的对象是可见的;C. 在私有继承中,基类中只有公有成员对派生类是可见的;D.在私有继承中,基类中的保护成员对派生类的对象是可见的;答案 : D61. 类模板的作用是可以将其实例化后得到一个具体的()。A. 类B. 对象C. 模板类D.模板函数答案 : C62. 虚函数的定义是在基类中进行的,定义时需要冠以关键字(A.staticB.fr
24、iendC.virtualD.public 答案 : C63. 类的析构函数是在( )调用的。A. 类创建时B. 创建对象时C. 对象生命期结束时D.不自动调用答案 : C64. 下列程序段不会发生二义性的是。A.int fun(double p).;float fun(float p).;int x;x=fun(0);B.int fun(float p).;float fun(unsigned p).;int x;x=fun(0);C.int fun(int i,int j=2).;float fun(int i).;coutfun(5);D.int fun(int i=2,int j=2)
25、.;int fun(int *p).; coutfun(5);答案 : D65. 在下列的各类函数中,不是类的成员函数。A. 构造函数B. 析构函数C. 友元函数D.拷贝构造函数答案 : C66. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( )。A. 作为友元函数重载的1元运算符B. 作为成员函数重载的1元运算符C. 作为友元函数重载的2元运算符D.作为成员函数重载的2元运算符答案 : B67. 下面关于引用的说法错误的是。A. 引用是被引用对象的别名B. 对引用的修改就是对被引用对象的修改,反之亦然C. 引用不一定立即初始化D.引用不能建立数组答案 : C68. 下面有关
26、重载函数的说法中正确的是( )。A. 重载函数必须具有不同的返回值类型B. 重载函数形参个数必须不同C. 重载函数必须有不同的形参列表D.重载函数名可以不同答案 : C69. 函数原型语句正确的是( )。A.int Function(void a) B.void Function (int); C.int Function(a); D.void int(double a); 答案 : B70. 若有语句 int *p = new int5; int * pi; 则以下语句中,执行时会造成 delete p 语句的执行出错的是()。A.(*p)+;B.p+;C.pi = p;D.pi=p+3;答
27、案 : B71. 派生类的成员函数可以直接访问基类的( )成员。A. 所有B. 公有和保护C. 保护和私有D.私有答案 : B72. 下列说法不正确的是A. 在类中,成员的默认访问特性是私有的。B. 类封装了数据和操作。C. 类实质上是一种数据类型。D.在类的定义中,必须包含private、public、protected三种存取方式对应得部分。答案 : D73. 下面对模板的声明,正确的是。A.templateB.templateC.templateD.template答案 : C74. 下列关于运算符重载的描述中, 是正确的。A. 运算符重载可以改变运算数的个数;B. 运算符重载可以改变优
28、先级;C. 运算符重载可以改变结合性;D.运算符重载不可以改变语法结构。答案 : D75. 下列关于类的访问控制机制说法错误的是()。A. 静态数据成员通常都定义为公有类型。B. 一个对象的私有成员对于同类的另一个对象是可见的C. 友元机制破坏了类的封装性。D.基类的保护成员对派生类新定义的成员函数是可见的。答案 : A76. 在 ()情况下适宜采用 inline 定义内置函数。A. 函数体含有循环语句B. 函数体含有递归语句C. 函数代码少、且频繁调用D.函数代码多、不常调用答案 : C77. 友元的作用之一是A. 提高程序的运行效率。B. 加强类的封装性。C. 实现数据的隐蔽性。D.增加成
29、员函数的种类。答案 : A78. 关于基类和派生类的关系, 是错误的。A. 派生类对象属于基类;B. 可以用派生类指针指向派生类对象;C. 可以将基类对象赋值给派生类对象;D.派生类对象指针可转换为基类指针。答案 : C79.基类A中有成员函数fn1()、fn2(),在派生类B中重载了成员函数fn1() (即重新定义了 fn1() ),但没有重载其成员函数fn2() 。如果在派生类B中调用基类A的成员函数fn1()(不是B中重载的数fn1()和 fn2() ,则正确的方式是。A.A:fn1()和 fn2();B.fn1()和 A:fn2();C.A:fn1()和 A:fn2();D.fn1()
30、和 fn2();答案 : A80. 关于继承中出现的二义性的描述中, 是错误的。A. 一个派生类的两个基类中都有某个同名成员, 在派生类中对这个成员的访问可 能出现二义性;B. 解决二义性的最常用的方法是对成员名的限定法;C. 在单继承情况下,派生类中对基类成员的访问也会出现二义性;D. 一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性;答案 : C81. 下述静态数据成员的特性中, 是错误的。A. 声明静态数据成员时前面要加修饰符static 。B. 静态数据成员要在类体外进行初始化。C. 在程序中引用静态数据成员时, 要在静态数据成
31、员名前加 类名和作用域运算符。D.静态数据成员是本类中个别对象所共享的。答案 : D82. 在成员函数中进行双目运算符重载时, 其参数表中应带有( ) 个参数。A.0B.1C.2D.3答案 : B83. 设置虚基类的目的是。A. 简化程序;B. 消除二义性;C. 提高运行效率;D.减少目标代码;答案 : B84. 下列对继承关系的描述中,正确的是A. 在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的;B. 在公有继承中,基类中只有公有成员对派生类的对象是可见的;C. 在私有继承中,基类中只有公有成员对派生类是可见的;D.在私有继承中,基类中的保护成员对派生类的对象是可见的;答案 :
32、 D85. 关于运行时多态的下列描述中, 是错误的。A. 运行时多态是以虚函数为基础的;B. 运行时多态是在运行时确定所调用的函数代码的;C. 用基类指针或引用所标识的派生类对象来操作虚函数才能实现运行时多态;D.运行时多态是在编译时确定操作函数的。答案 : D86. 下面是重载双目运算符+的普通函数原形,其中最符合+原来含义的A.Value operator+(Value, Value);B.Value operator+(Value,int);C.Value &operator+(Value, Value*);D.Value &operator+(Value&, Value&);答案 :
33、A87. 用new运算符创建一个含有10个元素的一维整型数组的正确语句是( ) 。A.int p = new int(10);B.int p = new int10;C.int *p = new int 10;D.int *p = new int(10); 答案 : C)是错误的。88. 下列关于成员函数特征的描述中,(A. 成员函数一定是内置函数B. 成员函数可以重载C. 成员函数可以设置参数的默认值D.成员函数可以是静态的答案 : A89. 下列运算符中,运算符在C+钟不能重载。A.?:B.+C.newD.x; 中各个组成部分,下列叙述中错误的是( )。A.; 的作用是语句的结束B.cin
34、 是一个输出流对象C. 称作提取运算符D.x 是一个变量答案 : B99. 下列对派生类的描述中,( )是错误的。A. 一个派生类可以作为另一个类的基类B. 派生类至少有一个基类C. 派生类的成员除了它自己的成员外,还包含它的基类的成员D.派生类中继承的基类成员的访问权限到派生类中保持不变答案 : D100. 编译时的多态性使用什么获得?( )A. 重载函数B. 继承C. 虚函数D.B 和 C答案 : A101. 说明内置函数的关键字是( )。A.inlineB.virtualC.defineD.static答案 : A102. 在一个被调用函数中,关于 return 语句使用的描述,错误的是
35、A. 被调用函数中可以不用 return 语句B. 被调用函数中可以使用多个return 语句C. 被调用函数中,如果有返回值,就一定要有return 语句D.被调用函数中,一个return语句可返回多个值给调用函数答案 : D103. 下面关于析构函数特征的描述正确的是( )。A. 一个类中可以定义多个析构函数B. 析构函数名与类名相同C. 析构函数不能指定返回类型D.析构函数可以有一个或多个参数答案 : C104. 类模板的模板参数( )。A. 只可作为数据成员的类型B. 只可作为成员函数的返回类型C. 只可作为成员函数的参数类型D.其他三者皆可答案 : D105. 对类对象成员的初始化是
36、通过构造函数中给出的( )实现的。A. 函数体B. 参数初始化表C. 参数表D.参数初始化表或函数体答案 : B106. 由C+目标文件连接而成的可执彳T文件的缺省扩展名为()。A.cppB.exeC.objD.lik答案 : B107. 设 px 是指向一个类对象的指针变量,则执行“ delete px; ”语句时,将自动调用该类的 ( )A. 无参构造函数B. 带参构造函数C. 析构函数D.复制构造函数 答案 : C108. 关键字 class 和 typename 用于定义模板类型参数, 其含义为 ( )A. 任何用户定义的类类型B.C+内部的类型C.A 与 BD.都不是 答案 : C1
37、09. 指针可以用来表示数组元素,下列表示中 是错误的。已知:int a37;A.* (a+1) 5B.* (*a+3)C.* (* (a+1)D.* (&a00+2 )答案 : A110. 假定一个二维数组的定义语句为“ int a 34=3, 4) , 2 , 8,6) ;”,则元素a12 的值为 ( ) 。A.2B.4C.6D.8答案 : C111. 面向对象程序设计将数据与放在一起,作为一个相互依存、不可分割的整体来处理。A. 对数据的操作B. 信息C. 数据隐藏D.数据抽象答案 : A112. 每个类( )构造函数。A. 只能有一个B. 可以有公用的C. 可以有多个D.只可有缺省的答
38、案 : C113. 在关键字 public 后面定义的成员为类的( )成员。A. 私有B. 公用C. 保护D.任何答案 : B114. 派生类可以访问其基类的( )。A. 公用成员B. 保护成员C. 私有派生D.公用和保护成员答案 : D115. 一个类的构造函数通常被定义为该类的 (?) 成员。A. 公用B. 保护C. 私有D.友元 答案 : A116. 下面是四条顺序出现的声明语句,非法的初始化语句是()。A.int i =- 1;B.const int ic=i;C.const int *pc=⁣D.int *const cpi=⁣ 答案 : D117. 设置虚基类的目的是(
39、 )A. 简化程序B. 消除二义性C. 提高运行效率D.减少目标代码答案 : B118 .cout 是某个类的标准对象,该类是( )。A.ostreamB.istreamC.stdoutD.stdin答案 : A119 . 对于一个类的构造函数,其函数名与类名(A. 完全相同B. 基本相同C. 不相同D.无关系答案 : A120. C+类体系中,不能被派生类继承的有()A. 转换函数B. 构造函数C. 虚函数D.静态成员函数答案 : C121. 下列不属于同一个函数原型的是( )A.add(int,double);B.int add(int,double);C.int add(int x,do
40、uble y);D.int add(double y,int x); 答案 : A122. 下列语句中错误的是() 。A. “ int *p=new int (10);”B. “int *p=new int 10;”C. “int *p=new int ;”D. “int *p=new int (10)(0);”答案 : D123. 若类A中的静态成员函数display 的原型如下:static voiddisplay( ); , 则说法正确的是( )A. 该函数可以直接使用类A 的普通数据成员B. 该函数可以使用this 指针C. 该函数只能使用类A 中的静态成员D.该函数既可以使用类A中的
41、普通成员函数也可以使用类A中的静态成员函数答案 : C124. 假设已经定义好了一个类student ,现在要定义类derived ,它是从 student 私有派生的,定义类derived 的正确写法是( )。A. “class derived二student prived /; ”B. class derived:student public /; ”C. class derived:private student/; ”D. class derived二student public stuednt /; ”答案 : C125. 关于 this 指针的说法正确的是( )A.this 指针必
42、须显示说明B. 当创建一个对象后, this 指针就指向该对象C. 成员函数拥有this 指针D.静态成员函数拥有this指针答案 : B126. 在下面的 4 个关键字中,( )是用来说明虚函数的。A.virtualB.publicC.protectedD.private答案 : A127. 如果表达式 a=b 中的“=”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。A.a.operator=(b)B.b.operator=(a)C.operator=(a,b)D.operator=(b,a)答案 : C128. 派生类可以访问其基类的( )。A. 公用成员B. 保
43、护成员C. 私有派生D.公用和保护成员答案 : D129. 在下列重载函数的调用时可能发生错误的是( )A.int print(int X); void print(float);B.int show(int X); int show(char *s);C.int display(Myclass A); char * display(Myclass A);D.int view(int X,int y); int view(int X);答案 : C130. 下列的符号常变量定义中,错误的定义是( )。A.const M=10;B.const int M=20;C.const char ch;D
44、.const bool mark=true;答案 : C131. 当使用 ofstream 流类定义一个输出流对象并打开一个文件时,文件的默认打开选择项是( ) 。A.ios:in B.ios:out C.ios:binary D.ios:app 答案 : B132. C + +对C语言作了很多改进,下列描述中()使得C语言发生了质变,即从面向过程变成为面向对象。A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省值C. 规定函数说明必须用原型D.引进了类和对象的概念答案 : D133. 面向对象方法的多态性是指( )。A. 一个类可以派生出多个特殊类B. 一个对象在不同的运行环境中可
45、以有不同的变体C. 针对一消息,不同的对象可以以适合自身的方式加以响应D. 一个对象可以是由多个其他对象组合而成的答案 : C134. 关于面向对象系统分析,下列说法中不正确的是( )。A.术语“面向对象分析”可以用缩写00“示B. 面向对象分析阶段对问题域的描述比设计阶段更详细C. 面向对象分析包括问题域分析和应用分析两个步骤D.面向对象分析需要识别对象的内部和外部特征答案 : B135. 下列哪个初始化是非法的(下面五个选项是顺序出现的声明语句)A.int i = 1;B.const int ic=i;C.const int *pc=⁣D.int *const cpi=⁣E.c
46、onst int *const cpic=⁣ 答案 : C136. 有关析构函数的说法不正确的是.A. 析构函数有且只有一个B. 析构函数和构造函数一样可以有形参C. 析构函数无任何函数类型D.析构函数的作用是在对象被撤销时收回先前分配的内存空间答案 : B137. 假定一个类的构造函数为“B(int ax, int bx): a(ax), b(bx) ” ,执行 “ B x(1,2),y(3,4);x=y; ”语句序列后 x.a 的值为( )。A.1B.2C.3D.4答案 : C138. 以下正确的描述是( )。A. 不允许设置参数的默认值B. 设置参数的默认值只能在定义函数时设置C.
47、 设置参数的默认值时,应该设置右边的参数D.设置参数的默认值时,应该全部参数都设置答案 : C多选题1.下列关于C+推序结构特点表述正确的是:A.由包括main ()在内的一组函数组成B.C+函数由函数的说明部分和函数体两部分组成C.C+中每个语句和数据定义必须以分号结束D.C+源程序扩展名为.cpp答案 : A, B, C, D2. 下列关于构造函数描述正确的是A. 构造函数的名字必须与类名相同B. 构造函数可以有任意类型的参数,但不能具有返回类型C. 定义对象时,编译系统会自动地调用构造函数D.构造函数用于为对象分配空间,进行初始化。答案 : A, B, C, D判断题1.C+只能用于面向
48、对象程序设计,不适用于面向过程程序设计。()A. 错误B. 正确答案 : A2. 重载函数不能改变运算符运算对象的个数。( )A. 错误B. 正确答案 : B3. 在类的继承层次结构中, 在不同的层次中不能出现名字相同、 参数个数和类型都相同而功能不同的函数。( )A. 错误B. 正确答案 : A4. 在调用构造函数时不必给出实参的构造函数称为默认构造函数。 一个类只能有一个默认构造函数。( )A. 错误B. 正确答案 : B5. 对使用默认参数的构造函数, 如果在类外定义构造函数, 应该在定义构造函数时指定默认值( )。A. 错误B. 正确答案 : A6. 纯虚函数是在基类中说明的虚函数,
49、它在该基类中必须定义具体的操作内容。( )A. 错误B. 正确答案 : A7. 友元函数说明在类体内,它是一种成员函数。( )A. 错误8. 正确答案 : A8. 使用 new 运算符创建数组时,可以为该数组指定初始值( )。1. 错误8. 正确答案 : A9. C+中的字符串输入输出通常指定一个字符数组作为存储空间,它只能输入输出 string 类数据。( )10. 引用可以不初始化。( )A. 错误B. 正确答案 : A11. 构造函数可以重载。( )A. 错误B. 正确答案 : B12. 将运算符“+”函数重载为类的成员函数,交换律不适用。()A. 错误B. 正确答案 : B13. 关系
50、运算符可以用来比较两个字符的大小,也可用来比较两个字符串的大小。( )A. 错误B. 正确答案 : B14. 在用 class 定义一个类时,如果不加声明,数据成员和成员函数默认的访问权限是 public 。()A. 错误B. 正确答案 : A15.C+ 中设置虚基类的目的是实现运算时的多态性。()16.Iostream 是抽象基类ios 的直接派生类. 。()A. 错误B. 正确 答案 : A17. 引用和指针都可作函数参数。( )A. 错误B. 正确 答案 : B18. 析构函数不能被继承。( )A. 错误B. 正确答案 : B19. 程序运行过程出现异常是由于语法错误引起的。( )A. 错误B.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 修车质检员工作制度
- 公路预检站工作制度
- mcn机构工作制度
- 公司搞卫生工作制度
- 住宿生管理工作制度
- 中草药库房工作制度
- 办公司工作制度模板
- 劳动协理员工作制度
- 医务科查房工作制度
- 医疗康复科工作制度
- 2025年4月自考00744美术鉴赏试题
- 装饰施工现场汇报
- 2025年全国统一高考语文试卷(全国二卷)含答案
- 《帕金森病的认知功能障碍》课件
- 前列腺癌诊疗指南2022年版
- 中国生物科技成果转化蓝皮书-2024
- 烟草职业鉴定三级技能考点
- DB14-T 1734-2025 锅炉用甲醇燃料储供设施技术条件
- 学习2024年《关于加强社会组织规范化建设推动社会组织高质量发展的意见》解读课件
- 危险化学品仓储项目环境影响报告书
- 百级无尘车间设计施工方案
评论
0/150
提交评论