资源描述
东北农业大学22春面向对象程序设计离线作业1答案参考1. 下列( )是构造函数的特征。下列( )是构造函数的特征。A.构造函数在创建对象时自动调用B.构造函数不可以重载C.构造函数不可以设置默认参数D.构造函数必须指定函数类型参考答案:A2. 一个( )允许用户为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值可以取任意数据类型。一个( )允许用户为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值可以取任意数据类型。A.函数模板B.模板函数C.类模板D.模板类参考答案:C3. 假定p指向的字符串为“string”,则coutA.stringB.ringC.ingD.i参考答案:C4. 下列关于修饰符混用的说法,错误的是( )A.abstract不能与final并列修饰同一个类B.abstract类中不可以有private的成员C.static方法中能处理非static的属性D.abstract方法必须在abstract类中参考答案:C5. 假设堆内存分配均成功,则下面程序段完全正确的是( )。假设堆内存分配均成功,则下面程序段完全正确的是( )。A.int *p=new int(3);cout*p;delete p;B.int *p=new int5=1,2,3,4,5;for(int i=0;i5;i+)coutpi;delete p;C.int *p=new int5;for(int i=0;i5;i+,p+) *p=i; cout*p;delete p;D.以上程序段均正确参考答案:A6. 下面函数原型声明中,( )声明了fun为纯虚函数。下面函数原型声明中,( )声明了fun为纯虚函数。A.void fun( )=0;B.virtual void fun( )=0;C.virtual void fun( );D.virtual void fun( );参考答案:B7. 类MyClass的定义如下:class MyClass public: MyClass( )value=0; SetVariable(int i)value=i; private:int value; 则对下列语句序列正确的描述是( )。 MyClass*p,my; p=&myA.语句p=&my; 是把对象my赋值给指针变量pB.语句MyClass*p,my; 会调用两次类MyClass的构造函数C.对语句*p.SetVariable(5)的调用是正确的D.语句p-SetVariable(5)与语句.mySetVariable(5)等价参考答案:D8. 下列给字符数组赋初值时,正确的是( )。A.chars44=a,x,s,tB.chars323=“abc”,“xyz”C.chars24=“abcd”D.chars1=“abcdef”参考答案:D9. 面向对象的英文缩写是OOP。( )A.正确B.错误参考答案:A10. 通过指针或引用可以调用不同对象相同名称的函数,但可导致完全不同的行为的现象称为二义性。( )通过指针或引用可以调用不同对象相同名称的函数,但可导致完全不同的行为的现象称为二义性。( )A.正确B.错误参考答案:B11. 一个类的友元函数能够访问该类的( )。A.私有成员B.保护成员C.公有成员D.所有成员参考答案:D12. 在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是( )。在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是( )。A.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数D.operator+有一个参数,operator*有一个参数参考答案:C13. 下列关于构造函数说法不正确的是( )。下列关于构造函数说法不正确的是( )。A.构造函数必须与类同名B.构造函数可以省略不写C.构造函数必须有返回值D.在构造函数中可以对类中的成员进行初始化参考答案:C14. 以下有关构造方法的说法,正确的是( )。A.一个类的构造方法可以有多个B.构造方法在类定义时被调用C.构造方法只能由对象中的其它方法调用D.构造方法可以和类同名,也可以和类名不同参考答案:A15. 建立类模板对象的实例化过程为( )。A.基类派生类B.构造函数对象C.模板类对象D.模板类模板函数参考答案:C16. 纯虚函数是一种不给出具体实现的虚函数。( )A.错误B.正确参考答案:B17. 设有说明char ch=a; int x=3; float y=4; double z=5; ,则表达式ch*(x-y)/z的数据类型是( )。A.不确定B.intC.doubleD.char参考答案:C18. 程序在调用重载函数时,根据( )区分到底要调用哪个函数?A.函数名B.返回值类型C.参数个数和类型D.以上都可以参考答案:C19. 一般的成员函数可以重载。( )A.对B.错参考答案:A20. 假定类AB中有一个公用属性的静态数据成员static int bb; 在类外不通过对象名给该成员bb赋值为10的写法为static int AB:bb=10。( )A.正确B.错误参考答案:B21. 设有定义:int a=0, b=5, c; 执行语句c=(a=b)|+a&b+后,a、b、c的值分别是( )。A.5,5,1B.4,6,1C.1,6,1D.1,5,0参考答案:A22. 在类体外定义成员函数时需要通过域运算符指定该成员函数所属的类。( )在类体外定义成员函数时需要通过域运算符指定该成员函数所属的类。( )A.正确B.错误参考答案:A23. 下列静态数据成员的特性中,( )是错误的。A.说明静态数据成员时前边要加关键字static来修饰B.静态数据成员在类体外进行初始化C.引用静态数据成员时,要在静态数据成员名前加和作用域运算符D.静态数据成员不是所有对象所共有的参考答案:D24. 派生类至少有一个基类。( )A.对B.错参考答案:A25. 在下列函数原型中,可以作为类AA构造函数的是( )。A.void AA(int)B.int AA( )C.AA(int)constD.AA(int)参考答案:D26. 设x和y均为bool量,则x|y为假的条件是( )。A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假参考答案:C27. 成员函数的参数可以设置默认值。( )A.对B.错参考答案:A28. 类模板的模板参数( )。A.只可作为数据成员的类型B.只可作为成员函数的返回类型C.只可作为成员函数的参数类型D.以上三者皆可参考答案:D29. 关于以下程序段的说法正确的是( )。 1. public class Myar 2. public static void main(String argv) 3. inti=new int5; 4. System.out.println(i5); 5. 6. A.第2行编译出错B.第4行编译出错C.编译时产生错误D.编译时没有产生错误,运行时发生异常参考答案:D30. 在进行任何的C+流操作后,都可以用C+流的有关成员函数检测流的状态,用来检测是否到达文件的末尾函数是( )。A.fail( )B.eof( )C.bad( )D.good( )参考答案:B31. 下列不是C+流对象的是( )。A.coutB.cinC.cerrD.ostream参考答案:D32. 下列命令中,是Java编译命令的是( )。A.javadocB.javacC.javaD.appletviewer参考答案:B33. 假定AB为一个类,有类AB的两个对象a1,a2; 则执行语句AB *a10=&a1,&a2;时系统自动调用该类的构造函数的次数为2。( )A.正确B.错误参考答案:B34. 下述哪些说法是正确的( )。A.java语言中的类只能有一个构造函数B.程序员可以自己定义自己的异常C.java语言允许多继承D.socket在包中参考答案:BD35. 当include后面的文件名用双引号括起来时,寻找被包含文件的方式是( )。A.直接按系统设定的标准方式搜索目录B.搜索当前逻辑盘上的所有目录C.先在源程序所在目录搜索,再按系统设定的标准方式搜索目录D.仅仅搜索源程序所在目录参考答案:C36. 如果类中的成员变量可以被同一包访问,则使用如下哪个约束符?( )A.privateB.publicC.protectedD.no modifier参考答案:D37. 选出合理的标识符( )A._sys1_lllB.2mailC.$changeD.class参考答案:AC38. 友元重载运算符obj1obj2被C+编译器解释为( )。A.operator(obj1,obj2)B.(obj1,obj2)C.obj1.operator(obj2)D.obj2.operator(obj1)参考答案:A39. 变量必须先定义后赋值。( )A.错误B.正确参考答案:B40. 类外可以直接引用类的所有静态数据成员和静态成员函数。( )A.对B.错参考答案:B41. 空类的声明( )是正确的。A.class类名;B.class类名;C.class类名D.class类名参考答案:B42. 结构化程序设计方法以( )为中心进行分析和设计。A.结构B.模块C.对象D.类参考答案:B43. ( )是析构函数的特征。A.析构函数可以有一个或多个参数B.析构函数定义只能在类体内C.析构函数名与类名不同D.一个类中只能定义一个析构函数参考答案:D44. 使用如setfill( )的操作符对数据进行格式输出时,应包含( )头文件。A.iostreamB.fstreamC.iomanipD.stdlib参考答案:C45. class A public int getNumber(int a)return a+1; class B extends A public int getNuclass A public int getNumber(int a)return a+1; class B extends A public int getNumber(int a, char c)return a+2; public static void main(String args) B b=new B( ); System.out.println(b.getNumber(0); what is the result?A.compilation succeeds and 3 is printedB.compilation succeeds and 2 is printedC.compilation succeeds and 1 is printedD.An error at this program cause compilation to fail参考答案:C46. 下列程序段执行后的结果是( )。String s=new String(“abcdefg”); for(int i=0;is.length( );i+=2)System.out.print(s.charAt(i);A.acegB.ACEGC.abcdefgD.abcd参考答案:A47. C+语言的跳转语句中,对于break和continue说法正确的是( )。A.break语句只应用于循环体中B.continue语句只应用于循环体中C.break是无条件跳转语句,continue不是D.break和continue的跳转范围不够明确,容易产生问题参考答案:B48. 下面的表达式哪个是正确的?( )A.String s=“ 你好”; int i=3; s+=iB.String s=“ 你好”; int i=3; if(i=s)s+=iC.String s=“ 你好”; int i=3; s=i+sD.String s=“ 你好”; int i=3; s=i+参考答案:A49. 下列( )的调用方式是引用调用。A.形参是指针,实参是地址值B.形参是引用,实参是变量C.形参是变量,实参是地址值D.形参和实参都是变量参考答案:B50. 虚函数不能是类的静态成员。( )A.错误B.正确参考答案:B
展开阅读全文