《17秋北理工面向对象程序的设计在线作业.doc》由会员分享,可在线阅读,更多相关《17秋北理工面向对象程序的设计在线作业.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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.
2、派生类对象对它的基类成员中()是可以访问的。A. 公有继承的私有成员B. 公有继承的保护成员C. 公有继承的公有成员D. 私有继承的公有成员 满分:2 分5. 定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为()。A. int*p=newint30B. int*p=newint(30)C. int*p=new30int*p=new30D. *p=newint30 满分:2 分6. 多继承时对象的构造顺序中包含如下4步:所有非虚基类的构造函数按照它们被继承的顺序构造;所有虚基类的构造函数按照它们被继承的顺序构造;所有子对象的构造函数按照它们声明的顺序构造;派生类自己的构造函数体
3、;这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. 在横线处填入语句()后,下列语句序列能够正确执行。int*ptr;deleteptr;A. ptr=new int(5);B. ptr=new int5;C. ptr=new int;D. ptr=malloc(5); 满分:2 分9. 下列程序的输出结果是()。#includeclassPartpublic:Par
4、t(intx=0):val(x)coutval;Part()coutval;private:intval;classWholepublic:Whole(intx,inty,intz=0):p2(x),p1(y),val(z)coutval;Whole()coutval;private:Partp1,pA. 123321B. 213312C. 213D. 123123 满分:2 分10. print()函数是某类中无返回值的常成员函数,下列表示中,正确的是()。A. void print() constB. const void print()C. void const print()D. vo
5、id print(const) 满分:2 分11. 在下面的类定义中,横线处应填入的容是()。classMyClassprivate:staticintcount;count=0;A. intB. static intC. int MyClassD. static int MyClass: 满分:2 分12. 复制构造函数的参数通常为()A. 某个对象名B. 某个对象的成员名C. 某个对象的引用名D. 某个对象的指针名 满分:2 分13. 下列描述中,错误的是()。A. 析构函数中调用虚函数采用静态联编B. 对虚析构函数的调用可以采用动态联编C. 当基类的析构函数是虚函数时,其派生类的析构函数
6、也一定是虚函数D. 构造函数可以声明为虚函数 满分:2 分14. 有如下类声明:classMyClasspublic:MyClass()cout1;执行语句MyClassa,b2,*p2;后,程序的输出结果是()。A. 11B. 111C. 1111D. 11111 满分:2 分15. 关于封装,下列说法中不正确的是()。A. 通过封装,对象的全部属性和操作结合在一起,形成一个整体B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C. 通过封装,每个对象都成为相对独立的实体D. 通过封装,对象的属性都是不可见的 满分:2 分16. 下列关于构造函数和析构函数的描述中,错误的是()。
7、A. 构造函数可以重载B. 析构函数名与类名一样C. 构造函数中可以设置参数的默认值D. 类中只有一个析构函数 满分:2 分17. C+中用于实现运行时多态性的是()。A. 联函数B. 重载函数C. 静态函数D. 虚函数 满分:2 分18. 下列关于继承的描述中,错误的是()。A. 派生类对象不能访问基类的保护成员B. 派生类对基类成员的访问权限随着继承方式而改变C. 派生类成员可以访问基类的私有成员D. 派生类继承了基类的所有成员 满分:2 分19. 下列函数中,不是类的成员函数的是()。A. 构造函数B. 友元函数C. 析构函数D. 复制构造函数 满分:2 分20. 下列语句中,会产生编译
8、错误的是()。A. int x=5; int &ref=x;B. const int size;C. int x=5; int &ref=x; x+;D. const int size=100; 满分:2 分21. 下列描述中,错误的是()。A. 公有继承时基类中的public成员在派生类中仍是public的B. 公有继承时基类中的private成员在派生类中仍是private的C. 私有继承时基类中的public成员在派生类中是private的D. 保护继承时基类中的public成员在派生类中是protected的 满分:2 分22. 下列程序的输出结果是()。#includeclassMy
9、Classpublic:MyClass()coutA;MyClass(charc)coutc;MyClass()coutB;intmain()MyClassp1,*p2;p2=newMyClass(X);deletep2;return0;A. ABXB. ABXBC. AXBD. AXBB 满分:2 分23. 不可以成为类的数据成员的是_A. 自身类的对象B. 另一个类的对象C. 自身类的指针或引用D. 其他基本数据类型 满分:2 分24. 下列描述中,()不是面向对象系统包含的要素。A. 对象B. 类C. 继承D. 函数 满分:2 分25. 执行下列程序后的输出结果是()。#includei
10、ntfun1(intx)return+x;intfun2(int&x)return+x;intmain()inta=0,b=0,c=0;c=fun1(a)+fun2(b);coutabcendl;return0;A. 002B. 012C. 102D. 112 满分:2 分26. 在派生类中重新定义虚函数时,除了()方面,其他方面都必须与基类中相应的虚函数保持一致。A. 参数个数B. 参数类型C. 函数名称D. 函数体 满分:2 分27. 有如下类定义:classMyClasspublic:intgetRef()constreturn&a;intgetValue()constreturna;v
11、oidset(intn)consta=n;friendvoidshow(MyClassobj)constcout。A. 错误B. 正确 满分:2 分6. 某类中的友元类的所有成员函数都可以存取或修改该类中的私有成员。A. 错误B. 正确 满分:2 分7. 构造函数可以被继承A. 错误B. 正确 满分:2 分8. 派生类从基类派生而来,不能再生成新的派生类。A. 错误B. 正确 满分:2 分北理工面向对象程序设计在线作业试卷总分:100 测试时间:-单选题 多选题 判断题 、单选题(共 38 道试题,共 76 分。)1. 下列关于C+函数的描述中,正确的是()。A. 每个函数至少要有一个参数B.
12、 每个函数都必须返回一个值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个整数的数组所使用的定
13、义语句为()。A. int*p=newint30B. int*p=newint(30)C. int*p=new30int*p=new30D. *p=newint30 满分:2 分6. 多继承时对象的构造顺序中包含如下4步:所有非虚基类的构造函数按照它们被继承的顺序构造;所有虚基类的构造函数按照它们被继承的顺序构造;所有子对象的构造函数按照它们声明的顺序构造;派生类自己的构造函数体;这4个步骤的正确顺序是()。A. B. C. D. 满分:2 分7. 若函数原型为voidFun(intx,inty=6,intchar=a),则下列调用错误的是()。A. Fun(5)B. Fun(5, b)C.
14、Fun(5,8)D. Fun(2,4, b) 满分:2 分8. 在横线处填入语句()后,下列语句序列能够正确执行。int*ptr;deleteptr;A. ptr=new int(5);B. ptr=new int5;C. ptr=new int;D. ptr=malloc(5); 满分:2 分9. 下列程序的输出结果是()。#includeclassPartpublic:Part(intx=0):val(x)coutval;Part()coutval;private:intval;classWholepublic:Whole(intx,inty,intz=0):p2(x),p1(y),val
15、(z)coutval;Whole()coutval;private:Partp1,pA. 123321B. 213312C. 213D. 123123 满分:2 分10. print()函数是某类中无返回值的常成员函数,下列表示中,正确的是()。A. void print() constB. const void print()C. void const print()D. void print(const) 满分:2 分11. 在下面的类定义中,横线处应填入的容是()。classMyClassprivate:staticintcount;count=0;A. intB. static int
16、C. int MyClassD. static int MyClass: 满分:2 分12. 复制构造函数的参数通常为()A. 某个对象名B. 某个对象的成员名C. 某个对象的引用名D. 某个对象的指针名 满分:2 分13. 下列描述中,错误的是()。A. 析构函数中调用虚函数采用静态联编B. 对虚析构函数的调用可以采用动态联编C. 当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数D. 构造函数可以声明为虚函数 满分:2 分14. 有如下类声明:classMyClasspublic:MyClass()cout1;执行语句MyClassa,b2,*p2;后,程序的输出结果是()。A.
17、 11B. 111C. 1111D. 11111 满分:2 分15. 关于封装,下列说法中不正确的是()。A. 通过封装,对象的全部属性和操作结合在一起,形成一个整体B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C. 通过封装,每个对象都成为相对独立的实体D. 通过封装,对象的属性都是不可见的 满分:2 分16. 下列关于构造函数和析构函数的描述中,错误的是()。A. 构造函数可以重载B. 析构函数名与类名一样C. 构造函数中可以设置参数的默认值D. 类中只有一个析构函数 满分:2 分17. C+中用于实现运行时多态性的是()。A. 联函数B. 重载函数C. 静态函数D. 虚函
18、数 满分:2 分18. 下列关于继承的描述中,错误的是()。A. 派生类对象不能访问基类的保护成员B. 派生类对基类成员的访问权限随着继承方式而改变C. 派生类成员可以访问基类的私有成员D. 派生类继承了基类的所有成员 满分:2 分19. 下列函数中,不是类的成员函数的是()。A. 构造函数B. 友元函数C. 析构函数D. 复制构造函数 满分:2 分20. 下列语句中,会产生编译错误的是()。A. int x=5; int &ref=x;B. const int size;C. int x=5; int &ref=x; x+;D. const int size=100; 满分:2 分21. 下
19、列描述中,错误的是()。A. 公有继承时基类中的public成员在派生类中仍是public的B. 公有继承时基类中的private成员在派生类中仍是private的C. 私有继承时基类中的public成员在派生类中是private的D. 保护继承时基类中的public成员在派生类中是protected的 满分:2 分22. 下列程序的输出结果是()。#includeclassMyClasspublic:MyClass()coutA;MyClass(charc)coutc;MyClass()coutB;intmain()MyClassp1,*p2;p2=newMyClass(X);deletep
20、2;return0;A. ABXB. ABXBC. AXBD. AXBB 满分:2 分23. 不可以成为类的数据成员的是_A. 自身类的对象B. 另一个类的对象C. 自身类的指针或引用D. 其他基本数据类型 满分:2 分24. 下列描述中,()不是面向对象系统包含的要素。A. 对象B. 类C. 继承D. 函数 满分:2 分25. 执行下列程序后的输出结果是()。#includeintfun1(intx)return+x;intfun2(int&x)return+x;intmain()inta=0,b=0,c=0;c=fun1(a)+fun2(b);coutabcendl;return0;A.
21、002B. 012C. 102D. 112 满分:2 分26. 在派生类中重新定义虚函数时,除了()方面,其他方面都必须与基类中相应的虚函数保持一致。A. 参数个数B. 参数类型C. 函数名称D. 函数体 满分:2 分27. 有如下类定义:classMyClasspublic:intgetRef()constreturn&a;intgetValue()constreturna;voidset(intn)consta=n;friendvoidshow(MyClassobj)constcouta;下列函数中,定义正确的是()。A. getRefB. getValueC. setD. show 满分:2 分28. 下列关于this指针的描述中,正确的是()。A. 任何与类相关的函数都有this指针B. 类的成员函数都有this指针C. 类的友元函数都有this指针D. 类的非静态成员函数都有this指针 满分:2 分29. 设置虚基类的目的是()。A. 简化程序B. 消除二义性C. 提高运行效率D. 减少目标代码 满分:2 分30. 设置虚基类的目的是_。9 / 9