东师C++程序设计21秋学期在线作业2[答案]答案
C++程序设计21秋学期在线作业2题目
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1.下列()可以是虚函数。
A.构造函数
B.拷贝构造函数
C.静态成员函数
D.析构函数
正确答案:-----
2.下列语句中错误的是()。
A.int *p=new int (10);
B.int *p=new int[10];
C.int *p=new int;
D.int *p=new int[40](0);
正确答案:-----
3.下列函数中,()是对文件进行读操作的。
A.put
B.read
C.write
正确答案:-----
D.seekp
正确答案:-----
4.下列函数中,()是对文件进行写操作的。
A.get()
B.read()
正确答案:-----
C.seekg()
D.put()
正确答案:-----
5.get()函数的功能是从输入流中读取()。
A.一个字符
B.当前字符
C.一行字符
D.指定若干个字符
正确答案:-----
6.假设A为抽象类,下列声明()是正确的。
A.A fun(int);
B.A *p;
C.int fun(A);
D.A obj;
正确答案:-----
7.下面程序的运行结果为()。 #include class A{ public: A(){cout<<”1”;} ~A(){cout<<”2”;} } class B:public A{ public: B(){cout<<”3”;} ~B(){cout<<”4”;} } void main(){ B b; }
正确答案:-----
A.1234
B.1324
C.1342
D.3142
正确答案:-----
8.已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明()。
A.f1和f2都是静态函数
B.f1是静态函数,f2不是静态函数
C.f1不是静态函数,f2是静态函数
D.f1和f2都不是静态函数
正确答案:-----
9.类模板的使用实际上是将类模板实例化成一个具体的()。
A.类
B.对象
C.模板函数
D.模板类
正确答案:-----
10.通常拷贝构造函数的参数是()。
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
正确答案:-----
11.下面对静态数据成员的描述中,正确的是()。
A.静态数据成员可以在类体内进行初始化
B.静态数据成员不可以被类的对象调用
C.静态数据成员不能受private控制符的作用
D.静态数据成员可以直接用类名调用
正确答案:-----
12.不能作为重载函数的调用依据的是()。
A.参数个数
B.参数类型
C.返回值类型
D.函数名称
正确答案:-----
13.在C++中,函数原型不能标识()。
A.函数的返回类型
B.函数参数的个数
C.函数参数类型
D.函数的功能
正确答案:-----
14.类的构造函数被自动调用执行的情况是在定义该类的()。
A.成员函数时
B.数据成员时
C.对象时
D.友元函数时
正确答案:-----
15.构造函数是在()时被执行的。
A.程序编译
B.创建对象
C.创建类
D.程序装入内存
正确答案:-----
16.一个函数功能不太复杂但要求被频繁调用,应选用()。
A.内联函数
B.重载函数
C.递归函数
D.嵌套函数
正确答案:-----
17.当使用fstream流类定义一个流对象并打开一个磁盘文件时, 文件的隐含打开方式为()。
A.ios::in
B.ios::out
C.ios::in|ios::out
D.以上都不对
正确答案:-----
21.说明一个成员为静态成员的关键字为()。
A.static
B.extern
C.inline
D.friend
正确答案:-----
19.以下基类中的成员函数中表示纯虚函数的是() 。
A.virtual void vf(int);
正确答案:-----
B.virtual void vf(int)=0;
正确答案:-----
C.virtual void vf(int=0);
正确答案:-----
D.virtual void vf(int){ };
正确答案:-----
20.下面对类的析构函数的定义是() 。
A.X::~ X( 参数 );
B.void X::~ X( 参数 );
正确答案:-----
C.void X::~ X();
正确答案:-----
D.X::~ X();
正确答案:-----
东师C++程序设计21秋学期在线作业2[答案]多选题答案
二、判断题 (共 20 道试题,共 40 分)
21.类对象的输入输出需在类中定义重载的提取运算符“>>”和插入运算符“<<”。
正确答案:-----
22.虚基类中的成员函数都是虚函数。
23.C++允许通过重载的方式改变运算符的优先级和结合性。
24.cout通常与显示器相连,cin通常与键盘相连。
25.在文件操作结束时,可以用eof()成员函数关闭该文件。
26.使用setw()函数时需包含iomanip.h头文件,而使用width()函数时需包含iostream.h头文件。
正确答案:-----
27.对于同一个运算符来说,重载的运算符的优先级比未重载的运算符的优先级高。
28.成员函数体写在类的外部时不必在类的内部保留函数声明。
29.编译时的多态是通过静态联编来实现的,运行时的多态是通过动态联编实现的。
30.当类中有指针类型数据成员时,需重载赋值运算符,否则会产生指针悬挂问题。
31.C++标准库中的输入输出格式操作符(函数)必须由输入输出流对象来调用。
32.无论何时编译器都为类构造一个无参数的缺省的构造函数。
33.在一般的成员函数中都隐含有一个this指针,用来指向对象自身,而在静态成员函数中是没有this指针的。
34.函数模板不可以重载。
35.使用重载运算符既可以用运算符的方式又可以用函数调用的方式。
36.凡是左操作数必须为本类对象的运算符均应以类成员函数的方式重载。
37.前缀自增运算符用成员函数方式重载时,其参数个数为0,用友元函数重载时,其参数个数为1。
38.构造函数和析构函数既可以由程序员调用,也可以由系统自动调用。
39.如果要在程序中使用IO流库,应包含头文件iostream.h。
40.不能在类声明中给数据成员赋初值。
东师C++程序设计21秋学期在线作业2[答案]历年参考题目如下: