南开17春学期《面向对象程序设计》在线作业满分答案Word文件下载.docx
- 文档编号:13337394
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:15
- 大小:14.67KB
南开17春学期《面向对象程序设计》在线作业满分答案Word文件下载.docx
《南开17春学期《面向对象程序设计》在线作业满分答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《南开17春学期《面向对象程序设计》在线作业满分答案Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
C.++
D.--
B
4.下面关于类的成员函数描述不正确的是()。
A.静态成员函数内可以直接访问类的非静态成员数据
B.静态成员函数内可以直接访问类的静态成员数据
C.非静态成员函数可以直接访问类的非静态成员数据
D.非静态成员函数可以直接访问类的静态成员数据
A
5.已知“float*p;
p=newfloat[2];
”,若分配成功,则指针p在堆中获得的字节数为()。
A.2
B.4
C.8
D.不确定
6.程序在调用重载函数时,根据()区分到底要调用哪个函数。
A.函数名
B.返回值类型
C.参数个数和类型
D.以上都可以
7.任意一个类,析构函数的个数最多是()。
A.不限个数
B.1
C.2
D.3
8.下列关于赋值运算符重载的说法中正确的是()。
A.返回值一般是以引用方式返回的对象,而函数体中总是用语句“return*this;
”返回this指针所指向的对象
B.赋值运算符只能以非成员函数的方式重载
C.赋值运算符既可以以成员函数的方式重载,又可以以非成员函数的方式重载
D.以上均不正确
9.在一个C++源文件中使用了cin和cout,那么在这个源文件中必须包含()文件。
A.iostream
B.fstream
C.stdio.h
D.stdlib.h
10.类aClass的定义如下:
classaClass{public:
aClass(){}aClass(inti){value=newint(i);
}int*value;
}若要对类中的value赋值,则下面的语句中,正确的是()。
A.aClassmy;
my.value=10;
B.aClassmy;
*my.value=10;
C.aClassmy;
my.*value=10;
D.aClassmy(10);
11.下列关于成员函数特征的描述中,错误的是()。
A.成员函数可以重载
B.成员函数一定是内联函数
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的
12.在使用类创建对象时,系统会自动调用该对象的()完成对象中数据成员的初始化等操作。
13.在一个string类对象表示的字符串中插入新字符,应该使用string类的()函数。
14.下列对派生类的描述中错误的是()。
A.派生类至少有一个基类
B.派生类可作为另一个派生类的基类
C.派生类除了包含它直接定义的成员外,还包含其基类的成员
D.派生类对其继承的基类的成员访问权限保持不变
15.运行以下程序时,如果由键盘输入6514,则输出结果是()。
#include<
iostream>
usingnamespacestd;
intmain(){intm,n;
cout<
<
"
Inputm,n:
;
cin>
>
m>
n;
while(m!
=n){while(m>
n)m-=n;
while(n>
m)n-=m;
}cout<
m<
endl;
return0;
}
A.3
B.2
C.1
D.0
16.已知函数原型:
voidf(inta,intb=3,charc='
*'
);
则下面的函数调用中,不合法的调用是()。
A.f(5)
B.f(5,8)
C.f(6,,'
#'
)
D.f(0,0,'
17.下列关于虚函数的说明中,正确的是()。
A.从虚基类继承的函数都是虚函数
B.虚函数不得是静态成员函数
C.只能通过指针或引用调用虚函数
D.抽象类中的成员函数都是虚函数
18.类MyClass的定义如下:
classMyClass{public:
MyClass(){value=0;
}SetVariable(inti){value=i;
}private:
intvalue;
}则对下列语句序列正确的描述是()。
MyClass*p,my;
p=&
my;
A.语句p=&
是把对象my赋值给指针变量p
B.语句MyClass*p,my;
会调用两次类MyClass的构造函数
C.对语句*p.SetVariable(5)的调用是正确的
D.语句p->
SetVariable(5)与语句my.SetVariable(5)等价
19.抽象类的作用主要是()。
A.直接用作基类
B.直接用作指针
C.引用的基类型
D.包括以上各项
20.已知“inta=10,*p;
int*&
r=p;
r=&
a;
*p=20;
cout<
”,则输出为()。
A.10
B.20
C.不确定值
D.程序有错误
21.下列关于运算符重载的描述中,正确的是()。
A.运算符重载可以改变操作数的个数
B.运算符重载可以改变运算符的优先级
C.运算符重载可以改变运算符的结合性
D.运算符重载可以使运算符实现特殊功能
22.下列关于继承的描述中,错误的是()。
A.基类中的析构函数不能被派生类继承
B.基类中的保护成员在派生类中无法直接访问
C.派生类的成员除了包括派生类中自己定义的成员外,还包括它从基类继承的成员
D.在公有继承方式下基类中公有成员和保护成员的访问权限到派生类保持不变
23.以成员函数方式重载运算符“>
”,则obj1>
obj2被C++编译器解释为()。
A.operator>
(obj1,obj2)
B.>
C.obj1.operator>
(obj2)
D.obj2.operator>
(obj1)
24.基类的()在私有继承时在派生类中为私有成员函数,在公有和保护继承时在派生类中为保护成员函数。
A.私有成员函数
B.保护成员函数
C.公有成员
D.保护数据成员
25.下列虚基类的声明中,正确的是()。
A.classvirtualB:
publicA
B.virtualclassB:
C.classB:
publicAvirtual
D.classB:
virtualpublicA
26.派生类中的成员不能访问基类中的()。
A.私有成员
B.公有成员
C.保护成员
27.下列关于this指针的说法,错误的是()。
A.this指针指向当前正在操作的对象
B.this指针只存在于非静态成员函数中
C.在成员函数中对非静态数据成员的访问是通过this指针完成的
D.静态成员函数中可以通过this指针访问非静态成员
28.对A、B两个类进行多重继承得到派生类C,则创建派生类C的对象时,从基类B中继承过来的成员变量由()类的构造函数进行初始化。
A.A
B.B
C.C
D.都可以
29.一个类的友元函数或友元类能够通过成员操作符访问该类的()。
B.保护成员
D.所有成员
30.下面描述中,错误的是()。
A.公有继承时,基类中的public成员在派生类中仍是public的
B.公有继承时,基类中的private成员在派生类中仍是private的
C.公有继承时,基类中的protected成员在派生类中仍是protected的
D.私有继承时,基类中的public成员在派生类中是private的
31.执行语句“stringstr("
abc"
”时,系统会自动调用string类的构造函数()。
A.string()
B.string(constchar*s)
C.string(conststring&
str)
D.string(size_typen,charc)
32.下列关于构造函数调用顺序的描述中,正确的是()。
A.创建派生类对象时,先调用基类的构造函数,后调用派生类的构造函数
B.创建基类对象时,先调用基类的构造函数,后调用派生类的构造函数
C.创建派生类对象时,先调用派生类的构造函数,后调用基类的构造函数
D.创建基类对象时,先调用派生类的构造函数,后调用基类的构造函数
33.假设堆内存分配均成功,则下面程序段完全正确的是()。
A.int*p=newint(3);
*p;
deletep;
B.int*p=newint[5]={1,2,3,4,5};
for(inti=0;
i<
5;
i++)cout<
p[i];
delete[]p;
C.int*p=newint[5];
i++,p++){*p=i;
}delete[]p;
D.以上程序段均正确
34.在一个string类对象表示的字符串中查找子串,应该使用string类的()函数。
35.类的默认的无参构造函数()。
A.在任何情况下都存在
B.仅当未定义无参构造函数时存在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计 南开 17 学期 面向 对象 程序设计 在线 作业 满分 答案