地大18春《面向对象程序设计》在线作业12资料
地大《面向对象程序设计》在线作业一核对题目下载答案,qq761296021
一、单选题:
1.(单选题)有如下类声明:classBase{protected;intamount;public;Base(intn=0):amount(n){}intgetAmount()const{retumamount;}};classDerived:publicBase{protected;intvalue;public;Derived(intm,intn):value(m).Base(n){}IntgetData()const{returnvalue+amount;}};已知 (满分:)
Ax.value+x.getAmount()
Bx.getData()-x.gctAmount()
Cx.getData()-x.amount
Dx.value+x.amount
正确答案:——B——
2.(单选题)下面关于new?和delete操作符的说法,哪个是不正确的() (满分:)
A使用new操作符,可以动态分配全局堆中的内存资源
B若p的类型已由A*强制转换为void?*,那么执行语句delete?p;时,类A的析构函数不会被调用
C实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中
D执行语句A?*?p=new?A;时,类A的构造函数只会被调用1次
正确答案:——D——
3.(单选题)设int*p2=&x,*p1=a;p2=*b;则a和b的类型分别是() (满分:)
Aint*和int
Bint*和int**
Cint和int*
Dint*和int*
正确答案:——B——
4.(单选题)类A中有唯一的非静态成员函数intf(A&one)和私有的数据成员intx;,那么在此成员函数的函数体中可以有语句() (满分:)
Areturnone.f(this);
Bx=f(this);
Cthis->f(x.one);
Dint*constpX=&one.x;
正确答案:————
5.(单选题)已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是() (满分:)
AValueoperator+(Valuev,inti);
BValueoperator+(Valuev=value,inti);
CValueoperator+(Valuevinti=0);
DValueoperator+(Valuev=value,inti=0);
正确答案:————
6.(单选题)当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 (满分:)
Aios::in
Bios::out
Cios::int|ios::out
D没有
正确答案:————
7.(单选题)执行语句inti=10;cout<<i+++i++;输出结果是() (满分:)
A20
B21
C22D
D不确定
正确答案:————
8.(单选题)由C++目标文件连接而成的可执行文件的缺省扩展名为 (满分:)
Acpp
Bexe
Cobj
DLik
正确答案:————
9.(单选题)假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为() (满分:)
AABoperator+(AB&a,AB&b)
BABoperator+(AB&a) 微信761296021
Coperator+(ABa)
DAB&operator+()
正确答案:————
10.(单选题)以下结构类型可用来构造链表的是() (满分:)
Astructaa{inta;int*b;
Bstructbb{inta;bb*b;
Cstructcc{int*a;ccb;
Dstructdd{int*a;aab;
正确答案:————
11.(单选题)类B是通过public继承方式从类A派生而来的,且类A和类B都有完整的实现代码,那么下列说法正确的是() (满分:)
A类B中具有pubic可访问性的成员函数个数一定不少于类A中public成员函数的个数
B一个类B的实例对象占用的内存空间一定不少于一个类A的实例对象占用的内存空间
C只要类B中的构造函数都是public的,在main函数中就可以创建类B的实例对象
D类A和类B中的同名虚函数的返回值类型必须完全一致
正确答案:————
12.(单选题)类TM和类TN是两个独立的类,那么类TM中哪种形式的数据成员一定是不允许的() (满分:)
ATM*a;
BTN&a;
CTMa;
DTNa;
正确答案:————
13.(单选题)有如下类和对象的定义:\nclassConstants{\npublic;\nstaticdoublegetPI(){return3.1416;}\n};\nConstantsconstants;\n下列各组语句中,能输出3.1416的是() (满分:)
Acout<<constants->getPI();和cout<<Constants::gerPI();
Bcout<<constants.getPI();和cout<<Constants.getPI();
Ccout<<constants->getPI();和cout<<Constants->getPI();
Dcout<<constants.getPI();和cout<<Constants::getPI();
正确答案:————
14.(单选题)对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是 (满分:)
A公有类型
B私有类型
C保护类型
D友元类型
正确答案:————
15.(单选题)在下列关键字中,不能用来表示继承方式的是() (满分:)
Aprivate
Bstatic
Cpublic
Dprotected
正确答案:————
二、多选题:
16.(多选题)模板定义中的类型参数可以用作() (满分:)
A局部变量类型
B函数参数类型
C函数返回值类型
D数据成员类型
正确答案:————
17.(多选题)关于公共静态数据成员,下面说法正确的是() (满分:)
A在main函数之前创建
B跟某个具体对象无关
C可以用类名和成员名直接访问
D需要在类体外初始化
正确答案:————
18.(多选题)以下哪些是面向对象程序设计的特征() (满分:)
A抽象
B封装
C继承
D多态
正确答案:————
19.(多选题)关于类中重载赋值运算符的正确说法是() (满分:)
A由编译器提供的缺省赋值函数具有public访问性并且执行按位赋值
B在重载派生类的赋值操作时,不但要实现派生类中数据成员的赋值,还要负责基类中数据成员的赋值
C只有在类中含有指针数据成员或引用数据成员时,才需要重载类的赋值操作
D通过修改类A的声明或定义,可以禁止用户在类A对象间进行任何赋值操作
正确答案:————
20.(多选题)赋值运算符重载函数与拷贝构造函数的区别是什么() (满分:)
A都是拷贝一个类的对象给另一个同类型的类的对象
B拷贝构造函数是用已存在的对象的各成员的当前值来创建一个相同的新对象
C赋值运算符重载函数要把一个已存在对象的各成员的当前值赋给另一个已存在的同类对象
正确答案:————
三、判断题:
21.(判断题)名字空间是可以多层嵌套的;对于类A中的函数成员和数据成员,它们都属于类名A代表的一层名字空间。 (满分:)
A错误
B正确
正确答案:————
22.(判断题)构造函数和析构函数都可以重载 (满分:)
A错误
B正确
正确答案:————
23.(判断题)函数体内声明的静态变量,至多只会被初始化一次 (满分:)
A错误
B正确
正确答案:————
24.(判断题)虽然抽象类的析构函数可以是纯虚函数,但要实例化其派生类对象,仍必须提供抽象基类中析构函数的函数体 (满分:)
A错误
B正确
正确答案:————
25.(判断题)抽象类不可以继承,只能派生 (满分:)
A错误
B正确
正确答案:————
地大《面向对象程序设计》在线作业二
一、单选题:
1.(单选题)决定C++语言中函数的返回值类型的是 (满分:)
Areturn语句中的表达式类型
B调用该函数时系统随机产生的类型
C调用该函数时的主调用函数类型
D在定义该函数时所指定的数据类型
正确答案:——D——
2.(单选题)下面是一个模板声明的开始部分:templute<typenameT>double__由此可知() (满分:)
A这可能是一个函数模板的声明
B这可能是一个类模板的声明
C这既可能是一个函数模板的声明,也可能是一个类模板的声明
D这肯定是一个错误的模板声明
正确答案:——A——
3.(单选题)已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是() (满分:)
AValueoperator+(Valuev,inti);
BValueoperator+(Valuev=value,inti);
CValueoperator+(Valuevinti=0);
DValueoperator+(Valuev=value,inti=0);
正确答案:——B——
4.(单选题)设voidf1(int*m,long&n);inta;longb;则以下调用合法的是() (满分:)
Af1(a,b);
Bf1(&a,b);
Cf1(a,&b);
Df1(&a,&b);
正确答案:————
5.(单选题)在下列关键字中,不能用来表示继承方式的是() (满分:)
Aprivate
Bstatic
Cpublic
Dprotected
正确答案:————
6.(单选题)类B是通过public继承方式从类A派生而来的,且类A和类B都有完整的实现代码,那么下列说法正确的是() (满分:)
A类B中具有pubic可访问性的成员函数个数一定不少于类A中public成员函数的个数
B一个类B的实例对象占用的内存空间一定不少于一个类A的实例对象占用的内存空间
C只要类B中的构造函数都是public的,在main函数中就可以创建类B的实例对象
D类A和类B中的同名虚函数的返回值类型必须完全一致
正确答案:————
7.(单选题)对于全局函数intf(void),与其完全等价的函数原型为() (满分:)
Aint&f();
Bintf(void)const;
Cconstintf();
DA、B、C都不是
正确答案:————
8.(单选题)当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 (满分:)
Aios::in
Bios::out
Cios::int|ios::out
D没有
正确答案:————
9.(单选题)下列程序的执行结果为()。\n#include\nvoidmain()\n{\ninta=3,b=0;\nint*p=&a:\nb=+a++;\ncout<<*P<<”,”<<endl\n} (满分:)
A3,4
B4,3
C3,4
D4,4
正确答案:————
10.(单选题)使用流控制符需要头文件() (满分:)
Aendl
Bhex
Csetw
Dleft
正确答案:————
11.(单选题)下列有关函数重载的叙述中,错误的是() (满分:)
A函数重载就是用相同的函数名定义多个函数
B重载函数的参数列表必须不同
C重载函数的返回值类型必须不同
D重载函数的参数可以带有默认值
正确答案:————
12.(单选题)下列有关运算符重载的叙述中,正确的是() (满分:)
A运算符重载是多态性的一种表现
BC++中可以通过运算符重载创造新的运算符
CC++中所有运算符都可以作为非成员函数重载
D重载运算符时可以改变基结合性
正确答案:————
13.(单选题)在C++语言中,数据封装要解决的问题是() (满分:)
A数据的规范化
B便于数据转换
C避免数据丢失
D防止不同模块之间数据的非法访问
正确答案:————
14.(单选题)有如下程序:\n #include\n classBASE{\n charc;\n public:\n BASE(charn):c(n){}\n virtual~BASE(){cout<<C;}\n };\n classDERIVED:publicBASE{\n charc;\n public:\n DERIVED(charn):BASE(n+1),c(n){}\n ~DERIVED(){cout (满分:)
AXY
BYX
CX
DY
正确答案:————
15.(单选题)下面描述中,表达错误的是() (满分:)
A公有继承时基类中的public成员在派生类中仍是public的
B公有继承是基类中的private成员在派生类中仍是private的
C公有继承时基类中的protected成员在派生类中仍是protected的
D私有继承时基类中的public成员在派生类中是private的
正确答案:————
二、多选题:
16.(多选题)关于构造函数说法正确的是() (满分:)
A函数名只能是类名
B返回类型可以是任意的
C参数个数和类型可以是任意的
D在对象创建时自动调用
正确答案:————
17.(多选题)以下哪些是面向对象程序设计的特征() (满分:)
A抽象
B封装
C继承
D多态
正确答案:————
18.(多选题)模板定义中的类型参数可以用作() (满分:)
A局部变量类型
B函数参数类型
C函数返回值类型
D数据成员类型
正确答案:————
19.(多选题)关于类中重载赋值运算符的正确说法是() (满分:)
A由编译器提供的缺省赋值函数具有public访问性并且执行按位赋值
B在重载派生类的赋值操作时,不但要实现派生类中数据成员的赋值,还要负责基类中数据成员的赋值
C只有在类中含有指针数据成员或引用数据成员时,才需要重载类的赋值操作
D通过修改类A的声明或定义,可以禁止用户在类A对象间进行任何赋值操作
正确答案:————
20.(多选题)类A中有唯一的一个公有成员函数f,对于类A的一个对象a,执行语句a.f(100);成功,那么f的函数原型可以为 (满分:)
AA&f(int,int=50);
Bvoidf(int&)const;
CconstA*f(constint);
DAf(constint&)const;
正确答案:————
三、判断题:
21.(判断题)默认的继承方式是private (满分:)
A错误
B正确
正确答案:————
22.(判断题)若在类Base和派生类Derived中,分别声明一个同名的整型成员变量intx;,那么通过Derived类的实例对象,不可能输出基类Base中的变量x的值 (满分:)
A错误
B正确
正确答案:————
23.(判断题)设int*p;则可以定义表达式--++p (满分:)
A错误
B正确
正确答案:————
24.(判断题)构造函数和析构函数都可以重载 (满分:)
A错误
B正确
正确答案:————
25.(判断题)面向对象程序设计中,消息应该包含如何做的信息 (满分:)
A错误
B正确
正确答案:————
转载注明 无忧答案网,附件是答案,核对题目下载
页:
[1]