东师C++程序设计21秋学期在线作业1[答案]答案
C++程序设计21秋学期在线作业1题目
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1.假定classA为一个类,a为该类公有的数据成员,px为指向该类对象的指针,则访问px所指对象中数据成员a的格式为()。
A.px(a)
B.px[a]
C.px->a
D.px.a
正确答案:-----
2.关于虚函数的描述中,()是正确的。
A.虚函数是一个static类型的成员函数
B.虚函数是一个非成员函数
C.基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数
D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型
正确答案:-----
3.下列函数中,()是对文件进行写操作的。
A.get()
B.read()
正确答案:-----
C.seekg()
D.put()
正确答案:-----
4.进行文件操作需包含头文件()。
A.fstream.h
B.ostream.h
C.stdio.h
正确答案:-----
D.stdlib.h
正确答案:-----
5.关于成员函数特征的下述描述中,()是错误的。
A.成员函数一定是内联函数
B.成员函数可以重载
C.成员函数可以设置参数的缺省值
D.成员函数可以是静态的
正确答案:-----
6.假设已经有定义const char*const name="chen"; 下面的语句中正确的是()。
A.name[3]= 'a';
B.name="lin";
C.name=new char[5];
D.cout<<name[3];
正确答案:-----
7.编译时的多态性通过使用() 实现。
A.构造函数
B.虚函数
C.重载函数
D.析构函数
正确答案:-----
8.建立包含有对象成员的派生类对象时,自动调用构造函数的执行顺序依次为()的构造函数。
A.基类、自己所属类、对象成员所属类
B.对象成员所属类、基类、自己所属类
C.自己所属类、对象成员所属类、基类
D.基类、对象成员所属类、自己所属类
正确答案:-----
9.C++中引入友元的作用是()。
A.提高程序的运用效率
B.加强类的封装性
C.实现数据的隐藏性
D.增加成员函数的种类
正确答案:-----
10.如果类A被说明成类B的友元,则()。
A.类A的成员即类B的成员
B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员
D.类B不一定是类A的友元
正确答案:-----
11.类模板的使用实际上是将类模板实例化成一个具体的()。
A.类
B.对象
C.模板函数
D.模板类
正确答案:-----
12.以下叙述正确的是()。
A.函数的定义和函数的调用都可以嵌套
B.函数的定义和函数的调用均不可以嵌套
C.函数的定义不可以嵌套,函数的调用可以嵌套
D.函数的定义可以嵌套,函数的调用不可以嵌套
正确答案:-----
13.下列类中()不是输入流类istream的派生类。
A.ifstream
B.istrstream
C.iostream
D.ofstream
正确答案:-----
14.应在下列程序划线处填入的正确语句是()。 #include class Base { public: void fun(){cout<<"Base::fun"<<ENDL;} }; class Derived:public Base { void fun() {_____________ //显示调用基类的函数fun() cout<<"Derived::fun"<<ENDL; } };
正确答案:-----
A.fun();
B.Base.fun();
C.Base::fun();
D.Base->fun();
正确答案:-----
15.假定变量x定义为“int x=8;”,要使rx成为x的引用(别名),rx应定义为()。
正确答案:-----
A.int rx=x;
B.int rx=&x;
C.int *rx=&x;
D.int &rx=x;
正确答案:-----
16.C++的继承性允许派生类继承基类的()。
A.部分特性,并允许增加ABC特性或重定义基类的特性
B.部分特性,但不允许增加ABC特性或重定义基类的特性
C.所有特性,并允许增加ABC特性或重定义基类的特性
D.所有特性,但不允许增加ABC特性或重定义基类的特性
正确答案:-----
17.若已知char str[20],有语句 cin>>str;,当输入为:This is a cat,则str中的内容为()。
A.This is a cat
B.This
C.This is
D.This is a
正确答案:-----
21.下面对类的构造函数的定义是() 。
A.void X::X( 参数 )
正确答案:-----
B.X::X( 参数 )
C.int X::X( 参数 )
D.float X::X( 参数 )
正确答案:-----
19.若已定义了person类及person类的两个对象p1和p2,则执行语句"p1=p2;"将调用p1的()。
A.构造函数
B.拷贝构造函数
C.析构函数
D.赋值运算符重载函数
正确答案:-----
20.假定classA为一个类,如果用户未定义析构函数,则系统为该类定义的默认析构函数为()。
A.classA::~classA(){}
B.classA::classA(){}
C.classA::~classA(int=0){}
D.void classA::~classA(){}
正确答案:-----
东师C++程序设计21秋学期在线作业1[答案]多选题答案
二、判断题 (共 20 道试题,共 40 分)
21.拷贝构造函数使用本类对象的引用作为参数初始化新创建的对象。
22.构造函数是不能被派生类继承的。
23.类和对象之间的关系是具体和抽象的关系。
24.类中可以包含各种数据类型的数据成员,但不能有其他类对象。
25.私有静态数据成员不能被类外部函数访问,也不能用对象进行访问。
26.C++的变量声明非常灵活,它允许变量声明与可执行语句在程序中交替出现。
27.C++语言对同一字母的大小写将认为是同一字符。
28.C++允许定义有默认参数的函数,默认参数要在函数声明中提供,当又有声明又有定义时,定义中不允许默认参数。
29.ofstream是用于读文件的文件流。
30.new和delete运算符不可以被重载。
正确答案:-----
31.如果派生类没有实现虚函数,那么它将使用它的基类的虚函数。
32.析构函数可以是虚函数,构造函数不能定义为虚函数。
33.在文件操作结束时,可以用close()成员函数关闭该文件。
34.前缀自增运算符用成员函数方式重载时,其参数个数为0,用友元函数重载时,其参数个数为1。
35.构造函数和析构函数都不能说明返回值类型,甚至说明为void类型也不行。
正确答案:-----
36.可以在类的构造函数中对静态数据成员进行初始化。
37.fstream是既可用于写文件又可用于读文件的文件流。
38.类是C++中自定义的数据类型。
39.函数模板不可以重载。
40.构造函数和析构函数都不能带参数。
东师C++程序设计21秋学期在线作业1[答案]历年参考题目如下: