东师C++程序设计18春在线作业1答案满分答案
C 程序设计18春在线作业1-0004
试卷总分:100 得分:0
一、 单选题 (共 20 道试题,共 60 分)
1.()是iostream的派生类,可以同时处理文件的输入和输出。
A.ifstream
B.ofstream
C.fstream
D.fstream.h
正确答案:----
正确答案:----
2.以下有关继承的叙述正确的是()。
A.构造函数和析构函数都能被继承
B.派生类是基类的组合
C.派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员
D.基类的公有成员一定能被派生类的对象访问
专业答案:----
3.当派生类中有和基类一样名字的成员时,如果没有使用类名加以限制,则()。
A.基类的同名成员将覆盖派生类的成员
B.将产生二义性
C.派生类的同名成员将覆盖基类的成员
D.是不允许的
正确选项:----
4.下列关于纯虚函数的描述中,正确的是()。
A.纯虚函数是一种特殊的虚函数,它是个空函数
B.具有纯虚函数的类称为虚基类
C.一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数
D.具有纯虚函数的类不能创建类对象
正确答案:----
5.下面叙述不正确的是()。
A.基类的保护成员在保护派生类中仍然是保护的
B.基类的保护成员在公有派生类中仍然是保护的
C.基类的保护成员在私有派生类中仍然是保护的
D.对基类成员的访问必须是无二义性的
正确选项:----
6.构造函数是在()时被执行的。
A.程序编译
B.创建对象
C.创建类
D.程序装入内存
专业答案:----
7.下列输出字符'A'的方法中,错误的是()。
A.cout<<put('A');
B.cout<<'A';
C.cout.put('A');
D.char a='A';cout<<a;
正确选项:----
8.假定classA为一个类,f()为该类公有的数据成员,x为该类的一个对象,则访问x对象中成员函数f()的格式为()。
A.x.f
B.x.f()
C.x->f
D.x->f()
正确答案:----
9.在声明类时,下面的说法正确的是()。
A.可以在类的声明中给数据成员赋初值
B.数据成员的数据类型可以是register
C.private、public、protected可以按任意顺序出现
正确选项:----
D.没有用private、public、protected定义的数据成员是公有成员
正确答案:----
10.假定一个类的构造函数为“A(int aa=1, int bb=0) {a=aa; b=aa*bb;}”, 则执行“A x(3,6);”语句后,x.a和x.b的值分别为()。
正确答案:----
A.3和6
B.6和3
C.3和18
D.6和18
正确选项:----
11.下列函数中,()是对文件进行读操作的。
A.put
B.read
C.write
专业答案:----
D.seekp
专业答案:----
12.对虚函数的调用()。
A.一定使用动态联编
B.一定使用静态联编
C.一定使用指针
D.不一定使用动态联编
正确答案:----
13.假定一个类A只含有一个整型数据成员x,当用户不定义任何构造函数时,系统为该类定义的默认无参构造函数为()。
A.A(){x=0;}
B.A(int a=0):x(a){}
C.A(){}
D.A(int a):x(a){}
正确答案:----
14.如果编程者没有显式定义构造函数(包括复制构造函数),C++编译器就()。
A.出现编译错误
B.没有构造函数
C.必须显示定义
D.隐式定义缺省的构造函数
专业答案:----
15.在关键字public后面定义的成员为类的()成员。
A.公有
B.保护
C.私有
D.任何
专业答案:----
16.下面运算符中,不能被重载的运算符是()。
A.<=
B.-
C.?:
D.[]
正确答案:----
17.当需要使用ostream流类定义一个流对象并联系一个字符串时,应在文件开头使用#include命令,使之包含()文件。
专业答案:----
A.iostream.h
B.stdlib.h
正确答案:----
C.strstream.h
D.fstream.h
18.#include <iostream.h> class BASE{ char c; public: BASE(char n):c(n){} virtual~BASE(){cout<<C;} }; class DERIVED:public BASE{ char c; public: DERIVED(char n):BASE(n+1),c(n){} ~DERIVED(){cout
正确选项:----
A.XY
B.YX
C.X
D.Y
正确选项:----
19.若已定义了person类及person类的两个对象p1和p2,则执行语句"p1=p2;"将调用p1的()。
A.构造函数
B.拷贝构造函数
C.析构函数
D.赋值运算符重载函数
正确答案:----
20.打开一个文件,就是将这个文件与一个()建立关联。
A.类
B.流
C.对象
D.设备
专业答案:----
东师C++程序设计18春在线作业1答案多选题答案
二、 判断题 (共 20 道试题,共 40 分)
1.析构函数是可以被派生类继承的。
A.错误
B.正确
2.静态成员函数与在一般的成员函数一样,都隐含有一个this指针。
A.错误
B.正确
3.拷贝构造函数是在用一个对象初始化另一个对象时被调用的。
A.错误
B.正确
4.一个派生类继承多个基类称为虚拟继承。
A.错误
B.正确
5.当类中有指针类型数据成员时,需重载赋值运算符,否则会产生指针悬挂问题。
A.错误
B.正确
6.数组中的每个元素它们的类型可以是不同的。
A.错误
B.正确
7.成员函数体写在类的外部时一定要在类的内部保留函数声明。
A.错误
B.正确
8.若将函数说明为返回一个引用,则该函数可以用在赋值运算符的左边。
A.错误
B.正确
9.在面向对象的程序设计中,将一组对象的共同特性抽象出来形成类。
A.错误
B.正确
10.构造函数和析构函数既可以由程序员调用,也可以由系统自动调用。
A.错误
B.正确
11.void型指针是通用型指针,它可以接受任何类型的指针的赋值。
正确答案:----
A.错误
B.正确
12.在C++中,用数组、指针、和引用作为函数参数,都能够将参数值带回。
A.错误
B.正确
13.多态性是指相同的对象收到不同的消息时产生多种不同的行为方式。
A.错误
B.正确
14.C++程序设计中,每个语句应以分号结束。
A.错误
B.正确
15.重载函数是基于不同的数据类型完成类似的操作,而函数模板则是对不同的数据类型完成相同的操作。
A.错误
B.正确
16.IO流库中定义的格式操作符ws表示跳过输入流前面的空白字符。
A.错误
B.正确
17.操纵符hex、oct、dec只对下一个输出有效。
专业答案:----
A.错误
B.正确
18.当一个类被说明为另一个类的友元时,它的所有的成员函数都成为另一个类的友元函数。
A.错误
B.正确
19.静态数据成员属于类,因此可以使用“类名::”访问静态的数据成员。
正确答案:----
A.错误
B.正确
20.后缀自增运算符用成员函数方式重载时,其参数个数为0,用友元函数重载时,其参数个数为1。
A.错误
B.正确
东师C++程序设计18春在线作业1答案历年参考题目如下: