可做奥鹏院校所有作业,毕业论文,咨询请添加QQ:3230981406 微信:aopopenfd777
西交《面向对象程序设计》在线作业
试卷总分:100 得分:100
第1题,下面关于引用的说法错误的是( )。
A、引用是被引用对象的别名
B、对引用的修改就是对被引用对象的修改,反之亦然
C、引用不一定立即初始化
D、引用不能建立数组
正确答案:
第2题,若有语句 int *p = new int[5]; int * pi; 则以下语句中,执行时会造成delete[ ] p 语句的执行出错的是()。
A、(*p)++;
B、p++;
C、pi = p;
D、pi=p+3;
正确答案:
第3题,一个类的析构函数通常被定义为该类的()成员。
A、私有
B、保护
C、公用
D、友元
正确答案:
第4题,函数重载是指( )。
A、两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B、两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C、两个以上的函数名字不同,但形参的个数或类型相同
D、两个以上的函数取相同的函数名,并且函数的返回类型相同
正确答案:
答案来源:(www.),下面关键字中( )是定义模板的关键字。
A、public
B、static
C、class
D、template
正确答案:
第6题,假定AB为一个类,则执行AB x;语句时将自动调用该类的( )
A、有参构造函数
B、无参构造函数
C、拷贝构造函数
D、赋值构造函数
正确答案:
第7题,从系统实现的角度看,多态性分为静态多态性和动态多态性。以下说法错误的是( )。
A、静态多态性是编译时的多态性
B、函数重载实现的多态性是静态多态性
C、通过虚函数实现的多态性是静态多态性
D、动态多态性是运行时的多态性
正确答案:
第8题,构造函数不具备的特征是( )。
A、构造函数的函数名与类名相同
B、构造函数可以重载
C、构造函数可以设置默认参数
D、构造函数必须指定类型说明
正确答案:
第9题,控制输出格式的控制符中,( )是设置输出宽度的。
A、ws
B、ends
C、setfill
D、setw
正确答案:
答案来源:(www.),若需要使类中的一个指针成员指向一块动态存储空间,则通常在( )函数中完成。
A、析构
B、构造
C、任一成员
D、友元
正确答案:
第11题,如果一个类至少有一个纯虚函数,那么就称该类为_____。
A、抽象类
B、虚基类
C、派生类
D、其他都不对
正确答案:
答案来源:(www.),在类中声明转换函数时不能指定( )
A、参数
B、访问权限
C、操作
D、标识符
正确答案:
第13题,虚函数的定义是在基类中进行的,定义时需要冠以关键字( )。
A、static
B、friend
C、virtual
D、public
正确答案:
第14题,在一个类中可以对一个运算符进行( )重载。
A、1种
B、2种以下
C、3种以上
D、多种
正确答案:
答案来源:(www.),设置虚基类的目的是()。
A、简化程序
B、消除二义性
C、提高运行效率
D、减少目标代码
正确答案:
第16题,对于下面的两条语句,正确的描述是( )。MyObject a(2), b(a), c; c = b = a;
A、拷贝构造函数执行了1次;
B、赋值运算符重载函数执行了3次;
C、拷贝构造函数函数执行了3次;
D、赋值运算符重载函数执行了1次;
正确答案:
第17题,下列说法错误的是()。
A、在类中不能对所定义的数据成员进行初始化;
B、类的公有成员函数是类与外界的接口
C、同一个类的两个对象占用相同的内存空间;
D、类实现数据隐藏。
正确答案:
第18题,下列关于运算符重载的描述中,( )是正确的。
A、运算符重载可以改变运算数的个数;
B、运算符重载可以改变优先级;
C、运算符重载可以改变结合性;
D、运算符重载不可以改变语法结构。
正确答案:
第19题,选出关于运算符重载的正确概念是( )
A、所有的运算符都可以被重载
B、C++中可以定义新的运算符
C、重载运算符不能改变原有运算符的参数个数、优先级及结合性
D、凡是能被成员函数重载的运算符也一定能被友元函数重载
正确答案:
答案来源:(www.),下列关于虚基类的说法错误的是()。
A、有引入虚基类的目的是解决二义性的问题;
B、因为虚基类可被多个派生类继承,因此可以有多个副本以适应不同的派生类;
C、若某个类被说明为虚基类,则被重复继承的该类成员在派生类对象中只有一个副本;
D、在派生类对象创建时,要保证虚基类的构造函数只被调用一次。
正确答案:
第21题,下列函数中,( )是对文件进行读操作的。
A、read()
B、write()
C、tellg()
D、seekp()
正确答案:
第22题,下列程序段不会发生二义性的是( )。
A、intfun(doublep){...;}
B、intfun(floatp){...;}
floatfun(floatp){...;}floatfun(unsignedp){...;}
intx;intx;
x=fun(0);x=fun(0);
C、intfun(inti,intj=2){...;}
D、intfun(inti=2,intj=2){...;}
floatfun(inti){...;}intfun(int*p){...;}
coutfun(5);coutfun(5);
正确答案:
第23题,假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为( )。
A、px(a)
B、px[a]
C、px-a
D、px.a
正确答案:
第24题,C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( )。
A、增加了一些新的运算符
B、允许函数重载,并允许设置缺省参数
C、规定函数说明符必须用原型
D、引进了类和对象的概念
正确答案:
答案来源:(www.),关于基类和派生类的关系,( )是错误的。
A、派生类对象属于基类;
B、可以用派生类指针指向派生类对象;
C、可以将基类对象赋值给派生类对象;
D、派生类对象指针可转换为基类指针。
正确答案:
第26题,下列程序段不会发生二义性的是_____。
A、int fun(double p){...;} float fun(float p){...;} int x; x=fun(0);
B、int fun(float p){...;}float fun(unsigned p){...;} int x; x=fun(0);
C、int fun(int i,int j=2){...;} float fun(int i){...;} coutfun(5);
D、int fun(int i=2,int j=2){...;} int fun(int *p){...;} coutfun(5);
正确答案:
第27题,定义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];
正确答案:
第28题,对于语句cinx;中各个组成部分,下列叙述中错误的是( )。
A、;的作用是语句的结束
B、"cin"是一个输出流对象
C、""称作提取运算符
D、"x"是一个变量
正确答案:
第29题,C++语言是从早期的C语言逐步发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是( )。
A、面向过程
B、面向对象
C、安全性
D、复用性
正确答案:
答案来源:(www.),下列对派生类的描述中,( )是错误的。
A、一个派生类可以作为另一个类的基类
B、派生类至少有一个基类
C、派生类的成员除了它自己的成员外,还包含它的基类的成员
D、派生类中继承的基类成员的访问权限到派生类中保持不变
正确答案:
第31题,常量不能作为左值使用。( )
A、错误
B、正确
正确答案:
第32题,在调用构造函数时不必给出实参的构造函数称为默认构造函数。一个类只能有一个默认构造函数。( )
A、错误
B、正确
正确答案:
第33题,C++只能用于面向对象程序设计,不适用于面向过程程序设计。( )
A、错误
B、正确
正确答案:
第34题,打开一个二进制文件时可以同时指定它既是输入文件又是输出文件。( )
A、错误
B、正确
正确答案:
第35题,使用new运算符创建数组时,可以为该数组指定初始值( )。
A、错误
B、正确
正确答案:
第36题,运算符重载以后,其优先级和结合性都不能改变。( )
A、错误
B、正确
正确答案:
第37题,在C++的异常处理方法中,try块和catch块必须作为一个整体出现。( )
A、错误
B、正确
正确答案:
第38题,在类的继承层次结构中,在不同的层次中不能出现名字相同、参数个数和类型都相同而功能不同的函数。( )
A、错误
B、正确
正确答案:
第39题,将运算符"+"函数重载为类的成员函数,交换律不适用。( )
A、错误
B、正确
正确答案:
第40题,使用字符串流时必须打开文件。( )
A、错误
B、正确
正确答案:
第41题,C++语言支持封装性和继承性,不支持多态性。( )。
A、错误
B、正确
正确答案:
第42题,引用可以不初始化。( )
A、错误
B、正确
正确答案:
第43题,字符串"sdfgh"的长度是5。( )
A、错误
B、正确
正确答案:
第44题,程序运行过程出现异常是由于语法错误引起的。( )
A、错误
B、正确
正确答案:
第45题,引用和指针都可作函数参数。( )
A、错误
B、正确
正确答案:
第46题,私有继承的派生类不能访问基类中的私有成员,但公用继承的派生类可以访问基类中的私有成员。( )
A、错误
B、正确
正确答案:
第47题,变量必须先定义后赋值。( )
A、错误
B、正确
正确答案:
第48题,若类Y是类X的私有派生类,类Z是类Y的公用派生类,则类Z不能访问类X 的公用成员和保护成员。( )
A、错误
B、正确
正确答案:
第49题,析构函数必须指定返回类型以及函数参数。( )
A、错误
B、正确
正确答案:
答案来源:(www.),对使用默认参数的构造函数,如果在类外定义构造函数,应该在定义构造函数时指定默认值( )。
A、错误
B、正确
正确答案: