《面向对象程序设计》第06章在线测试
- 格式:docx
- 大小:76.23 KB
- 文档页数:3
《面向对象程序设计》第05章在线测试A class Complex { Complex operator +();}B+(Complex &);}C class Complex { Complex operator+(Complex, Complex);}DA BC D如果表达式是作为普通函数重载的运算符,A BC D、双目运算符的调用格式是(A右运算对象BC右运算对象D、一个程序中数组int a[5][10],k;”,且程序中包含有语句“A BC DC、.D、,2、下面运算符可以重载的是()A、*B、.*C、?:D、->*3、关于运算符重载,下列说法错误的是()。
A、重载时,运算符的优先级可以改变。
B、重载时,运算符的结合性可以改变。
C、重载时,运算符的功能可以改变。
D、重载时,运算符的操作数个数可以改变。
4、下面关于逗号运算符的说法正确的是()A、逗号运算符是多目运算符B、逗号运算符的表达式为“左运算数,右运算数”,返回值为右运算数的值。
C、逗号运算符可以重载为成员函数,形参只带右运算数。
D、逗号运算符的返回值为左运算数的值。
5、下面关于函数调用运算符正确的说法是()A、重载函数调用运算符只能说明为类的非静态成员函数B、重载了的函数调用运算符可以带多个形参,也可以带缺省参数C、重载函数调用运算符的作用与重载函数的作用相同D、重载函数的一般格式为:类名::operator();第三题、判断题(每题1分,5道题共5分)1、对每个可重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数。
正确错误正确错误、重载运算符为成员函数和友元函数时的关键区别在于成员函数具有正确错误+=运算符与标准数据类型的=运算作用完全相同。
正确错误、下标运算符重载函数只能作为类的成员函数,不能作为类的友元函数。
正确错误。
北理工《面向对象程序设计》在线作业试卷总分:100 测试时间:--单选题多选题判断题、单选题(共38 道试题,共76 分。
)1. 下列关于C++函数的描述中,正确的是()。
A. 每个函数至少要有一个参数B. 每个函数都必须返回一个值C. 函数在被调用之前必须先进行声明或定义D. 函数不能自己调用自己满分:2 分2. 下列关键字中不能用来声明类成员访问权限的是()。
A. publicB. staticC. protectedD. private满分:2 分3. 在下列的各类函数中,______不是类的成员函数。
A. 构造函数B. 析构函数C. 友元函数D. 拷贝构造函数满分:2 分4. 派生类对象对它的基类成员中()是可以访问的。
A. 公有继承的私有成员B. 公有继承的保护成员C. 公有继承的公有成员D. 私有继承的公有成员满分:2 分5. 定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为()。
A. int*p=newint[30]B. int*p=newint(30)C. int*p=new[30]int*p=new[30]D. *p=newint[30]满分:2 分6. 多继承时对象的构造顺序中包含如下4步:①所有非虚基类的构造函数按照它们被继承的顺序构造;②所有虚基类的构造函数按照它们被继承的顺序构造;③所有子对象的构造函数按照它们声明的顺序构造;④派生类自己的构造函数体;这4个步骤的正确顺序是()。
A. ④③①②B. ②④③①C. ②①③④D. ③④①②满分:2 分7. 若函数原型为voidFun(intx,inty=6,intchar='a'),则下列调用错误的是()。
A. Fun(5)B. Fun(5, 'b')C. Fun(5,8)D. Fun(2,4, 'b')满分:2 分8. 在横线处填入语句()后,下列语句序列能够正确执行。
《面向对象程序设计》课程模拟测试一、选择题1、C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是()A.面向过程B.面向对象C.安全性D.复用性2、关于虚函数的描述中,正确的是()A.虚函数是一个static类型的成员函数B.虚函数是一个非成员函数C.基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型3、下列关于构造函数的描述中,错误的是()A.构造函数可以设置默认参数;B.构造函数在定义类对象时自动执行C.构造函数可以是内联函数;D.构造函数不可以重载4、在以下关于C++语言的注释的叙述中,不正确的是()A.C++程序中,注释可用“/*”、“*/”形式表示,也可用“//”形式表示B.C++编译器在编译一个程序时,将跳过注释,不对其进行处理C.C++编译器在编译一个程序时,可发现注释中的单词拼写错误D.程序中注释的多少不会影响所生成的可执行文件的长度5、C++语言的跳转语句中,对于break和continue说法正确的是()A.break语句只应用于循环体中B.continue语句只应用于循环体中C.break是无条件跳转语句,continue不是D.break和continue的跳转范围不够明确,容易产生问题6、下列关于C++函数的说明中,正确的是()A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是return语句C.标准C++要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式7、在下面的一维数组定义中,哪一个有语法错误。
()A.int a[ ]={1,2,3} B.int a[10]={0}C.int a[ ] D.int a[5]8、面向对象系统不具有()特性A. 继承性B. 封装性C. 过程性D. 多态性9、下列静态数据成员的特性中,错误的是()A.说明静态数据成员前边加staticB.静态数据成员要在类体外初始化C.引用静态数据成员时,要在静态数据成员前加<类名>和作用域运算符D.静态数据成员不是一个类所有对象共享的10、若用数组名作为函数调用时的实参,则实际上传递给形参的是()A.数组首地址B.数组的第一个元素值C.数组中全部元素的值D.数组元素的个数二、填空题1、C++语言中的每条基本语句以作为结束符,每条复合语句以作为结束符。
2015秋浙江大学《面向对象程序设计》在线作业及答案您的本次作业分数为:100分单选题1.下面有关析构函数特征的描述中,正确的是()。
• A 一个类中可以定义多个析构函数• B 析构函数名与类名完全相同• C 析构函数不能指定返回类型• D 析构函数可以有一个或多个参数正确答案:C单选题2.派生类中虚函数原型的()。
• A 函数类型可以与基类中虚函数的原型不同• B 参数个数可以与基类中虚函数的原型不同• C 参数类型可以与基类中虚函数的原型不同• D 以上都不对正确答案:D单选题3.类和派生类正确的关系是()。
• A 从基类到派生类称为继承。
• B 从派生类到基类称为派生。
• C 派生类包含了基类。
• D 从基类到派生类称为派生。
正确答案:D单选题4.析构函数的特征是()。
• A 析构函数可以有多个参数。
• B 析构函数只能在类体内定义。
• C 一个类中只能定义一个析构函数。
• D 一个类中能定义多个析构函数。
正确答案:C单选题5.如果在基类中将show声明为不带返回值的纯虚函数,正确的写法是()。
• A virtualshow()=0;• B virtualvoidshow();• C virtualvoidshow()=0;• D voidshow()=0virtual;正确答案:C单选题6.若有定义char *words[]={"FORTRAN", "BASIC","PASCAL","JAVA","C"};则输出结果为AVA的语句是()。
• A printf("%s",*words[3]+1)• B printf("%s",*words[4]+1)• C printf("%s",*(words+3)+1)• D printf("%s",(*words+4)+1)单选题7.已知有预编译指令#define s(a,b) (a*b),则执行语句i=1;Area=s(3, 5-i)+3;后,变量area的值为()。
封面作者:PanHongliang仅供个人学习《面向对象程序设计》第04章在线测试剩余时间:59:57答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)1、若B类为A类的友元类,则下面的说法正确的是()A、B类的所有成员函数都是A类的友元函数B、B类指定的成员函数才是A类的友元C、A类的所有成员函数可以访问B类的成员D、B类的私有成员函数不能可以访问A类的私有成员2、一个类的友元不是该类的成员,与该类的关系密切,所以它()。
A、有this指针,有默认操作的对象B、没有this指针,可以有默认操作的对象C、有this指针,不能执行默认操作D、没有this指针,也就没有默认操作的对象3、下面的语句中能将类 B 定义为类A的友元类的是()A、friend class B。
B、class A{ friend B}。
C、class A{ friend class B。
}。
D、class friend B class A。
4、如果类 B 是类A的友元类,n是类A的私有数据成员,函数f(A tmp)是类B的公有成员函数,a是类A的对象, b是B类的对象,下面语句正确的是()A、main(){ f(a)。
}B、main(){ b.f。
}。
C、main(){ a.n。
}。
D、main(){ b.f(a)。
}。
5、下面对于友元函数描述正确的是A、友元函数的实现必须在类的内部定义B、友元函数是类的成员函数C、友元函数破坏了类的封装性和隐藏性D、友元函数不能访问类的私有成员第二题、多项选择题(每题2分,5道题共10分)1、一个类的友元不是该类的成员,与该类的关系密切,所以下面它的说法错误的是()。
A、有this指针,有默认操作的对象B、没有this指针,可以有默认操作的对象C、有this指针,不能执行默认操作D、没有this指针,也就没有默认操作的对象2、下面关于友元的说法正确的是()A、友元函数是拥有成员函数一切权利B、友元是一种成员函数C、友元可以直接访问类的所有成员D、友元不能访问类的私有成员3、下面关于友元函数正确的说法是()A、在类中用关键词friend声明友元函数B、友元函数说明的位置只能在类的public区C、友元函数的定义只能放在类的外部D、友元函数不是类的成员函数4、关于友元函数的说法正确的是()A、友元函数可以是普通函数,可以是其他类的成员函数,也可以是本类的成员函数B、友元函数可以访问多个类的私有成员和保护成员C、在调用友元函数的时候需要使用“.”运算符D、如果友元函数是某个类的成员函数,在定义这个友元函数的时候要使用类前缀。
《面向对象程序设计》第02章在线测剩余时间:59:56试答题须知:1、本卷满分20分.2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)1、在关键字public后面定义的成员为类的()成员。
A、私有B、公用C、保护D、任何2、当一个类对象结束它的生存期的时侯,系统自动调用该类的( )。
A、无参构造函数B、带参构造函数C、拷贝构造函数D、析构函数3、类的构造函数被自动调用执行的情况是在定义该类的 ( )A、成员函数时B、数据成员时C、对象时D、友元函数时4、假定AB为一个类,则执行“AB *p=new AB(1,2);”语句时共调用该类构造函数的次数为( )。
A、0B、1C、2D、35、假定AB为一个类,px为指向该类的一个含有n个对象的动态数组的指针,则执行“delete []px;"语句时共调用该类析构函数的次数为( )。
A、0B、1C、nD、n+1第二题、多项选择题(每题2分,5道题共10分)1、下面有关类说法正确的是(A,B,D )A、一个类可以有多个构造函数B、一个类只有一个析构函数C、析构函数需要指定参数D、在一个类中可以说明具有类类型的数据成员2、关于封装,下列说法中正确的是()。
A、通过封装,对象的全部属性和操作结合在一起,形成一个整体B、通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C、通过封装,每个对象都成为相对独立的实体D、通过封装,对象的属性都是不可见的3、定义析构函数时,错误的说法是()。
A、其名与类名完全相同B、返回类型是 void 类型C、无形参,也不可重载D、函数体中必须有 delete 语句4、假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的语句错误的是()。
001017[面向对象程序设计]5天大在线考试题库及答案面向对象程序设计复习题一、单项选择题1、基类中的保护成员在其私有派生类中的访问属性是(答案是A )。
A.私有B.公有C.保护D.不确定2、在类的非静态成员函数中,不可以直接访问的数据成员是(答案是D )。
A.本类的私有成员B.本类的保护成员C.本类的公有成员D.本类的所有非静态成员3、下列标示符中,不符合C++标示符命名规则的是(C)。
A.x10B. _totalC.πD.www4、下列整型常数中,不符合C++语法的是(C)。
A.12uB.-67lC.059D.0X11ff5、下列常量中,不符合C++语法的是(答案是D )。
A.”\\0”B.‘*’C.“”D.“It’s an array!”6、下列数组的初始化形式中,不符合C++语法的是(答案是A )。
A.int s1[3]={1,2,3,4}B.int s2[3]={0}C.char s3[3]={‘a’,’x’,’d’}D.char s4[]=“asd”7、如果说明语句为:int a[4]={10,20,30,40,50}, *p=&a[2];则*p的值是(答案是 B )。
A.a[2]的地址B.30C.20D.不确定8、已知:int a[3][3];下列表示数组元素a[0][0]的方法中,不符合C++语法的是(C)。
A.**aB.*a[0]C.a[0]D.*(*a[1]-1)9、已知:int a=3,b=5,下列表达式中,值为0的表达式是(答案是 B )。
A.a%5-5B.a/bC.!a||bD.a&&b10、C++中字符常数的定界符是(答案是 B )。
A.”B.‘C.#D.\\11、已知:int a=9,sum=0;下列循环中,不构成死循环的是(答案是 A )。
A.for(;a;a++) sum+=a--B.do{sum+=a--}while(--a);C.while(a=1) sum+=a--;D.do{sum+=a}while(a-1);12、如果定义一个函数时未指定该函数的返回值类型,则函数返回值类型应是(答案是 B )。
《Java程序设计》第06章在线测试A BC DA BC DA BC DA、运行方式不同,程序结构相同,运行工具不同,BC、运行方式相同,程序结构相同,运行工具不同,DA BC DC、JApplet的内容面板的默认布局管理器是BorderLayoutD、JApplet的内容面板的默认布局管理器是FlowLayout2、下列关于Applet程序的描述中,正确的是()。
A、Applet程序的主类必须是Applet类的子类B、Applet程序的主类中应该有一个main()方法C、Applet不是完整的独立程序D、Applet的字节码文件必须嵌套在一个HTML文件中3、下列关于Applet程序的描述中,正确的是()。
A、将编辑好的Java源文件,使用javac命令生成字节码文件B、将字节码文件嵌入HTML文件,并存放在一个WWW服务器中C、使用浏览器解释HTML文件中的标记D、使用编译器直接执行嵌套在HTML文件中的字节码文件4、下列关于向Applet程序传递参数的描述中,正确的是()A、Applet程序可以通过命令获取外部参数B、Applet程序可以通过HTML文件获取外部参数C、使用Applet标记中的PARAM标志来实现D、Applet程序中使用getParameter()方法读取参数值5、下列属于Applet生命周期方法是()A、init()B、start()C、stop()D、paint()第三题、判断题(每题1分,5道题共5分)1、任何运行在Web页面中的小应用程序都必须是Java中java.applet.Applet类的子类。
正确错误正确错误正确错误正确错误正确错误。
可编辑修改精选全文完整版第六章 python面向对象青少年编程知识练习题及答案解析一、单选题1、下列创建类,方法正确的是()A.Class food( ):B.Class Food():C.class Food()D.class Food():答案解析:D,创建类用class关键字,与类名中间隔一个空格,后面添加括号和冒号。
2、根据car()类创建实例对象,下列代码正确的是()A.Car=car()B.car=car()C.car=Car()D.Car=Car()答案解析:C,类名为大写Car(),对象名为小写的car。
3、在Car类中自定义speed方法,输出:行驶速度为60km/h,代码书写正确的是()A.B.C.D.答案解析:B,在类中定义方法,注意不要漏掉self和冒号。
4、以下代码创建了一个football对象:football=Ball(),调用football对象的play方法,下列选项正确的是()A.Football.play()B.football.Play()C.football.play()D.football.play答案解析:C,对象调用方法,对象名.方法名,不要忘记括号。
5、在Food类中创建eat方法,下列选项正确的是()A.Class Food():Def eat(self):B.class Food():def eat(self):C.class Food():def eat():D.class Food():def Eat(self)答案解析:B,创建类的关键字class,创建方法的关键字def。
6、以下代码创建了一个monkey对象:monkey=Animals(),调用monkey对象的name属性,下列选项正确的是()()D.monkey:name()答案解析:C,访问属性方法:对象名.属性名7、以传参的方式定义实例化方法时,参数之间用()符号进行分隔:A.分号;B.冒号:C.空格D.逗号,答案解析:D,参数属性之间用逗号分隔。
国家开放大学(面向对象程序设计)[填空题]1试述值类型和引用类型的区别?参考答案:值类型和引用类型的区别在于,值类型的变量直接存放实际的数据,而引用类型的变量存放的则是数据的地址,即对象的引用。
值类型变量直接把变量的值保存在栈中,引用类型的变量把实际数据的地址保存在栈中,而实际数据则保存在堆中。
[填空题]2试述下面代码的输出结果是什么?参考答案:old3[填空题]3简述装箱和拆箱的过程。
参考答案:装箱(boxing)是将值类型隐式地转换为引用类型。
如int i=3;object o = i ;便是装箱过程,装箱一个数值会为其分配一个对象实例,并把该数值拷贝到新对象中。
拆箱(unboxing)是显式地把引用类型转换成值类型,如int j = (int)o char j= (char)。
[填空题]4什么是静态变量?参考答案:类的数据成员可以分静态变量、非静态变量两种.静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员.非成静态员:所有没有加Static的成员都是非静态成员,当类被实例化之后,可以通过实例化的类名进行访问非静态成员的生存期决定于该类的生存期..而静态成员则不存在生存期的概念,因为静态成员始终驻留在内容中。
一个类中可以同时包含静态成员和非静态成员,类中也包括静态构造函数和非静态构造函数。
[填空题]5试述abstract class和interface有什么区别?参考答案:[填空题]6进程和线程分别怎么理解?参考答案:1)定义解释进程是具有一定独立功能程序在关于某个数据集上的一次运行活动。
进程是系统进行资源分配和调度的一个独立单位。
线程是进程的一个实体,是Cup调度的基本*单位。
第一章测试1下列选项中,可以正确配置classpath的命令是()【答案】set classpath =C:\\Program Files\\Java\\jdk1.7.0_15\\bin2在JDK安装目录下,用于存放可执行程序的文件夹是()【答案】bin3下面关于Java程序的描述中,错误的是(【答案】不同操作系统上的Java虚拟机是相同的4下列选项中,哪些选项用于构成JDK开发环境()【答案】全选5下列关于使用Javac命令编译后生成文件的说法中,正确的是()【答案】编译后生成文件的后缀名为.class【答案】编译后生成的文件为二进制文件【答案】编译后生成的文件可以在Java虚拟机中运行6下列目录中,哪些属于JDK安装后的子目录()【答案】lib目录【答案】jre目录【答案】include目录7ib是library的缩写,用于存放Java类库或库文件。
( )【答案】对8如果classpath环境变量没有进行设置,Java虚拟机会自动将其设置为“.”,也就是当前目录。
( )【答案】对9在任意命令行窗口中执行javac命令,如果都能正常地显示帮助信息,说明系统path环境变量配置成功。
( )【答案】对10Eclipse只是一个框架和一组服务,所有功能都是将插件组件加入到Eclipse框架中来实现的。
( )【答案】对第二章测试1下列关于注释作用的描述中,错误的是()【答案】会参与编译2下面关于整数类型的描述中,错误的是()【答案】bit是java中的整数类型,它代表的是1个字节。
3下列选项中,按照箭头方向,需要进行强制类型转换的是()【答案】char←byte4下列关于多行注释的应用,正确的是()【答案】程序中可以不写多行注释【答案】写多行注释是一个良好的习惯【答案】多行注释有利于代码的阅读性5下列关于冒泡排序的描述,正确的是()【答案】冒泡排序中会涉及到元素位置的置换【答案】冒泡排序比较的总轮次是"数组长度-1"轮【答案】冒泡排序是不断地比较数组中相邻的两个元素6当break语句出现在嵌套循环中的内层循环时,它只能跳出内层循环。
国家开放大学《面向对象程序设计(本)》章节自测参考答案第1章面向对象的程序设计概述一、单项选择题1.Java是一门()语言。
a. 汇编b. 面向过程的高级c. 面向对象的高级d. 机器2.机器语言中的指令编码为()编码。
a. 数字b. 符号c. 十进制d. 二进制3.更接近人类自然语言的计算机语言是()语言。
a. 机器b. 高级c. 汇编d. 数字4.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。
a. 动态b. 颜色c. 重量d. 状态5.类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。
a. 产品b. 成分c. 实例d. 元素6.Java语言的主要特点不包括()。
a. 处理文件b. 可移植性c. 面向对象d. 自动垃圾回收7.Java语言的主要特点不包括()。
a. 安全性b. 解释执行c. 多线程d. 处理字符串8.具有相同属性和服务的一组对象的模板称为()。
a. 概念b. 程序c. 代码d. 类9.把对象的属性和服务组合成一个独立的整体,尽可能隐蔽其内部的细节,这称为对象的()。
a. 开放性b. 继承性c. 封装性d. 多态性10.使用JDK编译Java程序时使用的命令是()。
a. javadocb. javacc. appletviewerd. java11.使用JDK运行Java程序时使用的命令是( )。
a. javab. javacc. appletviewer12.在JDK目录中,Java运行环境的根目录是( )。
a. demob. binc. libd. jre13.计算机语言发展所经历的四个阶段。
包括:①面向对象语言②机器语言③汇编语言④高级语言。
按照正确的发展顺序,应该依次是:( )。
a. ④③②①b. ②③④①c. ①②④③d. ①②③④14.关于使用Java语言进行软件开发的Java集成开发环境,说法正确的是:( )。
a. NetBeans、Eclipse都为软件开发者提供的免费、开源的Java集成开发环境。
考试试卷A(答案)面向对象程序设计注意事项:1。
请考生按要求在试卷装订线内填写姓名、学号和年级专业。
2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。
3。
不要在试卷上乱写乱画,不要在装订线内填写无关的内容.4。
满分100分,考试时间为120分钟。
一。
单项选择(本大题共10小题,每小题3分,共30分)1. C#中每个int类型的变量占用( B )个字节的内存。
(A)8 (B)4 (C)2 (D)12。
面向对象的特点是( A )(A)封装、继承、多态(B)抽象、封装、多态(C)抽象、继承、封装(D)抽象、多态、重载3。
C#控制台程序的主入口点是( C )(A) Page_Load函数(B)Run函数(C)Main函数(D)Form_Load函数4。
引用类型存储在( B )中。
(A)堆栈(B)堆内存(C)队列(D)列表5. 在C#中,表示一个字符串的变量应使用以下哪条语句定义( B )(A)CString str (B)string str(C)Dim str as string (D)char *str6。
在中,用来与数据源建立连接的对象是( A )。
(A)Connection对象(B)Command对象(C)DataAdapter对象(D)DataSet对象7. 在类的定义中,类的( B )描述了该类的对象的行为特征.(A)类名(B)方法(C)所属的名字空间(D)私有域8. 如果未显式赋值,则将整型值( B )赋给枚举中的第一个元素。
(A)1 (B)0 (C)2 (D)39. float类型的值可以隐式转换成( C )类型的值而保持值不被改变。
(A)char (B)long (C)double (D)int10。
在C#中,假设Class1是一个类,而IExample是一个接口,下面的( A )类声明是正确的。
(A)class Employee: Class1, IExample(B )class Employee : IExample , Class1(C )class Employee- Class1, IExample(D )class Employee: Class1/IExample二.判断题(本大题共5小题,每小题3分,共15分)1. C#中子类可以继承多个基类,也可以继承一个接口。
A BC D 、在公有继承的情况下,基类成员在派生类中的访问权限A BC Dp.a 的形式访问派生类对象 ( )A BC D的继承性允许派生类继承基类的(A、部分特性,并允许增加新的特性或重定义基类的特性B 的特性C、所有特性,并允许增加新的特性或重定义基类的特性D 的特性A B C DD、派生类的对象的地址可以赋给指向基类的指针2、对于公有继承,基类中的私有成员在派生类中将 ( )。
A、不能够直接使用成员名访问B、能够通过成员运算符访问C、仍然是基类的私有成员D、变为派生类的私有成员3、当保护继承时,下面说法正确的是()A、基类的成员的访问权限在派生类中不变B、在类作用域外能够通过派生类的对象来直接访问基类的公有成员C、基类的保护成员和私有成员在派生类中的访问权限为受保护的D、基类的公有成员在派生类中的访问权限为受保护的4、当派生类中有和基类一样名字的成员时,下面说法错误的是()。
A、将产生二义性B、派生类的同名成员将覆盖基类的成员C、是不能允许的D、基类的同名成员将覆盖派生类的成员5、含有虚基类的派生类的构造函数调用次序错误的是()A、虚基类,基类,派生类,对象成员B、基类,派生类,对象成员,虚基类C、对象成员,基类,虚基类,派生类D、基类,虚基类,对象成员,派生类第三题、判断题(每题1分,5道题共5分)1、C++语言中,既允许单继承,又允许多继承。
正确错误2、派生类的继承方式有两种,公有继承和私有继承。
正确错误、在公有继承中,正确错误、析构函数不能被继承。
正确错误、多继承情况下,派生类的构造函数的执行顺序取决于定义派生时所指定的各基类的顺序。
正确错误(满分。
第一章测试1.计算机编程语言发展经历三个阶段,由低到高分别是()。
A:汇编语言、机器语言、高级语言B:汇编语言、高级语言、机器语言C:机器语言、汇编语言、高级语言D:高级语言、汇编语言、机器语言答案:C2.Java平台包括三个版本,分别是企业版(JavaEE)、标准版(JavaSE)、微型版(JavaME)。
()A:错B:对答案:B3.Java语言的特点包括()。
A:与平台无关B:简单C:安全D:面向对象答案:ABCD4.Java用于编译的命令是java.exe。
()A:错B:对答案:A5.假设编译后的目录为d:.class,其中Circle类的包为b.c,则classpath应该添加的目录是()。
A:d:B:d:aC:d:aD:d:ac答案:B第二章测试1.有如下一段代码: public class ReturnIt{ _______ methodA(double x, doubley){ return x/y*2; } }在划线处应该是?()A:shortB:doubleC:intD:byte答案:B2.下面哪些字符串可以是Java中的标识符?()A:fieldnameB:3numberC:superD:#number答案:A3.下面的代码段中,执行之后i 和j 的值是()。
int i = 1; int j;j = i++;A:1,2B:1,1C:2,1D:2,2答案:C4.下列程序的运行结果是()。
public class Test { public static voidmain (String[] args) { int count = 0 ; for( int i = 1 ; i < 5 ;i +=2) for( int j = 1 ; j<= 10 ; j += 3) count ++ ; System .out .print(count ) ; }}A:0B:40C:10D:8答案:D5.下列语句执行后的结果是()。
中国计量学院《面向对象程序设计》课程考试试卷(C)一、填空题(每空1分,共20分)。
1.所有的面向对象程序设计语言,都支持三个共同的本质特征___、___、___。
2.为了解决程序中函数调用的效率问题,引入了___,定义时需在函数前面加上___说明;为了提高程序的运行效率,引入了___,定义时需在函数前面加上___说明。
3.在类的定义当中,缺省的成员是__成员。
4.请填写下列表格(填写派生类中成员的类型)。
5.利用成员函数对二元运算符进行重载时,其左操作数为___,右操作数为___。
6.设置虚基类的目的是___,可通过___标识虚基类。
7.动态联编是在___的支持下实现的,它通过___来调用该函数操作。
二、选择题(每题2分,共20分)1.下列关于类型转换的描述中,()是错误的。
A、在不同类型操作数组成的表达式中,其表达式类型一定是最高类型double型;B、逗号表达式的类型是最后一个表达式的类型;C、赋值表达式的类型是左值的类型;D、由低向高的类型转换是保值映射。
2.()不是构造函数的特征。
A、构造函数的函数名与类名相同;B、构造函数可以重载;C、构造函数可以设置缺省参数;D、构造函数必须指定类型说明3.在C++中,关于下列设置参数默认值的描述中,()是正确的。
A、不允许设置参数的默认值;B、设置参数默认值只能在定义函数时设置;C、设置参数默认值时,应该是先设置右边的,再设置左边的;D、设置参数默认值时,应该全部参数都设置4.关于new运算符的下列描述中,()是错误的。
A、它可以用来动态创建对象和对象数组;B、使用它创建的对象或对象数组可以使用运算符delete删除;C、使用它创建对象时要调用构造函数;D、使用它创建对象数组时必须指定初始值。
5.重载函数在调用时选择的依据中,()是错误的。
A、参数个数;B、参数的类型;C、函数名字;D、函数的类型6.下列描述中,()是抽象类的特性。
A、可以说明虚函数;B、可以进行构造函数重载;C、可以定义友元函数;D、不能说明其对象。
《面向对象程序设计》第06章在线测试
A B
C D 、模板参数在函数参数表中出现的次数不可能是(
A B
C D 、下面关于函数调用的顺序说法正确的是(
A B
C、函数调用时如果没有找到对应的函数模板生成模板函数就查找参数相同的函数
D
函数调用错误
A class Tclass {…};
B {…};
C cla ss Tclass{
D ss{…
A B
C、调用带有类模板参数的函数时对应的实参应该是
该类模板实例化的模板类对象
D
C、模板函数是函数模板的重载函数
D、函数模板是具体的函数
2、关于模板之间的关系说法错误的是()
A、C++中有函数模板和类模板
B、函数模板是模板函数的实例化
C、类模板是模板类的实例化
D、对象是类模板的实例化
3、关于函数模板的说法正确的是()
A、函数模板是一组函数的描述
B、函数模板编译后产生相应的执行代码
C、函数模板实现类型参数化后能以同样的代码对不同类型的数据进行处理
D、与函数模板相匹配的函数调用有编译系统生成模板函数
4、已经有函数模板定义 template < class T> T fun(T x, T y){ return (x>y) ? x: y;} 下面的函数调用正确的是()
A、fun(5,6)
B、fun(5, 2.0)
C、fun(‘a’, ‘c’)
D、fun(‘a’, 4)
5、关于函数模板的说法正确的是()
A、函数模板生成的模板函数是重载的,但是函数模板不能重载
B、C++程序中函数模板可以同名,但是形参个数和类型应有区别
C、函数模板可以和普通函数重载
D、函数模板不能重载
第三题、判断题(每题1分,5道题共5分)
1、函数模板中的每一个类型参数在函数参数表中必须至少使用一次。
正确错误
、定义类模板时可以没有类型参数。
正确错误
、模板类型参数名可以用来指定函数模板的返回类型。
正确错误
、模板参数名在同一模板参数表中只能使用一次,但可在多个函数模板声明或定义之间重复使用。
正确错误
、类模板中的无类型参数一定是常量。
正确错误。