东师《C++程序设计》18春在线作业参考
C++程序设计18春在线作业1一、单选题:
1.(单选题)假设定义了一个具有构造函数的book类,构造函数只有一个非默认的整型参数,则下列的类型转换错误的是()。 (满分:)
Abook(12)
B(book20);
Cbookx=2;
Dbookx=book(2);
正确答案:——B——
2.(单选题)类MyA的拷贝初始化构造函数是()。 (满分:)
AMyA()
BMyA(MyA*)
CMyA(MyA&)
DMyA(MyA)
正确答案:——C——
3.(单选题)已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。 (满分:)
Avoidprint()const;
Bconstvoidprint();
Cvoidconstprint();
Dvoidprint(const);
正确答案:——A——
4.(单选题)C++的继承性允许派生类继承基类的()。 (满分:)
A部分特性,并允许增加新的特性或重定义基类的特性
B部分特性,但不允许增加新的特性或重定义基类的特性
C所有特性,并允许增加新的特性或重定义基类的特性
D所有特性,但不允许增加新的特性或重定义基类的特性
正确答案:————
5.(单选题)C++程序的执行总是从()开始的。 (满分:)
Amain函数
B第一行
C头文件
D函数注释
正确答案:————
6.(单选题)如果类B在类A的基础上构造,那么,就称()。 (满分:)
A类A为基类或父类,类B为超类或子类
B类A为基类、父类或超类,类B为派生类或子类
C类A为派生类,类B为基类
D类A为派生类或子类,类B为基类、父类或超类
正确答案:————
7.(单选题)在下面有关静态成员函数的描述中,正确的是()。 (满分:)
A在静态成员函数中可以使用this指针
B在建立对象前,就可以为静态数据成员赋值
C静态成员函数在类外定义时,要用static前缀
D静态成员函数只能在类外定义
正确答案:————
8.(单选题)假设己经定义好了一个类student,现在要定义类derived,它是从student私有派生的,定义类derived的正确写法是()。 (满分:)
Aclassderived::studentprivate{//……
Bclassderived:studentpublic{//……
Cclassderived:privatestudent{//……
Dclassderived::publicstudent{//……
正确答案:————
9.(单选题)应在下列程序划线处填入的正确语句是()。\n#include\nclassBase\n{ public:\nvoidfun(){cout<<\Base::fun\<<ENDL;}\n};\nclassDerived:publicBase\n{ voidfun()\n {_____________//显示调用基类的函数fun()\n cout<<\Derived::fun\<<ENDL;\n }\n}; (满分:)
Afun();
BBase.fun();
CBase::fun();
DBase->fun();
正确答案:————
10.(单选题)在ios流类中提供格式控制的标志位中,()是转换为十六进制的标志位。 (满分:)
Aoct
Bdec
Chex
Dleft
正确答案:————
11.(单选题)假设已经有定义constchar*constname=\chen\;下面的语句中正确的是()。 (满分:)
Aname='a';
Bname=\lin\;
Cname=newchar;
Dcout<<name;
正确答案:————
12.(单选题)类模板的使用实际上是将类模板实例化成一个具体的()。 (满分:)
A类
B对象
C模板函数
D模板类
正确答案:————
13.(单选题)在C++程序中,对象之间的相互通信通过()。 (满分:)
A继承实现
B调用成员函数实现
C封装实现
D函数重载实现
正确答案:————
14.(单选题)通常拷贝构造函数的参数是()。 (满分:)
A某个对象名
B某个对象的成员名
C某个对象的引用名
D某个对象的指针名
正确答案:————
15.(单选题)假定一个类的构造函数为“A(intaa=1,intbb=0){a=aa;b=aa*bb;}”,则执行“Ax(3,6);”语句后,x.a和x.b的值分别为()。 (满分:)
A3和6
B6和3
C3和18
D6和18
正确答案:————
16.(单选题)如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,则采用运算符函数调用格式,该表达式还可以表示为()。 (满分:)
Ax.operator++(0).operator*(y)
Boperator*(x.operator++(0),y)
Coperator*(operator++(x,0),y)
Dy.operator*(operator++(x,0))
正确答案:————
17.(单选题)若已定义了person类,则执行语句\personp1=p2;\将调用p1的()。 (满分:)
A构造函数
B拷贝构造函数
C析构函数
D赋值运算符重载函数
正确答案:————
18.(单选题)设有函数模板\ntemplate<classQ>\nQSum(Qx,Qy){\nreturn(x)+(y);\n}\n则下列语句中对该函数模板错误的使用是()。 (满分:)
ASum(10,2);
BSum(5.0,6.7);
CSum(15.2f,16.0f);
DSum(″AB″,″CD″);
正确答案:————
19.(单选题)关于虚函数的描述中,()是正确的。 (满分:)
A虚函数是一个static类型的成员函数
B虚函数是一个非成员函数
C基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数
D派生类的虚函数与基类的虚函数具有不同的参数个数和类型
正确答案:————
20.(单选题)类模板的模板参数()。 (满分:)
A只可作为数据成员的类型
B只可作用成员函数的返回类型
C只可作为成员函数的参数类型
D以上三者皆可
正确答案:————
三、判断题:
21.(判断题)类和对象之间的关系是具体和抽象的关系。 (满分:)
A错误
B正确
正确答案:————
22.(判断题)用new分配的空间,使用结束后必须用delete显式地释放。 (满分:)
A错误
B正确
正确答案:————
23.(判断题)this指针是一个const指针,不能在程序中修改它或给它赋值。 (满分:)
A错误
B正确
正确答案:————
24.(判断题)C++与C语言本质差别在于C++语言是面向对象的,而C语言是面向过程的。 (满分:)
A错误
B正确
正确答案:————
25.(判断题)可以在类的构造函数中对静态数据成员进行初始化。 (满分:)
A错误
B正确
正确答案:————
26.(判断题)虚析构函数的工作过程与普通虚函数不同,普通虚函数只是调用相应层上的函数,而虚析构函数是先调用相应层上的析构函数,然后逐层向上调用基类的析构函数。 (满分:)
A错误
B正确
正确答案:————
27.(判断题)函数模板不可以重载。 (满分:)
A错误
B正确
正确答案:————
28.(判断题)创建派生类对象时,先调用基类的构造函数,再调用派生类的构造函数,当销毁这个对象时顺序正好相反,先调用派生类的析构函数,再调用基类的析构函数。 (满分:)
A错误
B正确
正确答案:————
29.(判断题)构造函数是可以被派生类继承的。 (满分:)
A错误
B正确
正确答案:————
30.(判断题)静态数据成员属于类,因此可以使用“类名::”访问静态的数据成员。 (满分:)
A错误
B正确
正确答案:————
31.(判断题)静态的成员函数没有隐含的this指针,所以它们只能访问静态的数据成员。 (满分:)
A错误
B正确
正确答案:————
32.(判断题)构造函数和析构函数都不能带参数。 (满分:)
A错误
B正确
正确答案:————
33.(判断题)公有继承方式下,基类成员的访问权限在派生类中保持不变。 (满分:)
A错误
B正确
正确答案:————
34.(判断题)在C++中,只能重载已有的运算符。 (满分:)
A错误
B正确
正确答案:————
35.(判断题)C++中,对象保存在内存中,栈内存是自动分配和释放的,而堆内存需要用户自己申请和释放。 (满分:)
A错误
B正确
正确答案:————
36.(判断题)类中重载提取运算符“>>”和插入运算符“<<”时只能用成员函数而不能用友元函数的形式。 (满分:)
A错误
B正确
正确答案:————
37.(判断题)类对象的输入输出需在类中定义重载的提取运算符“>>”和插入运算符“<<”。 (满分:)
A错误
B正确
正确答案:————
38.(判断题)在面向对象的程序设计中,将一组对象的共同特性抽象出来形成类。 (满分:)
A错误
B正确
正确答案:————
39.(判断题)若一个类A,它的两个直接基类是从同一个间接基类派生而来的,则类A对基类成员的访问会产生二义性。 (满分:)
A错误
B正确
正确答案:————
40.(判断题)C++中的函数就是面向对象理论中的消息。 (满分:)
A错误
B正确
正确答案:————
C++程序设计18春在线作业2
一、单选题:
1.(单选题)关于函数模板,描述错误的是()。 (满分:)
A函数模板必须由程序员实例化
B函数模板的实例化由编译器实现
C一个类定义中,只要有一个函数模板,则这个类是类模板
D若类模板的成员函数是函数模板,则类模板实例化后,成员函数也随之实例化
正确答案:——A——
2.(单选题)下面有关重载函数的说法中正确的是()。 (满分:)
A重载函数必须具有不同的返回值类型
B重载函数形参个数必须不同
C重载函数必须有不同的形参列表
D重载函数名可以不同;
正确答案:——C——
3.(单选题)实现运行时的多态性需要使用()。 (满分:)
A重载函数
B构造函数
C析构函数
D虚函数
正确答案:——D——
4.(单选题)cout是I/O流库中预定义的()。 (满分:)
A类
B对象
C文件
D常量
正确答案:————
5.(单选题)在下面有关对构造函数的描述中,正确的是()。 (满分:)
A构造函数可以带有返回值
B构造函数的名字与类名完全相同
C构造函数必须带有参数
D构造函数必须定义,不能缺省
正确答案:————
6.(单选题)下列各种高级语言中,不是面向对象的程序设计语言的是()。 (满分:)
AC++
BJava
CVB
DC
正确答案:————
7.(单选题)假设Sample是个类,则语句“Samplea[2],*p[3];”调用构造函数的次数为()。 (满分:)
A0
B2
C3
D5
正确答案:————
8.(单选题)在C++中继承方式有几种()。 (满分:)
A1
B2
C3
D4
正确答案:————
9.(单选题)以下基类中的成员函数中表示纯虚函数的是()。 (满分:)
Avirtualvoidvf(int);
Bvirtualvoidvf(int)=0;
Cvirtualvoidvf(int=0);
Dvirtualvoidvf(int){
正确答案:————
10.(单选题)若已定义了person类,则执行语句\personp1=p2;\将调用p1的()。 (满分:)
A构造函数
B拷贝构造函数
C析构函数
D赋值运算符重载函数
正确答案:————
11.(单选题)在下列关键字中,用于说明类中公有成员的是()。 (满分:)
Apublic
Bprivate
Cprotected
Dfriend
正确答案:————
12.(单选题)下面对类的析构函数的定义是()。 (满分:)
AX::~X(参数);
BvoidX::~X(参数);
CvoidX::~X();
DX::~X();
正确答案:————
13.(单选题)已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。 (满分:)
Avoidprint()const;
Bconstvoidprint();
Cvoidconstprint();
Dvoidprint(const);
正确答案:————
14.(单选题)下面描述中,表达错误的是()。 (满分:)
A公有继承时基类中的public成员在派生类中仍是public的
B公有继承时基类中的private成员在派生类中仍是private的
C公有继承时基类中的protected成员在派生类中仍是protected的
D保护继承时基类中的public成员在派生类中是private的
正确答案:————
15.(单选题)如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,则采用运算符函数调用格式,该表达式还可以表示为()。 (满分:)
Ax.operator++(0).operator*(y)
Boperator*(x.operator++(0),y)
Coperator*(operator++(x,0),y)
Dy.operator*(operator++(x,0))
正确答案:————
16.(单选题)下列说法正确的是()。 (满分:)
A内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
B内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
C类的内联函数必须在类体内定义
D类的内联函数必须在类体外通过加关键字inline定义
正确答案:————
17.(单选题)在磁盘文件操作中,以追加方式打开磁盘文件时,其mode值为()。 (满分:)
Ain
Bapp
Cout
Date
正确答案:————
18.(单选题)若已知charstr,有语句cin>>str;,当输入为:Thisisacat,则str中的内容为()。 (满分:)
AThisisacat
BThis
CThisis
DThisisa
正确答案:————
19.(单选题)在I/O流库中定义的控制浮点数输出精度的函数为()。 (满分:)
Awidth()
Bfill()
Cprecision()
Dsetprecision()
正确答案:————
20.(单选题)下面运算符中,不能被重载的运算符是()。 (满分:)
A<=
B-
C?:
D[]
正确答案:————
三、判断题:
21.(判断题)如果一个类只定义了一个带参的构造函数,则系统会给它提供缺省的无参构造函数。 (满分:)
A错误
B正确
正确答案:————
22.(判断题)C++利用类的派生机制实现面向对象程序设计的继承性。 (满分:)
A错误
B正确
正确答案:————
23.(判断题)类是C++中自定义的数据类型。 (满分:)
A错误
B正确
正确答案:————
24.(判断题)多态性是指不同的对象收到相同的消息时产生多种不同的行为方式。 (满分:)
A错误
B正确
正确答案:————
25.(判断题)如果派生类没有实现虚函数,那么它将使用它的基类的虚函数。 (满分:)
A错误
B正确
正确答案:————
26.(判断题)C++中的函数调用就是面向对象理论中的方法。 (满分:)
A错误
B正确
正确答案:————
27.(判断题)指针和引用都是变量,都占有单独的内存空间。 (满分:)
A错误
B正确
正确答案:————
28.(判断题)若有声明:classB:A{};则类B的继承方式为私有继承。 (满分:)
A错误
B正确
正确答案:————
29.(判断题)静态成员函数与在一般的成员函数一样,都隐含有一个this指针。 (满分:)
A错误
B正确
正确答案:————
30.(判断题)在删除一个动态对象时,将自动调用该动态对象所属类的析构函数。 (满分:)
A错误
B正确
正确答案:————
31.(判断题)C++是一种纯粹的面向对象程序设计语言。 (满分:)
A错误
B正确
正确答案:————
32.(判断题)若左操作数为基本数据类型或其它类对象时,此运算符应以友元函数的方式重载。 (满分:)
A错误
B正确
正确答案:————
33.(判断题)函数模板不可以重载。 (满分:)
A错误
B正确
正确答案:————
34.(判断题)多态性是指相同的对象收到不同的消息时产生多种不同的行为方式。 (满分:)
A错误
B正确
正确答案:————
35.(判断题)凡是左操作数必须为本类对象的运算符均应以类成员函数的方式重载。 (满分:)
A错误
B正确
正确答案:————
36.(判断题)创建派生类对象时,先调用基类的构造函数,再调用派生类的构造函数,当销毁这个对象时顺序正好相反,先调用派生类的析构函数,再调用基类的析构函数。 (满分:)
A错误
B正确
正确答案:————
37.(判断题)ofstream是用于读文件的文件流。 (满分:)
A错误
B正确
正确答案:————
38.(判断题)当基类的构造函数没有参数,或没有显式定义构造函数时,派生类可以不定义构造函数。 (满分:)
A错误
B正确
正确答案:————
39.(判断题)一个类的友元一定是另一个类的成员函数。 (满分:)
A错误
B正确
正确答案:————
40.(判断题)撤销包含有对象成员的派生类对象时,自动调用析构函数的执行顺序依次为派生类、对象成员所属类、基类的析构函数。 (满分:)
A错误
B正确
正确答案:————
www.ap5u.com
页:
[1]