东师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< 正确答案:----- 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"< 正确答案:----- 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[答案]历年参考题目如下: