C++面向对象程序设计模拟试题五
面向对象程序设计模拟题(C)
面向对象程序设计模拟题一、简答题:1. 什么是对象?什么是对象的事件和方法?试列举几个常用的事件和方法?答:对象是代码和数据的组合,可以作为一个单位来处理。
对象可以使应用程序的一部分,也可以是整个应用程序。
对象事件是对象可以识别的动作,即窗体、控件和其他对象可以识别的动作。
常用的事件有Click事件、Paint事件、Load事件等。
方法是对象要执行的动作,常见的有Clear、AddIRem、RemoveITem等。
2.VB有几种类型的表达式?请举例说明。
答:VB有5中类型的表达式,它们是算术表达式(例2*Pi*r*r)、字符串表达式(例“欢迎您”)、日期型表达式(例#11/22/98)、关系表达式(”abc”>”abcd”)和布尔表达式(2<=4AND6>3)。
二、填空题:1.单选按钮用于建立一组多选一的选项供用户选择,即在这些选项中,用户一次只能选择其中的一个选项选项,并且必须选择其中一个选项。
同时,当一个单选钮被选中时,其他选项自动关闭。
2.列表框是以列表形式显示一系列项目和信息,用户可通过单击其中某一项来选择的自己所需项目或信息。
在Windows中,使用列表框输出数据是保证数据标准化的重要手段,它是一个重要的输出控件。
在工具栏中它是一个标着带有滚动条的列表图案的按钮。
3.MsgBox 函数用来在对话框中显示消息,等待用户单击按钮,并返回一个整数,告诉程序用户单击了哪一个按钮。
4.在VB中有三种形式的数组,静态数组、动态的数组和控件数组。
静态数组就是指数组元素的个数在程序运行时保持不变,动态数组是指数组中的元素个数在程序运行时可以变化的数组,控件数组是使用VB中某些常用控件创建的数组。
使用静态数组、动态数组前必须要先声明,才能在程序中使用。
5.VB提供了图形控件,如Shape控件和Line控件。
它们提供一定的绘图样式,虽比较简单,但是使用非常方便,不需要编写代码,只要设置相应的属性即可。
c面向对象程序设计期末考试题及答案
c面向对象程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是面向对象程序设计的特点?A. 封装B. 继承C. 多态D. 所有选项都是2. 在Java中,以下哪个关键字用于定义类?A. classB. structC. typeD. classdef3. 以下哪个是Java中不允许的类成员访问修饰符?A. publicB. protectedC. privateD. global4. 以下哪个是Java中实现多态的方式?A. 函数重载B. 函数重写C. 接口D. 抽象类5. 在Java中,哪个关键字用于声明一个方法,该方法没有返回值?A. voidB. returnC. noneD. null6. 以下哪个是Java中创建对象的语法?A. new ClassName();B. create ClassName;C. make ClassName;D. ClassName();7. 在Java中,以下哪个是正确的构造方法声明?A. public ClassName();B. public ClassName new();C. public new ClassName();D. public ClassName create();8. 以下哪个是Java中实现继承的方式?A. 使用extends关键字B. 使用implements关键字C. 使用interface关键字D. 使用new关键字9. 在Java中,以下哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. class10. 以下哪个是Java中实现封装的方式?A. 使用public关键字B. 使用private关键字C. 使用protected关键字D. 使用default关键字答案:1. D2. A3. D4. B5. A6. A7. A8. A9. A10. B二、简答题(每题10分,共20分)1. 简述面向对象程序设计中的“封装”概念及其重要性。
《面向对象程序设计》模拟试题及答案
《面向对象程序设计》模拟试题及答案一、单项选择题(每小题2分,共20分)1. 程序中主函数的名字为()。
A. mainB. MAINC. MainD. 任意标识符2. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。
A. 内联函数B.重载函数C.递归函数D.函数模板3. 将两个字符串连接起来组成一个字符串时,选用()函数。
A. strlen()B. strcap()C. strcat()D. strcmp()4. 用new运算符创建一维整型数组的正确语句是__________。
A. int *p=new a[10];B.int *p=new float[10];C. int *p=new int[10];D.int *p=new int[5]={1,2,3,4,5}5. 假定有定义“int b[10]; int *pb;”,则不正确的赋值语句为()。
A. pb=b;B. pb=&b[0];C. pb=new int;D. pb=b[5];6. 假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为()。
A. x(a)B. x[a]C. x->aD. x.a7. 假定AB为一个类,则执行“AB x(a,5);”语句时将自动调用该类的( )。
A. 带参构造函数B. 无参构造函数C. 拷贝构造函数D. 赋值重载函数8. 对于任一个类,用户所能定义的析构函数的个数至多为( )。
A. 0B. 1C. 2D. 任意个9. 对类中引用成员的初始化是通过构造函数中给出的( )实现的。
A. 函数体B. 参数表C. 初始化表D. 初始化表或函数体10. 如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为()。
A. a.operator==(b)B. b.operator==(a)C. operator==(a,b)D. operator==(b,a)二、填空题(每小题2分,共20分)1. 常数-4.205和6.7E-9分别具有__________和__________位有效数字。
面向对象程序设计样卷
面向对象程序设计样卷一、选择题( 本大题共10小题, 每题2分, 共20分)4.在下列定义的引用中, ( B )是错误的。
A. int i;B. int i;int &j = i; float &j=i;C. float i;D. char d;float &j = i; char &e = d;5. 假定BB为一个类,则执行BB y;语句时将自动调用该类的( B )A. 有参构造函数B. 无参构造函数C. 拷贝构造函数D. 赋值重载函数7.下列对派生类的描述中, ( C )是错误的。
A. 一个派生类能够作为另一个派生类的基类B.派生类至少应有一个基类C. 基类中成员访问权限继承到派生类中都保持不变D.派生类成员除了自己定义的成员外, 还包含了它的基类成员10.控制输出格式的控制符中, ( D )是设置输出宽度的。
A.wsB.endsC. setfill()D.setw()二、填空题( 本大题共10小题, 每题2分, 共20分)1.以/*开始, 以*/结束, 在/*和*/之间的部分即为注释。
2.重载函数在参数类型或参数个数上不同, 但函数名和类名_相同。
3. 假如一个类的名称为MyClass, 使用这个类的一个对象初始化该类的另一个对象时, 能够调用__拷贝______构造函数来完成此功能。
4.当删除对象时, 程序自动调用析构函数。
5. 对于每一个类的非静态成员函数, 都有一个隐含的_this_______指针。
8. 抽象类是指类里有一个函数, 是纯嘘函数。
三、改错题( 下面程序或程序段中有一处错误, 请用注释标明错误所在行的出错原因。
本大题共5小题, 每题2分, 共10分) 1. #include<iostream>using namespace std;int main(){ cout<<"This is a program."<<endl;return 0;}2. #include<iostream>using namespace std;int main(){x=3;int y=x*x;cout<<"y="<<y<<"\n";return 0;}3. #include<iostream>using namespace std;class Aa{public:Aa(int i=0){a=i; cout<<"Constructor "<<a<<endl; } ~Aa(){ cout<<"Destructor "<<a<<endl; }void print( ){cout<<a<<endl;}private:int a;};int main(){Aa al(1),a2(2);al.print();cout<<a2.a<<endl;return 0;}4.class A{int a,b;public:A(int aa,int bb=78){a=aa;b=bb;} };int main(){A x(2), y(4,9);return 0;}5. #include<iostream>using namespace std;class Test{public:static int x;};int Test :: x=20;int main(){cout<<Test::x;return 0;}四、程序分析题( 分析程序, 写出运行结果。
面向对象程序设计-模拟测试
《面向对象程序设计》课程模拟测试一、选择题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++语言中的每条基本语句以作为结束符,每条复合语句以作为结束符。
面向对象程序设计C++模拟试卷
面向对象程序设计C++模拟试卷考试时间:90分钟一、简答题(10分)1.1 (3分)C++中的函数调用有哪几种方式?它们有什么区别?答案:C++中的函数调用有值传递和引用传递两种。
(1分)值传递时,函数体对形参的任何修改都不会影响实参。
(1分)引用传递时,函数体对形参的修改就相当于对实参的修改。
(1分)1.2 (3分)若派生类以private方式从一个基类派生,派生类的对象可以访问基类中的那些成员?派生类的成员函数可以访问基类中的那些成员?答案:若派生类以private方式从一个基类派生,派生类的对象不能访问基类中的任何成员(1分);派生类的成员函数可以访问基类中的public和protected成员(2分)。
1.3(4分)什么是引用?它与指针有什么区别?答案:引用是某个变量或对象的别名。
引用不是变量,它不占据内存空间,它本身没有内存地址。
引用只是被引用的变量或对象的替身。
(2分)引用与指针的区别在于应用不是变量,而指针是变量。
没有引用的引用,却有指针的引用。
(2分)二、填空题(20分,每空2分)2.1 C++程序中的数据可以分为两大类,其中是指在程序执行过程中值不改变的数据;是程序中用于存储信息的单元,并对应于某个内存空间。
答案:常量、变量2.2 有如下定义语句“MyClass *p;”则执行“p = new MyClass;”语句时,将自动调用类MyClass的。
执行“delete p;”语句时,自动调用该类的。
答案:构造函数、析构函数2.3 C++中函数之间传递参数有和两种方式。
答案:值传递,引用传递2.4 给出下列程序的输出结果:。
#include <iostream.h>#define MIN(x, y) (x) < (y) ? (x) : (y)void main() {int i, j, k;i = 10; j = 15;k = 10 * MIN(i, j);cout << k << endl;}答案:152.6 类的访问权限有、和三种。
C++面向对象程序设计试题带答案(五)
C++面向对象程序设计模拟试题五一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中,只有一个是苻合题目要求的。
请将其代码填写在题后的括号内。
错选,多选或未选均无分。
1.下列对类的构造函数和析构函数描述正确的是()。
A)构造函数可以重载,析构函数不能重载B)构造函数不能重载,析构函数可以重载C)构造函数可以重载,析构函数可以重载D)构造函数不能重载,析构函数不能重载2.在函数定义前加上关键字“inline”,表示该函数被定义为()。
A)重载函数 B)内联函数C)成员函数 D)普通函数3.下面有关重载函数的说明中,()是正确的。
A) 重载函数必须具有不同的返回值类型 B) 重载函数形参个数必须不同C) 重载函数必须具有不同的形参列表D) 重载函数名可以不同4.下列有关类与对象的说法中,( ) 是不正确的。
A) 对象是类的一个实列B) 任何一个对象只能属于一个具体的类C) 一个类只能有一个对象D) 类和对象的关糸和数椐类型与变量的关糸类似5.已知: Print( )函数是一个类的常成员函数,它无返回值,下列表示中,正确的是 ( )。
A)void Print( ) const;B) const void Print( ); C) void const Print( );D) void Print(const)6.假定Myclass为一个类,那么下列的函数说明中( )为该类的析构函数。
A) void ~Myclass( ); B) ~Myclass( int n); C) Myclass( ); D) ~Myclass( )7.下面类的定义中有 ( ) 处错误。
class myclass{int i=0;public:void myclass( ){};~myclass(value);} ; A) 1 B)2 C)3 D)48.说明虚函数的关键字是()。
A. inline B.virtual C. define D. static9.cout是某个类的标准对象的引用,该类是()。
面向对象程序设计模拟练习题(含答案)
面向对象程序设计模拟练习题(含答案)一、单选题(共50题,每题1分,共50分)1、下列关于JDK和JRE的说法中,错误的是()A、JDK是java开发核心组件,是用来编译解释java程序的核心组件B、JDK包括Java编译器、Java文档生成工具、Java打包工具等C、JRE是个单独的软件,所以安装JDK后,还需要单独安装JRED、JRE是java运行环境,用来支持java程序的运行正确答案:C2、下列File类的构造方法格式,错误的是()A、File(File parent)B、File(String pathname)C、File(String parent,String child)D、File(URI url)正确答案:A答案解析:A选项,正确的应该是File(File parent, String child)3、下列关于静态变量的描述中,错误的是()A、静态变量指的是被static修饰的变量B、静态变量是随着类的加载而加载C、静态变量可以被所有的实例对象共享D、静态变量同成员变量一样,都需要通过实例对象来调用正确答案:D答案解析:静态变量是通过“类名.变量名”“方式调用的。
4、下列对于Runtime的描述中,正确的是()A、每一个Java应用程序运行时都产生一个Runtime类实例B、Runtime实例可以将应用程序和运行环境相结合C、Runtime类有构造函数D、Runtime实例需要被创建后才可以通过getRuntime()方法获取正确答案:A答案解析:Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。
每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,可以通过getRuntime()方法获得一个Runtime实例。
5、下列关于LinkedList类的方法,不是从List接口中继承而来的是()A、toArray()B、pop()C、remove()D、isEmpty()正确答案:B答案解析:pop()方法表示移除并返回此列表的第一个元素,是LinkedList特有的方法。
面向对象程序设计模拟试题
计算机技术与软件水平考试面向对象程序设计试题(6)一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题 2 分,共40 分)1.C++ 对C 语言作了很多改进,即从面向过程变成为面向对象的主要原因是( )A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D. 引进了类和对象的概念2. 下列符号不能组成标识符的是( )A. 连接符B. 下划线C. 大小写字母D. 数字字符3. 类型修饰符unsigned 不能修饰( )A. charB. intC. long intD. float4. 在int a=3,int *p=&a ;中,*p 的值是( )A. 变量a 的地址值B. 无意义C. 变量p 的地址值D.35. 下列关于指针的操作中,错误的是( )A. 两个同类型的指针可以进行比较运算B. 可以用一个空指针赋给某个指针C. 一个指针可以加上两个整数之差D. 两个同类型的指针可以相加6. 重载函数在调用时选择的依据中,错误的是( )A. 函数的参数B. 参数的类型C. 函数的名字D. 函数的类型7. 一个函数功能不太复杂,但要求被频繁调用,选用( )A. 内联函数B. 重载函数C. 递归函数D. 嵌套函数8. 下列不是描述类的成员函数的是( )A. 构造函数B. 析构函数C. 友元函数D. 拷贝构造函数9. 构造函数不具备的特征的是( )A. 构造函数的函数名与类名相同B. 构造函数可以重载C. 构造函数可以设置默认参数D. 构造函数必须指定类型说明10. 通常,拷贝构造函数的参数是( )A. 某个对象名B. 某个对象的成员名C. 某个对象的引用名D. 某个对象的指针名11. 继承机制的作用是( )A. 信息隐藏B. 数据封装C. 定义新类D. 数据抽象12. 类的析构函数的作用是( )A. 一般成员函数B. 类的初始化C. 对象的初始化D. 删除对象创建的所有对象13. 类的析构函数是在( ) 调用的。
c面向对象程序设计试题和答案
一、填空题(每空1分,共14分)1、观看以下程序:class point{public:void show() {cout<<”point”<<endl;}};void main(){point p1;point *p;p=&p1;_______________//通过对象p1访问show函数______________//通过指针p访问show函数}2、在C++类中可以包含______________、______________和______________三种具有不同访问控制权的成员。
3、定义类时,在类头中将使用关键字_____________来表示类定义的开始。
4、如果一个类中至少有一个纯虚函数,则该类称为________________。
5、C++类的组成包括数据成员和______________,友元_____(是、不是)该类的成员函数。
6、友员函数是用关键字____________修饰的非成员函数。
7、若有:int i;int &j=i;i=10;j=i+1;则i=__________,j=__________。
8、 new的功能是____________________,delete的功能是____________________。
二、选择题(每小题1.5分,共30分)1、下列特性中不是面向对象程序设计语言所特有的是()。
(A)数据封装(B)继承(C)多态性(D)模板2、()是给变量取一个别名,它引入了变量的同意词。
(A)指针(B)引用(C)枚举(D)结构3、类成员的访问权限中,()只能被本类的成员函数和其友元函数访问。
(A)share (B)public (C)private (D)protected4、关于构造函数,下列说法不正确的是()。
(A)构造函数名字和类名相同(B)构造函数在创建对象时自动执行(C)构造函数无任何函数返回类型(D)构造函数有且只有一个5、派生类可以访问其基类的()。
c面向对象程序设计考试试题
c面向对象程序设计考试试题一、选择题(每题2分,共20分)1. 面向对象程序设计中,以下哪一个不是基本特征?A. 封装B. 继承C. 多态D. 过程2. 在Java中,以下哪个关键字用于定义类?A. classB. functionC. structD. type3. 以下哪个是Java中不允许的类名?A. MyClassB. 1MyClassC. MyClass1D. MyClass$4. 在Java中,以下哪个是正确的构造方法声明?A. void MyClass() {}B. int MyClass() {}C. MyClass MyClass() {}D. MyClass() {}5. 以下哪个关键字用于实现类的继承?A. extendsB. implementsC. overrideD. abstract6. 以下哪个关键字用于声明接口?A. classB. interfaceC. abstractD. enum7. 在Java中,以下哪个关键字用于实现多态?A. newB. superC. overrideD. implements8. 在Java中,以下哪个关键字用于定义包?A. packageB. importC. classD. interface9. 以下哪个是Java中的访问控制修饰符?A. publicB. staticC. finalD. void10. 在Java中,以下哪个是正确的方法重载声明?A. void display(int a, int b)B. int display(int a, int b)C. void display(int a, int b) {}D. void display(int a, int b) { return a + b; }二、简答题(每题10分,共30分)1. 简述面向对象程序设计中的封装、继承和多态三个基本特征。
2. 解释Java中的接口和抽象类的区别。
面向对象程序设计考试模拟题(附参考答案)
面向对象程序设计考试模拟题(附参考答案)一、单选题(共10题,每题1分,共10分)1、下面关于javac命令作用的描述中,正确的是()。
A、可以执行java程序B、可以将编写好的Java文件编译成.class文件C、可以把文件压缩D、可以把数据打包正确答案:B答案解析:javac命令将java文件编译成java字节码文件。
2、下列关于构造方法的描述,错误的是()A、在构造方法中不能使用return语句返回一个值,但是可以单独使用return作为方法的结束B、一个类中只能定义一个空参数的构造方法C、构造方法的方法名前面没有返回值类型的声明D、一个类中可以定义多个构造方法正确答案:B3、以下关于成员属性与成员方法的描述中,错误的是()A、成员属性我们也叫成员变量,它就是描述对象的特征。
它可以定义在类中,也可以定义在方法中B、成员方法用于描述对象的行为C、在类中定义的变量,我们称为成员变量D、在类中定义的方法,我们称变成员方法正确答案:A答案解析:类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用于描述对象的行为,可简称为方法。
定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。
4、FileWriter类的write(int c)方法的作用是()A、写出单个字符B、写入多个C、写入一个整形数据D、写入单个字符正确答案:D答案解析:write(int c)方法用于写入单个字符。
5、下列关于集合的描述中,哪一个是错误的()A、集合按照存储结构可以分为单列集合Collection和双列集合Map。
B、List集合的特点是元素有序、元素可重复。
C、Set集合的特点是元素无序并且不可重复。
D、集合存储的对象必须是基本数据类型。
正确答案:D答案解析:集合可以存储多种数据类型的数据,包括引用数据类型。
6、下列关键字中,哪个不能修饰接口中的成员变量?()A、publicB、staticC、finalD、private正确答案:D答案解析:接口中的成员变量其实是一个常量,用public static final 修饰,所以,用private修饰是错误的。
C++面向对象程序设计试卷5
上海应用技术学院2012—2013学年第一学期《面向对象程序设计》期(中)试卷课程代码:B2042211学分: 3 考试时间: 100 分钟课程序号:班级:学号:姓名:我已阅读了有关的考试规定和纪律要求,愿意在考试中遵守《考场规则》,如有违反将愿接受相应的处理。
题号一二三四五六七八九十总分应得分20 20 24 36 100 实得分试卷共8 页,请先查看试卷有无缺页,然后答题。
一、选择题(每题2分,共20分)1、关于封装(Encapsulation),下列说法中不正确的是( D )。
A. 通过封装,对象的全部属性和操作结合在一起,形成一个整体B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C. 通过封装,每个对象都成为相对独立的实体D. 通过封装,对象的属性都是不可见的2. C++源程序文件的缺省扩展名是( C )。
A. objB.exeC. cppD. lib3.类中定义的成员默认为( B )访问属性。
A. publicB. privateC. protectedD. friend4. 多文件结构中一个源程序可以划分为多个源文件,以下说法中正确的是( A )A.一般把类的定义保存为.h文件B.类的实现保存为.h文件C.类的应用保存为.h文件D.所有文件保存为.cpp文件5. 以下哪个关键字对应的属性破坏了程序的封装性( B )A)const B)friend C)public D)protected6、下面对静态数据成员的描述中,正确的是( D )。
A)静态数据成员不能通过类的对象调用B)类的每个对象都有自己的静态数据成员C)类的不同对象有不同的静态数据成员值D) 静态数据成员是类的所有对象共享的数据7. ( A )是析构函数的特征。
A. 一个类中只能定义一个析构函数;B. 析构函数具有返回类型但没有参数表;C. 析构函数的定义只能在类体内;D. 析构函数可以有一个或多个参数。
8.假定AB为一个类,则( B )为该类的复制构造函数的声明。
《面向对象程序设计》模拟试题及答案0
《面向对象程序设计》模拟试题及答案0《面向对象程序设计》模拟试题及答案一、单项选择题(每小题2分,共20分)1. C++程序的基本功能模块为()。
A. 表达式B. 标识符C. 语句D. 函数2. 当处理特定问题的循环次数已知时,通常采用()来解决。
A. for循环B. while循环C. do循环D. switch语句3. 下面函数原型语句正确的是()。
A. int Function(void a);B. void Function (int);C. int Function(a);D. int(double a);4. 假定变量m定义为“int m=7;”,则定义变量p的正确语句为()。
A. int p=&mB. int *p=&mC. int &p=*m;D. int *p=m;5. 假定变量a和pa定义为“double a[10], *pa=a;”,要将12.35赋值给数组a中的下标为5的元素,不正确的语句是()。
A. pa[5]=12.35;B. a[5]=12.35;C. *(pa+5)=12.35;D. *(a[0]+5)=12.35;6. 假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为()。
A. x.aB. x.a()C. x->GetValue()D. x.GetValue()7. 类的构造函数是在定义该类的一个( )时被自动调用执行的。
A. 成员函数B. 数据成员C. 对象D. 友元函数8. 假定AB为一个类,则执行“AB x;”语句时将自动调用该类的( )。
A. 带参构造函数B. 无参构造函数C. 拷贝构造函数D. 赋值重载函数9. 假定一个类AB只含有一个整型数据成员a,当用户不定义任何构造函数时,系统为该类定义的无参构造函数为( )。
A. AB() {a=0;}B. AB(int aa=0): a(aa) {}C. AB(int aa): a(aa) {}D. AB() {}10. 如果表达式a++中的“++”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为()。
c面向对象程序设计考试试题
c面向对象程序设计考试试题一、单项选择题(每题2分,共20分)1. 在面向对象编程中,封装的主要目的是:A. 提高代码的可读性B. 隐藏对象的内部状态和实现细节C. 增加对象的可访问性D. 减少对象的内存占用2. 下列关于继承的描述,错误的是:A. 继承可以提高代码的复用性B. 继承可以实现多态性C. 继承是一种“强耦合”关系D. 继承可以实现代码的扩展和修改3. 在Java中,一个类可以继承几个其他类:A. 只能继承一个类B. 可以继承多个类C. 可以继承任意数量的类D. 不能继承任何类4. 下列哪个关键字在C++中用于定义抽象类:A. classB. abstractC. virtualD. interface5. 在面向对象编程中,多态性的主要优点是:A. 减少程序的复杂性B. 提高程序的运行效率C. 增加程序的内存消耗D. 减少程序的可读性6. 在Java中,下列哪个修饰符可以将一个方法的访问级别限制为仅在定义它的包内可见:A. privateB. default(即无修饰符)C. protectedD. public7. 下列关于接口的描述,正确的是:A. 接口可以包含具体实现的方法B. 接口中的方法默认都是public的C. 一个类可以实现多个接口D. 一个接口可以继承另一个接口8. 在C++中,下列哪个特性可以用来实现运行时多态:A. 函数重载B. 虚函数C. 模板D. 宏定义9. 下列哪个不是面向对象编程的基本特征:A. 封装B. 继承C. 多态D. 过程化10. 在设计类的时候,下列哪个原则提倡应该追求尽可能高的内聚和尽可能低的耦合:A. 单一职责原则B. 开闭原则C. 里氏替换原则D. 高内聚低耦合原则二、简答题(每题10分,共30分)1. 请简述面向对象编程中的“组合”和“聚合”的区别,并给出各自的应用场景。
2. 解释什么是设计模式,并至少列举三种常见的设计模式及其主要特点。
C 面向对象程序设计模拟试
C++面向对象程序设计模拟试卷三一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中,只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下面有关重载函数的描述中,正确的是()。
A)重载函数必须具有不同的返回值类型B)重载函数形参个数必须不同C)重载函数必须具有不同的形参表D)重载函数名可以不同2.假定MyCIass为一个类,那么下列的函数说明中,()为该类的析构函数。
A)void~MyClass()。
B)~MyClass(int n)。
C)MyClass( )。
D)~MyClass( )。
3.()是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。
A)模板B)类C)对象D)函数4.下面关于静态成员函数的途术中错语的是()。
A. 静态成员函数可以有返回值B. this指针可以指向静态成员函数C. 静态成员函数可以具有指针参数D. 静态成员函数可有具有返回值类型5.定义类模板时要使用关键字()。
A. privateB. publicC. deleteD. template6.下列是重载乘法运算符的函数原型声明,其中错误的是()。
A)MyClass operator*(double,double)。
B)MyClassoperator*(double,MyClass)。
C)MyClass operator*(MyClass,double)。
D)MyClass operator*(MyClass,MyClass)。
7.以下()成员函数表示纯虚函数。
A)virtual int fun(int) B)void fun(int)=0C)virtual void fun()=0 D)virtual void fun(int){}8.关于纯虚函数,下列表述中正确的是()。
A)纯虚函数的声明总是以"=0"结束B)含有纯虚函数的类可以定义对象C)含有纯虚函数的类是抽象类D)上面都是错误的9.()解决二义性问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++面向对象程序设计模拟试题五
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中,只有一个是苻合题目要求的。请将其代码填写在题后的括号内。错选,多选或未选均无分。
1.下列对类的构造函数和析构函数描述正确的是( a )。
A)构造函数可以重载,析构函数不能重载
A) 1 B)2 C)3 D)4
8.说明虚函数的关键字是( b )。
A. inline B. virtual C. define D. static
9.cout是某个类的标准对象的引用,该类是( a )。
C) Myclass( ); D) ~Myclass( )
7.下面类的定义中有 ( c ) 处错误。
class myclass
{
int i=0;
public:
void myclass( ){};
~myclass(value);
} ;
B) 任何一个对象只能属于一个具体的类
C) 一个类只能有一个对象
D) 类和对象的关糸和数椐类型与变量的关糸类似
5.已知: Print( )函数是一个类的常成员函数,它无返回值,下列表示中,正确的是 ( a )。
A)void Print( ) const; B) const void Print( );
C) void const Print( ); D) void Print(const)
6.假定Myclass为一个类,那么下列的函数说明中( d )为该类的析( ); B) ~Myclass( int n);
B)构造函数不能重载,析构函数可以重载
C)构造函数可以重载,析构函数可以重载
D)构造函数不能重载,析构函数不能重载
2.在函数定义前加上关键字“inline”,表示该函数被定义为( b )。
A)重载函数 B)内联函数
C)成员函数 D)普通函数
3.下面有关重载函数的说明中, (c )是正确的。
A) 重载函数必须具有不同的返回值类型
B) 重载函数形参个数必须不同
C) 重载函数必须具有不同的形参列表
D) 重载函数名可以不同
4.下列有关类与对象的说法中,( c ) 是不正确的。
A) 对象是类的一个实列