欢迎来到天天文库
浏览记录
ID:16009930
大小:139.00 KB
页数:33页
时间:2018-08-07
《面向对象程序设计c++模拟试卷》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象程序设计C++模拟试卷考试时间:90分钟一、简答题(10分)1.1(3分)C++中的函数调用有哪几种方式?它们有什么区别?答案:C++中的函数调用有值传递和引用传递两种。(1分)值传递时,函数体对形参的任何修改都不会影响实参。(1分)引用传递时,函数体对形参的修改就相当于对实参的修改。(1分)1.2(3分)若派生类以private方式从一个基类派生,派生类的对象可以访问基类中的那些成员?派生类的成员函数可以访问基类中的那些成员?答案:若派生类以private方式从一个基类派生,派生类的对象不能
2、访问基类中的任何成员(1分);派生类的成员函数可以访问基类中的public和protected成员(2分)。1.3(4分)什么是引用?它与指针有什么区别?答案:引用是某个变量或对象的别名。引用不是变量,它不占据内存空间,它本身没有内存地址。引用只是被引用的变量或对象的替身。(2分)引用与指针的区别在于应用不是变量,而指针是变量。没有引用的引用,却有指针的引用。(2分)二、填空题(20分,每空2分)2.1C++程序中的数据可以分为两大类,其中是指在程序执行过程中值不改变的数据;是程序中用于存储信息的单元
3、,并对应于某个内存空间。答案:常量、变量2.2有如下定义语句“MyClass*p;”则执行“p=newMyClass;”语句时,将自动调用类MyClass的。执行“deletep;”语句时,自动调用该类的。答案:构造函数、析构函数2.3C++中函数之间传递参数有和两种方式。答案:值传递,引用传递2.4给出下列程序的输出结果:。#include#defineMIN(x,y)(x)<(y)?(x):(y)voidmain(){inti,j,k;i=10;j=15;k=10*MIN(
4、i,j);cout<5、字符串常量"ME"的字符个数是。A.4B.3C.2D.1答案:B3.4下列对C++main()函数的描述中,正确的是。A.main()函数在同一个C++文件中可以有多个B.main()函数类型必须是void类型C.main()函数一定有返回值D.每个C++程序都必须有一个main()函数答案:D3.5已知:intm=10,下列表示引用的方法中,是正确的。A.int&x=m;B.int&x=10;C.int&x;D.float&x=&m;答案:A3.6下列对C++语言中函数参数默认值的描述中,正确的是。6、A.函数参数的默认值只能设定一个B.一个函数的参数若有多个,则参数默认值的设定可以不连续C.函数参数必须设定默认值D.在设定参数的默认值之后,该参数后面定义的所有参数都必须设定默认值答案:D3.7下列关于运算符重载的描述中,是正确的。A.运算符重载可改变其优先级B.运算符重载不改变其语法结构C.运算符重载可改变其结合性D.运算符重载可改变其操作数的个数答案:B3.8下列关于类的析构函数的描述中,错误的是。A.类中有且仅有一个析构函数B.析构函数可以有形参C.析构函数没有函数类型D.析构函数在对象撤销时7、被自动执行答案:B3.9为了使类中的成员能够被类的对象通过成员运算符访问,则应该把成员的访问权限定义为。A.publicB.protectedC.privateD.packaged答案:A3.10假设MyClass为一个类,那么下列函数说明中,是该类的析构函数。A.void~MyClass();B.~MyClass(intn);C.~MyClass(void);D.~MyClass();答案:D四、读程题(20分,每题5分)4.1给出下列源程序的输出结果。#includevoi8、dmain(){intx=5,y=2;cout<0&&y<0)<<",";cout<<(x!=y9、10、x>=y)<voidsub(intx,inty,int*z){*z=y+x;}voidmain(){inta,b,c;sub(8,4,&a);sub(6,a,&b
5、字符串常量"ME"的字符个数是。A.4B.3C.2D.1答案:B3.4下列对C++main()函数的描述中,正确的是。A.main()函数在同一个C++文件中可以有多个B.main()函数类型必须是void类型C.main()函数一定有返回值D.每个C++程序都必须有一个main()函数答案:D3.5已知:intm=10,下列表示引用的方法中,是正确的。A.int&x=m;B.int&x=10;C.int&x;D.float&x=&m;答案:A3.6下列对C++语言中函数参数默认值的描述中,正确的是。
6、A.函数参数的默认值只能设定一个B.一个函数的参数若有多个,则参数默认值的设定可以不连续C.函数参数必须设定默认值D.在设定参数的默认值之后,该参数后面定义的所有参数都必须设定默认值答案:D3.7下列关于运算符重载的描述中,是正确的。A.运算符重载可改变其优先级B.运算符重载不改变其语法结构C.运算符重载可改变其结合性D.运算符重载可改变其操作数的个数答案:B3.8下列关于类的析构函数的描述中,错误的是。A.类中有且仅有一个析构函数B.析构函数可以有形参C.析构函数没有函数类型D.析构函数在对象撤销时
7、被自动执行答案:B3.9为了使类中的成员能够被类的对象通过成员运算符访问,则应该把成员的访问权限定义为。A.publicB.protectedC.privateD.packaged答案:A3.10假设MyClass为一个类,那么下列函数说明中,是该类的析构函数。A.void~MyClass();B.~MyClass(intn);C.~MyClass(void);D.~MyClass();答案:D四、读程题(20分,每题5分)4.1给出下列源程序的输出结果。#includevoi
8、dmain(){intx=5,y=2;cout<0&&y<0)<<",";cout<<(x!=y
9、
10、x>=y)<voidsub(intx,inty,int*z){*z=y+x;}voidmain(){inta,b,c;sub(8,4,&a);sub(6,a,&b
此文档下载收益归作者所有