西安交通大学16年9月课程考试《面向对象程序设计》作业考核试题答案

西安交通大学16年9月课程考试 《面向对象程序设计》作业考核试题

1:定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为( )。 A:int *p=new int [30]; B:int *p=new int(30); C:int *p=new [30]; D:*p=new int [30]; 正确答案:A

2:下面的类中,( )不是由抽象基类ios直接派生出来的。 A:istream B:ostream C:iostream D:fstreambase 正确答案:C

3:对于一个类的构造函数,其函数名与类名( )。 A:完全相同 B:基本相同 C:不相同 D:无关系 正确答案:A

4:下列的符号常变量定义中,错误的定义是( )。 A:const M=10; B:const int M=20; C:const char ch; D:const bool mark=true; 正确答案:C

5:当一个类对象离开它的作用域时,系统自动调用该类的( )。 A:无参构造函数 B:带参构造函数 C:拷贝构造函数 D:析构函数 正确答案:D

6:假定一个类的构造函数为 “A(int aa, int bb) {a=aa; b=aa*bb;}”,则执行 “A x(4,5);”语句后,x.a和x.b的值分别为( ) A:4和5 B:5和4 C:4和20 D:20和5 正确答案:C

7:设置虚基类的目的是()。 A:简化程序 B:消除二义性 C:提高运行效率 D:减少目标代码 正确答案:B

8:基类和派生类可以分别称为()。 A:“大类”和“小类” B:“父类”和“子类” C:“小类”和“大类” D:“子类”和“父类” 正确答案:B

9:一个类的析构函数通常被定义为该类的( )成员。 A:私有 B:保护 C:公用 D:友元 正确答案:C

10:下列对继承关系的描述中,( )是正确的。 A:在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的; B:在公有继承中,基类中只有公有成员对派生类的对象是可见的; C:在私有继承中,基类中只有公有成员对派生类是可见的; D:在私有继承中,基类中的保护成员对派生类的对象是可见的; 正确答案:D

11:假定AB为一个类,则执行 “AB *px=new AB [n];”语句时将( )。 A:动态分配一个数组 B:动态分配一个对象 C:静态分配一个数组 D:静态分配一个对象 正确答案:A

12:下面是重载双目运算符+的普通函数原形,其中最符合+原来含义的是()。 A:Value operator+(Value, Value); B:Value operator+(Value,int); C:Value &operator+(Value, Value*); D:Value &operator+(Value&, Value&); 正确答案:A 13:如果一个类至少有一个纯虚函数,那么该类称为().。 A:抽象类 B:虚基类 C:派生类 D:以上都不对 正确答案:A

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

15:在一个类中可以对一个运算符进行( )重载。 A:1种 B:2种以下 C:3种以上 D:多种 正确答案:D

16:在创建派生类对象时,构造函数的执行顺序是()。 A:对象成员构造函数、基类构造函数、派生类本身的构造函数 B:派生类本身的构造函数、基类构造函数、对象成员构造函数 C:基类构造函数、派生类本身的构造函数、对象成员构造函数 D:基类构造函数、对象成员构造函数、派生类本身的构造函数 正确答案:D

17:从系统实现的角度看,多态性分为静态多态性和动态多态性。以下说法错误的是( )。 A:静态多态性是编译时的多态性 B:函数重载实现的多态性是静态多态性 C:通过虚函数实现的多态性是静态多态性 D:动态多态性是运行时的多态性 正确答案:C

18:不能参与重载的运算符是()。 A:类 B:函数 C:函数模板 D:运算符 正确答案:A 19:( )是给变量取一个别名,它引入了变量的同义词。 A:指针 B:引用 C:枚举 D:结构 正确答案:B

20:在关键字public后面定义的成员为类的(??)成员。 A:私有 B:公用 C:保护 D:任何 正确答案:B

21:类的构造函数是在定义该类的一个(??)时被自动调用执行的。 A:成员函数 B:数据成员 C:对象 D:友元函数 正确答案:C

22:假定AB为一个类,则执行 “AB r1=r2;”语句时将自动调用该类的( )。 A:无参构造函数 B:带参构造函数 C:赋值重载函数 D:拷贝构造函数 正确答案:D

23:假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数为( )。 A:abc B:*this C:this D:this& 正确答案:C

24:对于一个类的析构函数,其函数名与类名( )。 A:完全相同 B:完全不同 C:只相差一个字符 D:无关系 正确答案:C

25:下面有关重载函数的说法中正确的是( )。 A:重载函数必须具有不同的返回值类型 B:重载函数形参个数必须不同 C:重载函数必须有不同的形参列表 D:重载函数名可以不同 正确答案:C

26:下列特性不是面向对象程序设计语言所特有的是( )。 A:数据封装 B:继承 C:多态性 D:模板 正确答案:D

27:下列说法不正确的是()。 A:在类中,成员的默认访问特性是私有的。 B:类封装了数据和操作。 C:类实质上是一种数据类型。 D:在类的定义中,必须包含private、publi E:protected三种存取方式对应得部分。 正确答案:D

28:假定一个类的构造函数为 “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 正确答案:C

29:C++语言是从早期的C语言逐步发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是( )。 A:面向过程 B:面向对象 C:安全性 D:复用性 正确答案:B

30:下列关于类的访问控制机制说法错误的是()。 A:静态数据成员通常都定义为公有类型。 B:一个对象的私有成员对于同类的另一个对象是可见的 C:友元机制破坏了类的封装性。 D:基类的保护成员对派生类新定义的成员函数是可见的。 正确答案:A 31:析构函数必须指定返回类型以及函数参数。( ) A:错误 B:正确 正确答案:A

32:字符串"sdfgh"的长度是5。( ) A:错误 B:正确 正确答案:B

33:对使用默认参数的构造函数,如果在类外定义构造函数,应该在定义构造函数时指定默认值( )。 A:错误 B:正确 正确答案:A

34:重载单目运算符作为类的成员函数,函数没有参数。( ) A:错误 B:正确 正确答案:B

35:运算符重载以后,其优先级和结合性都不能改变。( ) A:错误 B:正确 正确答案:B

36:私有继承的派生类不能访问基类中的私有成员,但公用继承的派生类可以访问基类中的私有成员。( ) A:错误 B:正确 正确答案:A

37:C++语言支持封装性和继承性,不支持多态性。( )。 A:错误 B:正确 正确答案:A

38:如果定义了一个类的对象数组,该数组有10个元素,则要调用10次构造函数来对每个元素初始化。( )。 A:错误 B:正确 正确答案:B

39:内置函数的定义必须出现在第一次调用内置函数之前。( ) A:错误 B:正确 正确答案:B

40:构造函数可以重载。( ) A:错误 B:正确 正确答案:B

41:析构函数不能被继承。( ) A:错误 B:正确 正确答案:B

42:关系运算符可以用来比较两个字符的大小,也可用来比较两个字符串的大小。( ) A:错误 B:正确 正确答案:B

43:重载函数不能改变运算符运算对象的个数。( ) A:错误 B:正确 正确答案:B

44:使用new运算符创建数组时,可以为该数组指定初始值( )。 A:错误 B:正确 正确答案:A

45:在声明派生类时,派生类把基类的的构造函数也一起继承过来。( ) A:错误 B:正确 正确答案:A

46:C++只能用于面向对象程序设计,不适用于面向过程程序设计。( ) A:错误 B:正确 正确答案:A

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

合集下载

面向对象程序设计平时作业题及参考答案-part2

面向对象程序设计平时作业题及参考答案-part2

//////////////////////////////////////////////////////////////////////////////// ////public class Intern {public static void main(String[] args) {String s1 = "123456"; //String s2 = "123456"; //String s3 = "123" + "456";String a0 = "123";String s4 = a0 + "456"; //String s5 = new String("123456"); //String s6 = s5.intern( );System.out.println("s2" + ((s2==s1) ? "==" : "!=") +"s1");System.out.println("s3" + ((s3==s1) ? "==" : "!=") +"s1");System.out.println("s4" + ((s4==s1) ? "==" : "!=") +"s1");System.out.println("s5" + ((s5==s1) ? "==" : "!=") +"s1");System.out.println("s6" + ((s6==s1) ? "==" : "!=") +"s1");}}s2==s1s3==s1s4!=s1s5!=s1s6==s1//////////////////////////////////////////////////////////////////////////////// ////class Test {public static void main(String[] args) {int sum = 0;outer:for(int i=1; i<10; i++) {inner:for(int j=1; j<3; j++) {sum += j;if (i+j > 6)continue inner;}}System.out.println("sum=" + sum);}}sum=27//////////////////////////////////////////////////////////////////////////////// ////class SuperClass {void method() {System.out.println("SuperClass::method");}void fun() {1System.out.println("SuperClass::fun");this.method();}}class SubClass extends SuperClass {void method() {System.out.println("SubClass::method: Begin");super.fun();System.out.println("SubClass::method: End");}}class Test {public static void main(String[] args) {SubClass a = new SubClass();a.method();}}SubClass::method: BeginSuperClass::fun//////////////////////////////////////////////////////////////////////////////// ////class SuperClass {}class SubClass extends SuperClass {}class Test {public static void main(String[] args) {SuperClass a = new SuperClass();SubClass b = new SubClass();b = (SubClass)a;}}b = (SubClass)a;Exception in thread "main" ng.ClassCastException: SuperClass cannot be cast to SubClass(downcasting)SuperClass a = new SuperClass(); SuperClass a = new SubClass();//////////////////////////////////////////////////////////////////////////////// ////class Parent {//2public static String p_StaticField = " -- "; //public String p_Field = " -- ";//static {System.out.println(p_StaticField);System.out.println(" -- ");}//{System.out.println(p_Field);System.out.println(" -- ");}//public Parent() {System.out.println(" -- ");}}public class SubClass extends Parent {//public static String s_StaticField = " -- "; //public String s_Field = " -- ";//static {System.out.println(s_StaticField);System.out.println(" -- ");}//{System.out.println(s_Field);System.out.println(" -- ");}//public SubClass() {System.out.println(" -- ");}//public static void main(String[] args) {new SubClass();}}------------3--------//////////////////////////////////////////////////////////////////////////////// //Java(1) float f1 = 0.1;(2) long l1 = 12345678, l2 = 8888888888;(3) byte b1 = 1, b2 = 2, b3 = 129;(4) byte b = b1 - b2;(5)int i = 1;i = i * 0.1; //(6)char c1 = 'a', c2 = 125;char c = c1 + c2 - 1; //(7)float f1 = 0.1f, f2 = 123;float f3 = f1+f2*0.1; //(1) float f1 = 0.1;0.1 doublefloat f1 = (float)0.1; float f1=0.1f;(2) long l1 = 12345678, l2 = 8888888888;8888888888 intlong l1 = 12345678, l2 = 8888888888L;(3) byte b1 = 1, b2 = 2, b3 = 129;129byte b1 = 1, b2 = 2, b3 = 127;(4) byte b = b1 - b2;b1 b2 int int bytebyte b = (byte)(b1-b2);(5)int i = 1;i = i*0.1;0.1 double double double inti = (int)(i*0.1);(6)char c1='a', c2=125;char c = c1 + c2 - 1;c1 c2 int int charchar c = (char)(c1 + c2 - 1);(7)4float f1 = 0.1f, f2 = 123;float f3 = f1+f2*0.1;0.1 double double double float f4float f4 = (float)(f1+f2*0.1);//////////////////////////////////////////////////////////////////////////////// Java (1) (2) (3)String str1 = new String("wangke");String str2 = new String("wangke");System.out.println(str1 == str2); // (1)System.out.println(str1.equals(str2)); // (2)System.out.println(str1.hashCode()==str2.hashCode()); // (3)(1) false == str1 str2(2) true String equals() Object equals() String(3) true String hashCode() Object hashCode() String hashCode//////////////////////////////////////////////////////////////////////////////// ////public class MyException {public static void throwException() {System.out.println(" ArithmeticException ");throw new ArithmeticException();}public static void catchArrayException() {try {throwException();System.out.println(" try ");}catch(ArrayIndexOutOfBoundsException e) {System.err.println(" catchArrayException ");} finally {System.out.println(" catchArrayException finally ");}System.out.println(" catchArrayException ");}public static void main(String[] args) {try {catchArrayException();} catch(ArithmeticException e) {System.err.println(" main ");5} finally {System.out.println(" main finally ");}System.out.println(" ");}}ArithmeticExceptioncatchArrayException finallymainmain finally//////////////////////////////////////////////////////////////////////////////// ////////////Java AWT TextField( Label Button. Button TextFieldimport java.awt.*;import java.awt.event.*;public class TFMath {public static void main(String[] args) {new TFFrame().launchFrame();}}class TFFrame extends Frame {TextField num1, num2, num3;public void launchFrame() {num1 = new TextField(10);num2 = new TextField(10);num3 = new TextField(15);Label lblPlus = new Label("+");Button btnEqual = new Button("=");btnEqual.addActionListener(new MyMonitor(this));setLayout(new FlowLayout());add(num1);add(lblPlus);add(num2);add(btnEqual);add(num3);pack();setVisible(true);}}class MyMonitor implements ActionListener {TFFrame tf = null;public MyMonitor(TFFrame tf) {this.tf = tf;}6public void actionPerformed(ActionEvent e) {int n1 = Integer.parseInt(tf.num1.getText());int n2 = Integer.parseInt(tf.num2.getText());tf.num3.setText("" + (n1+n2));}}//////////////////////////////////////////////////////////////////////////////// ////////////Java C:\Windowsimport java.io.*;public class FileList {public static void main(String[] args) {File f = new File("C:" + File.separator + "Windows");listFiles(f,0);}static void listFiles(File f, int level) {String preStr = "";for(int i=0; i<level; i++) {preStr += " ";}System.out.println(preStr + f.getName()); //File[] files = f.listFiles(); //for (int i=0; i<files.length; i++) {if (files[i].isFile()) {System.out.println(preStr + " " + files[i].getName());}if (files[i].isDirectory()) {listFiles(files[i], level + 1);}}}}7。

面向对象程序设计课后答案完整版

面向对象程序设计课后答案完整版

第二章2-4#include <iostream>using namespace std;Add(int a,int b);int main(){int x,y,sum;cout<<"please input x and y:";cin>>x>>y;sum = add(x,y);cout <<x<<"+"<<y<<"="<<sum<<endl;}Add(int a,int b){return a+b;}2-5(1)this is a C++ program.(2)x=50.6 y=10 z=Ax=216.34 y=10 z=Ax=216.34 y=2 z=Ax=216.34 y=2 z=E(3)x y z500 1000 0500 1500 1500500 200 15002-6#include <iostream>using namespace std;int main(){int *p,*init;int countp=0;int countn=0;p = new int[20];init = p;for(int i=0;i<20;i++){cin>>*p;p++;}p = p-20;for( i=0;i<20;i++){if(*p>0) countp++;if(*p<0) countn++;cout<<*p<<" ";p++;}cout<<"正数有:"<<countp<<endl; cout<<"负数有:"<<countn<<endl;p = init;delete[] p;return 0;}2-7不做要求#include <iostream>//#include <string>using namespace std;void checkagescore(string name,int age) {if (name == "exit") throw name;if(age<0||age>50)throw age;int main(){string name;int age;for(int i=0 ;i<5 ;i++ ){cin.ignore ();getline(cin,name );cin>>age ;try{checkagescore(name,age);}catch( string){cout<<"exception :name is exit"<<endl;continue;}catch(int){cout<<"exception :age is not proper"<<endl;continue;}cout<<"name:"<<name<<" age :"<<age<<endl;}return 0;}第三章3-1(1)A (2)C (3)B (4)C (5)C(6)B (7)B (8)C (9)C3-7(1)main()函数中p1.age = 30;语句是错误的。

西安交通大学16年9月课程考试有机化学作业考核试题 (1)

西安交通大学16年9月课程考试有机化学作业考核试题 (1)

一、单选题(共30 道试题,共60 分。

)V1. 下列烯烃中最不稳定的是().A. 2,3-二甲基-2-丁烯B. 2-甲基-2-戊烯C. 反-2-丁烯D. 顺-2-丁烯满分:2 分2. 下列醇沸点最高的是()。

A. 正丁醇B. 异丁醇C. 仲丁醇D. 叔丁醇满分:2 分3. 碳数相同的化合物乙醇(I),乙硫醇(II),二甲醚(III)的沸点次序是:()A. II>I>IIIB. I>II>IIIC. I>III>IID. II>III>I满分:2 分4. 下列糖类是还原糖的是()。

A. 所有的单糖B. 蔗糖C. 淀粉D. 纤维素满分:2 分5. 下列化合物能形成分子内氢键的是?( )A. 对硝基苯酚B. 邻硝基苯酚C. 邻甲苯酚D. 苯酚满分:2 分6. 下列化合物进行硝化反应时最容易的是:( )A. 苯B. 硝基苯C. 甲苯D. 氯苯满分:2 分7. 尼龙-6是下列哪种物质的聚合物? ( )A. 己二酸与己二胺B. 己内酰胺C. 对苯二甲酸与乙二醇D. 苯烯满分:2 分8. 环己烯加氢变为环己烷是哪一种反应? ( )A. 吸热反应B. 放热反应C. 热效应很小D. 不可能发生满分:2 分9. 2002年诺贝尔化学奖授予将“化学生物学提升为现代最大科学”的三位化学家,利用三人的研究成果,可以迅速地辨识蛋白质,制造出溶液中蛋白质分子的三维空间影像.下列关于蛋白质的说法不正确的是()A. 重金属盐能使蛋白质变性,所以误食重金属盐时,可以喝牛奶等解毒B. 阿胶的主要成分是蛋白质,蚕丝的主要成份是纤维素C. 蛋白质溶液中加入饱和硫酸铵溶液,蛋白质析出,虽再加水,也不溶解D. 浓硝酸溅到皮肤上,使皮肤呈现黄色是由于浓硝酸与皮肤发生了颜色反应满分:2 分10. 下列醇与金属Na作用,反应活性最大的为( )。

A. 甲醇B. 正丙醇C. 异丙醇D. 叔丁醇满分:2 分11. 下列化合物能发生碘仿反应的是()。

西安交通大学17年9月课程考试《Java语言程序设计》作业考核试题

西安交通大学17年9月课程考试《Java语言程序设计》作业考核试题

西安交通大学17年9月课程考试《Java语言程序设计》作业考核试题
一、单选题
1、C
2、A
3、C
4、C
5、B
一、单选题(共 25 道试题,共 50 分。

)V 1. 设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,则表达式x+y*a/x+b/y+c的值为()类型。

A. int
B. long
C. double
D. char
正确答案:C
2. 在Java中用什么关键字修饰的方法可以直接通过类名来调用?()
A. static
B. final
C. private
D. void
正确答案:A
3. Character流与Byte流的区别是()
A. 每次读入的字节数不同
B. 前者带有缓冲,后者没有
C. 前者是字符读写,后者是字节读写
D. 二者没有区别,可以互换使用
正确答案:C
4. 若在某一个类定义中定义有如下的方法:abstract void performDial();该方法属于()。

A. 接口方法
B. 最终方法
C. 抽象方法
D. 空方法
正确答案:C
5. 在调用方法时,若要使方法改变实参的值,可以()
A. 用基本数据类型作为参数
B. 用对象作为参数
C. A和B都对
D. A和B都不对
正确答案:B
6. 下列哪个选项不是Java语言的特点?()
A. 面向对象
B. 高安全性
C. 平台无关
D. 面向过程
正确答案:D
7. Java类可以作为()
A. 类型定义机制。

c++_面向对象程序设计考试试题1

c++_面向对象程序设计考试试题1

考试试题纸(B 卷)《面向对象程序设计》课程计算机院(系)网络工程、计算机科学与技术班级考试时量 100分钟学生人数命题教师系主任交题时间:年月日考试时间:年月日1.一、简答题(每小题5分,共20分)1.什么是类?什么是对象?对象与类的关系是什么?2.构造函数和析构函数的主要作用是什么?他们各有什么特性?3.派生类构造函数和析构函数的执行顺序是怎样的?4.什么是虚函数?虚函数与函数重载有哪些相同点和不同点?2.二、选择题(每小题2分,共20分)1.假设已经有定义char *const pName=”Student”;下面的语句正确的是。

A.pName[3]=’t’; B. pName=”score”;C. pName=new char[5];D. pName=new char(‘p’);2.在下面有关对构造函数的描述中,正确的是。

A. 构造函数可以带有返回值B. 构造函数的名字与类名完全相同C. 构造函数必须带有参数4.构造函数必须定义,不能缺省3.在下面有关析构函数特征的描述中,错误的是。

A. 一个类中只能定义一个析构函数B. 析构函数名与类名完全相同C. 析构函数不能指定返回类型D. 析构函数不能带有参数4.假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ;”语句时,自动调用该类构造函数的次数为。

A. 3B. 4C. 6D. 95. 假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为。

A. AB operator+(AB &a,AB &b)B. AB operator+(AB &a)C. operator+(AB a)D. AB & operator+( )6. 假设定义了函数模版:template<class T>T max(T x, T y){ return (x>y)?x:y; }并定义了:int i;char c;那么下列错误的调用该模版的是。

(0837)《面向对象程序设计》网上作业题及答案

(0837)《面向对象程序设计》网上作业题及答案

(0837)《面向对象程序设计》网上作业题及答案1:[单选题]执行下列语句后,变量x的值是:()int x = 7, y = 10;switch (x / y) {case 0:x++;case 7:x *= y;case 14:x += y;break;default:x %= y;}A:8B:70C:80D:90参考答案:D2:[单选题]以下由for语句构成的循环的执行次数是:()for (int i=0; i<=0; i=i) ;A:有语法错,不能执行B:一次也不执行C:执行1次D:无限次参考答案:D3:[单选题]设有定义int i=7;char ch='b'; 下面赋值语句中不正确是:()A:i = ch;B:ch = i;C:ch = (char)i;D:i = (int)ch;参考答案:B4:[单选题]设有定义int i=80, j=7; double d=80.7;下列语句中正确的赋值语句是:()A:i = d;B:i = (int)d + j;C:j = (int)i - d;D:i + j = (int)d;参考答案:B5:[单选题]以下关于Java语言的叙述错误的是:()A:Java是最纯粹的面向对象语言,对面向对象方法学的支持也最全面B:Java是解释执行的语言,由Java解释器负责将Java源文件解释为机器码执行C:Java是平台无关的,即Java程序不用修改就可以在不同类型的计算机平台上运行D:Java提供了大量功能丰富的可重用类库,有效减少了编程的工作量参考答案:B6:[单选题]下列选项中,用于声明实现一个接口关键字是:()A:interfaceB:implementsC:importD:abstract参考答案:B7:[单选题]Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序“一次编写,到处运行”的特点:()A:多线程B:与平台无关C:面向对象D:分布式参考答案:B8:[单选题]下列不属于Java语言关键字的是:()A:repeatB:tryC:breakD:new参考答案:A9:[单选题]下列字符序列中可以作为Java语言标识符的是:()A:trueB:123_xyzC:x.yD:_x123参考答案:D10:[单选题]下列字符序列中不能作为Java语言标识符的是:()A:abc_123B:圆周率PIC:falseD:_123abc参考答案:C1:[单选题]下列语句序列给出了k,myArr和myMethod()的声明。

西安交通大学17年3月课程考试《面向对象程序设计(高起专)》作业考核试题

正确答案:
16.下面是五条顺序出现的声明语句,非法的初始化语句是()。
A. int i = –1;
B. const int ic=i;
C. const int *pc=&ic;
D. int *const cpi=&ic; E、const int *const cpic= &ic;
正确答案:
17.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()。
A. 0
B. 1
C. 9
D. 10
正确答案:
西安交通大学17年3月课程考试《面向对象程序设计(高起专)》作业考核试题
二、判断题(共20道试题,共40分。)
1.不能通过派生类对象引用从私有基类继承过来的任何成员。()
A.错误
B.正确
正确答案:
2.对使用默认参数的构造函数,如果在类外定义构造函数,应该在定义构造函数时指定默认值()。
A. 4和5
B. 5和4
C. 4和20
D. 20和5
正确答案:
15.关于运行时多态的下列描述中,()是错误的。
A.运行时多态是以虚函数为基础的;
B.运行时多态是在运行时确定所调用的函数代码的;
C.用基类指针或引用所标识的派生类对象来操作虚函数才能实现运行时多态;
D.运行时多态是在编译时确定操作函数的。
A.运算符重载不可以改变操作数的个数
B.运算符重载不可以改变运算符的功能
C.运算符重载不可以改变结合方向
D.运算符重载不可以改变运算优先级
正确答案:
8.面向对象方法的多态性是指()。
A.一个类可以派生出多个特殊类

面向对象程序设计-学习指南doc - 西安交通大学现代远程教资料

面向对象程序设计-学习指南一、选择题1.继承机制的作用是( )A.信息隐藏B.数据封装C.定义新类D.数据抽象2.类的析构函数的作用是( )A.一般成员函数B.类的初始化C.对象的初始化D.删除对象创建的所有对象3.类的析构函数是在( )调用的。

A.类创建时B.创建对象时C.删除对象时D.不自动调用4.在( )情况下适宜采用inline定义内联函数。

A.函数体含有循环语句B.函数体含有递归语句C.函数代码少、频繁调用D.函数代码多、不常调用5.如果类A被说明成类B的友元,则( )A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元6.在类中声明转换函数时不能指定( )A.参数B.访问权限C.操作D.标识符7.在公有继承的情况下,基类成员在派生类中的访问权限( )A.受限制B.保持不变C.受保护D.不受保护8.C++类体系中,不能被派生类继承的有( )A.转换函数B.构造函数C.虚函数D.静态成员函数9.假定AB为一个类,则执行AB x;语句时将自动调用该类的( )A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值构造函数10.C++语言建立类族是通过( )A.类的嵌套B.类的继承C.虚函数D.抽象类11.C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( )A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念12.下列符号不能组成标识符的是( )A.连接符B.下划线C.大小写字母D.数字字符13.类型修饰符unsigned不能修饰( )A. charB. intC. long intD. float14.在int a=3,int *p=&a;中,*p的值是( )A.变量a的地址值B.无意义C.变量p的地址值D.315.下列关于指针的操作中,错误的是( )A.两个同类型的指针可以进行比较运算B.可以用一个空指针赋给某个指针C.一个指针可以加上两个整数之差D.两个同类型的指针可以相加16.重载函数在调用时选择的依据中,错误的是( )A.函数的参数B.参数的类型C.函数的名字D.函数的类型17.一个函数功能不太复杂,但要求被频繁调用,选用( )A.内联函数B.重载函数C.递归函数D.嵌套函数18.下列不是描述类的成员函数的是( )A.构造函数B.析构函数C.友元函数D.拷贝构造函数19.构造函数不具备的特征的是( )A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定类型说明20.通常,拷贝构造函数的参数是( )A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名21、下列关于类型转换的描述中,()是错误的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档