东师C++程序设计17春在线作业2_1答案资料
C++程序设计17春在线作业2一、单选题:【20道,总分:60分】东师在线作业为随机作业,请联系QQ515224986代做
1.对于类定义class A{ public: virtual void func1( ){} void func2( ){}};class B:public A{ public: void func1( ){cout<<″class B func 1″<<end1;} virtual void func2( ){cout<<″class B f (满分:3)
A. A::func2( )和B::func1( )都是虚函数
B. A::func2( )和B::func1( )都不是虚函数
C. B::func1( )是虚函数,而A::func2( )不是虚函数
D. B::func1( )不是虚函数,而A::func2( )是虚函数
2.如果类A被说明成类B的友元,则( )。 (满分:3)
A. 类A的成员即类B的成员
B. 类B的成员即类A的成员
C. 类A的成员函数不得访问类B的成员
D. 类B不一定是类A的友元
3.C++中引入友元的作用是( )。 (满分:3)
A. 提高程序的运用效率
B. 加强类的封装性
C. 实现数据的隐藏性
D. 增加成员函数的种类
4.假定classA为一个类,f( )为该类公有的数据成员,x为该类的一个对象,则访问x对象中成员函数f( )的格式为( )。 (满分:3)
A. x.f
B. x.f( )
C. x->f
D. x->f( )
5.已知类A是类B的友元,类B是类C的友元,则( )。 (满分:3)
A. 类A一定是类C的友元
B. 类C一定是类A的友元
C. 类C的成员函数可以访问类B的对象的任何成员
D. 类A的成员函数可以访问类B的对象的任何成员
6.在派生类中重新定义虚函数时,除了( ),其它方面都必须与基类中相应的虚函数保持一致。 (满分:3)
A. 参数个数
B. 参数类型
C. 函数体
D. 函数名称
7.决定C++语言中函数的返回值类型的是( )。 (满分:3)
A. return语句中的表达式类型
B. 调用该函数时系统随机产生的类型
C. 调用该函数时的主调用函数类型
D. 在定义该函数时所指定的数据类型
8.要想以读方式打开文件“D:\File.txt”,以下不能实现目的的语句是( )。 (满分:3)
A. ifstream inf("D:\\File txt",ios::in);
B. ifstream inf("D:\\File.txt");
C. ofstream inf("D:\\File.txt",ios::out);
D. fstream inf("D:\\File.txt",ios::in|ios::out);
9.下列( )的调用方式是引用调用。 (满分:3)
A. 形参是引用,实参是变量
B. 形参和实参都是变量
C. 形参是变量,实参是地址值
D. 形参是指针,实参是地址值
10.语句ofstream f(“SALARY.DAT”,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且( )。 (满分:3)
A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B. 若文件存在,将其置为空文件;若文件不存在,打开失败
C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D. 若文件存在,打开失败;若文件不存在,建立一个新文件
11.若已定义了person类,则执行语句"person p1=p2;"将调用p1的( )。 (满分:3)
A. 构造函数
B. 拷贝构造函数
C. 析构函数
D. 赋值运算符重载函数
12.下面对类的析构函数的定义是( ) 。 (满分:3)
A. X::~ X( 参数 );
B. void X::~ X( 参数 );
C. void X::~ X( );
D. X::~ X( );
13.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是( )。 (满分:3)
A. 公有类型
B. 私有类型
C. 保护类型
D. 友元类型
14.若已知char str,有语句 cin>>str;,当输入为:This is a cat,则str中的内容为( )。 (满分:3)
A. This is a cat
B. This
C. This is
D. This is a
15.下面有关重载函数的说法中正确的是( )。 (满分:3)
A. 重载函数必须具有不同的返回值类型
B. 重载函数形参个数必须不同
C. 重载函数必须有不同的形参列表
D. 重载函数名可以不同;
16.实现运行时的多态性需要使用( )。 (满分:3)
A. 重载函数
B. 构造函数
C. 析构函数
D. 虚函数
17.下面运算符中,不能被重载的运算符是( )。 (满分:3)
A. <=
B. -
C. ?:
D. []
18.下列语句中错误的是( )。 (满分:3)
A. int *p=new int(10);
B. int *p=new int;
C. int *p=new int;
D. int *p=new int(0);
19.下列说法正确的是( )。 (满分:3)
A. 内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
B. 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
C. 类的内联函数必须在类体内定义
D. 类的内联函数必须在类体外通过加关键字inline定义
20.下列不是文件流类的是( )。 (满分:3)
A. ifstream
B. iostream
C. fstream
D. ofstream
二、判断题:【20道,总分:40分】
1.使用cin和cout进行输入和输出操作必须包含头文件iomanip.h (满分:2)
A. 错误
B. 正确
2.函数模板是模板函数的实例化。 (满分:2)
A. 错误
B. 正确
3.ifstream是用于读文件的文件流。 (满分:2)
A. 错误
B. 正确
4.ofstream是用于写文件的文件流。 (满分:2)
A. 错误
B. 正确
5.在一般的成员函数中都隐含有一个this指针,用来指向对象自身,而在静态成员函数中是没有this指针的。 (满分:2)
A. 错误
B. 正确
6.IO流库重载的插入和析取运算符能处理所有的数据类型(包括自定义类型)。 (满分:2)
A. 错误
B. 正确
7.成员函数体写在类外部的一定不是内联函数,写在类内部的一定是内联函数。 (满分:2)
A. 错误
B. 正确
8.指针和引用都是变量,都占有单独的内存空间。 (满分:2)
A. 错误
B. 正确
9.C++允许定义有默认参数的函数,默认参数要在函数声明中提供,当又有声明又有定义时,定义中不允许默认参数。 (满分:2)
A. 错误
B. 正确
10.二进制文件结束标志为EOF(即-1)。 (满分:2)
A. 错误
B. 正确
11.如果一个类只定义了一个带参的构造函数,则系统会给它提供缺省的无参构造函数。 (满分:2)
A. 错误
B. 正确
12.使用setw( )函数时需包含iomanip.h头文件,而使用width( )函数时需包含iostream.h头文件。 (满分:2)
A. 错误
B. 正确
13.对于类中的对象成员既可以在构造函数的初始化列表中初始化也可以在构造函数体中初始化。 (满分:2)
A. 错误
B. 正确
14.在C++中,构造派生类对象时,总是先从基类的初始化开始的。 (满分:2)
A. 错误
B. 正确
15.类是一组对象的抽象,而对象则是类的一个实例。 (满分:2)
A. 错误
B. 正确
16.C++中的函数就是面向对象理论中的消息。 (满分:2)
A. 错误
B. 正确
17.若有声明:class B: A{};则类B的继承方式为公有继承。 (满分:2)
A. 错误
B. 正确
18.void型指针是通用型指针,它可以接受任何类型的指针的赋值。 (满分:2)
A. 错误
B. 正确
19.类A继承类B,则A称为B的派生类,B称为A的基类。 (满分:2)
A. 错误
B. 正确
20.C++中,对象保存在内存中,栈内存是自动分配和释放的,而堆内存需要用户自己申请和释放。 (满分:2)
A. 错误
B. 正确
本内容由www.openhelp100.com整理发布
页:
[1]