西安交通大学《面向对象程序设计》在线作业二

奥鹏西安交通大学新学期作业参考

西安交通大学新学期《面向对象程序设计》在线作业-00002

1.类中定义的成员默认为(??)访问属性。
选项A:public
选项B:private
选项C:protected
选项D:friend
正确答案问询微信:424329

2.下列程序段不会发生二义性的是_______。
选项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){…;} int fun(int *p){…;} coutfun(5);
正确答案问询微信:424329

3.关于基类和派生类的关系,()是错误的。
选项A:派生类对象属于基类;
选项B:可以用派生类指针指向派生类对象;
选项C:可以将基类对象赋值给派生类对象;
选项D:派生类对象指针可转换为基类指针。
正确答案问询微信:424329

4.用关键字( )标记的函数被称为虚函数。
选项A:virtual
选项B:private
选项C:public
选项D:protected
正确答案问询微信:424329

5.下列对派生类的描述中,( )是错的。
选项A:一个派生类可以作为另一个派生类的基类;
选项B:派生类至少有一个基类;
选项C:派生类的成员除了它自己的成员外,还包含了它的基类的成员;
选项D:派生类中继承的基类成员的访问权限到派生类保持不变;
正确答案问询微信:424329

6.有关析构函数的说法不正确的是_____.
选项A:析构函数有且只有一个
选项B:析构函数和构造函数一样可以有形参
选项C:析构函数无任何函数类型
选项D:析构函数的作用是在对象被撤销时收回先前分配的内存空间
正确答案问询微信:424329

7.如果类A被说明成类B的友元,则( )
选项A:类A的成员即类B的成员
选项B:类B的成员即类A的成员
选项C:类A的成员函数不得访问类B的成员
选项D:类B不一定是类A的友元
正确答案问询微信:424329

8.下列关于类的访问控制机制说法错误的是()。
选项A:静态数据成员通常都定义为公有类型。
选项B:一个对象的私有成员对于同类的另一个对象是可见的
选项C:友元机制破坏了类的封装性。
选项D:基类的保护成员对派生类新定义的成员函数是可见的。
正确答案问询微信:424329

9.C++类体系中,不能被派生继承的有( )。
选项A:转换函数
选项B:构造函数
选项C:虚函数
选项D:静态成员函数
正确答案问询微信:424329

10.为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( )。
选项A:内置函数
选项B:重载函数
选项C:递归函数
选项D:函数模板
正确答案问询微信:424329

11.用new运算符创建一个含有10个元素的一维整型数组的正确语句是( )。
选项A:int p = new int(10);
选项B:int p = new int[10];
选项C:int *p = new int [10];
选项D:int *p = new int(10);
正确答案问询微信:424329

12.下列程序段不会发生二义性的是( )。
选项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){…;}intfun(int*p){…;}
cout<<fun(5);cout<<fun(5);
正确答案问询微信:424329

13.下述静态数据成员的特性中,()是错误的。
选项A:声明静态数据成员时前面要加修饰符static。
选项B:静态数据成员要在类体外进行初始化。
选项C:在程序中引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符。
选项D:静态数据成员是一个类的个别对象所共享的。
正确答案问询微信:424329

14.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。
选项A:in
选项B:inline
选项C:inLine
选项D:InLiner
正确答案问询微信:424329

15.若需要使类中的一个指针成员指向一块动态存储空间,则通常在( )函数中完成。
选项A:析构
选项B:构造
选项C:任一成员
奥鹏西安交通大学新学期作业参考选项D:友元
正确答案问询微信:424329

16.C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( )。
选项A:增加了一些新的运算符
选项B:允许函数重载,并允许设置缺省参数
选项C:规定函数说明符必须用原型
选项D:引进了类和对象的概念
正确答案问询微信:424329

17.关于运算符重载,下列说法正确的是( )。
选项A:重载时,运算符的优先级可以改变。
选项B:重载时,运算符的结合性可以改变。
选项C:重载时,运算符的功能可以改变。
选项D:重载时,运算符的操作数个数可以改变。
正确答案问询微信:424329

18.用“”运算符从键盘输入多于一个数据时,各数据之间应使用( )符号作为分隔符。
选项A:空格或逗号
选项B:逗号或回车
选项C:逗号或分号
选项D:空格或回车
正确答案问询微信:424329

19.下列说法错误的是()。
选项A:在类中不能对所定义的数据成员进行初始化;
选项B:类的公有成员函数是类与外界的接口
选项C:同一个类的两个对象占用相同的内存空间;
选项D:类实现数据隐藏。
正确答案问询微信:424329

20.基类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()和fn2();
正确答案问询微信:424329

21.说明内置函数的关键字是( )。
选项A:inline
选项B:virtual
选项C:define
选项D:static
正确答案问询微信:424329

22.类的析构函数的作用是( )
选项A:一般成员函数
选项B:类的初始化
选项C:对象的初始化
选项D:删除对象创建的所有对象
正确答案问询微信:424329

23.C++中声明常量的关键字是( )。
选项A:const
选项B:extern
选项C:public
选项D:enum
正确答案问询微信:424329

24.假定一个类的构造函数为 “B(int ax, int bx): a(ax), b(bx) {}”,执行 “B x(1,2),y(3,4);x=y;”语句序列后x.a的值为( )。
选项A:1
选项B:2
选项C:3
选项D:4
正确答案问询微信:424329

25.由C++源程序文件编译而成的目标文件的缺省扩展名为()。
选项A:cpp
选项B:exe
选项C:obj
选项D:lik
正确答案问询微信:424329

26.在公用继承的情况下,基类成员在派生类中的访问权限( )
选项A:受限制
选项B:保持不变
选项C:受保护
选项D:不受保护
正确答案问询微信:424329

27.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化_____。
选项A:与虚基类下面的派生类个数有关;
选项B:多次;
选项C:二次;
选项D:一次;
正确答案问询微信:424329

28.采用重载函数的目的是( )。
选项A:函数模板也是一个具体类型的函数
选项B:函数模板的类型参数与函数的参数是同一个概念
选项C:通过使用不同的类型参数,函数模板可以生成不同类型的函数定义
选项D:用函数模板定义的函数没有类型
正确答案问询微信:424329

29.假定变量x定义为“int x=5;”,要使rx成为x的引用(别名),rx应定义为( )。
选项A:int rx=x;
选项B:int rx=
选项C:int *rx=
选项D:int
正确答案问询微信:424329

30.使用如setfill()的操作符对数据进行格式输出时,应包含( )头文件。
选项A:iostream
选项B:fstream
选项C:iomanip
选项D:stdlib
正确答案问询微信:424329

31.派生类能够继承基类的析构函数。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

32.在类的继承层次结构中,在不同的层次中不能出现名字相同、参数个数和类型都相同而功能不同的函数。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

33.若类Y是类X的私有派生类,类Z是类Y的公用派生类,则类Z不能访问类X 的公用成员和保护成员。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

34.析构函数不能被继承。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

35.在设计类时一般把数据成员设置为私有的,把函数成员设置为公用的,从而实现了公用接口和私有实现的分离。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

36.对于从基类继承的虚函数,派生类也可以不进行重定义。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

37.友元函数说明在类体内,它是一种成员函数。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

38.当一个成员函数被声明为虚函数后,其派生类中的具有相同参数类型和相同参数个数类型的相同类型的同名函数也是虚函数。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

39.不可以定义抽象类的对象。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

40.将运算符“+”函数重载为类的成员函数,交换律不适用。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

41.在调用构造函数时不必给出实参的构造函数称为默认构造函数。一个类只能有一个默认构造函数。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

42.打开一个二进制文件时可以同时指定它既是输入文件又是输出文件。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

43.C++中的字符串输入输出通常指定一个字符数组作为存储空间,它只能输入输出string类数据。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

44.变量必须先定义后赋值。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

45.内置函数的定义必须出现在第一次调用内置函数之前。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

46.C++只能用于面向对象程序设计,不适用于面向过程程序设计。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

47.使用虚函数可以避免多重继承产生的二义性。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

48.运算符重载以后,其优先级和结合性都不能改变。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

49.构造函数可以重载。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

50.使用字符串流时必须打开文件。( )
选项A:错误
选项B:正确
正确答案问询微信:424329

提供优质的教育资源

公众号: 超前自学网