主页 > 东北师范 > 东师在线 >

东师C++程序设计21春在线作业2【标准答案】

作者:pyfdzj

C 程序设计19春在线作业2-0003 试卷总分:100 得分:100 一、单选题 (共 20 道试题,共 60 分) 1.假定指针变量p定义int *p=new int(100);,要释放p所指向的动态内存,应使用语句()。 A.delete *p; B.delet
C  程序设计19春在线作业2-0003
试卷总分:100  得分:100
一、单选题 (共 20 道试题,共 60 分)
1.假定指针变量p定义“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句()。
A.delete *p;
B.delete &p;
C.delete p;
D.delete []p;
 
2.下面关于运算符重载的描述错误的是()。
A.重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构
B.不是所有的运算符都可以进行重载
C.运算符函数的调用必须使用关键字operator
D.在C++语言中不可通过运算符重载创造出新的运算符
 
3.类中定义的成员默认为()访问属性。
A.public
B.private
C.protected
D.friend
 
4.下列选项中,()是istream类的对象。
A.cin
B.cout
C.cerr
D.clog
 
5.析构函数是一种特殊的成员函数,显式定义时其访问属性应被定义为()。
A.public
B.private
C.protected
D.static
 
6.关于函数模板,描述错误的是()。
A.函数模板必须由程序员实例化
B.函数模板的实例化由编译器实现
C.一个类定义中,只要有一个函数模板,则这个类是类模板
D.若类模板的成员函数是函数模板,则类模板实例化后,成员函数也随之实例化
 
7.下列关于运算符重载的描述中,正确的是()。
A.可以改变运算符的目数
B.可以改变运算符的优先级
C.可以改变运算符的结合性
D.可以改变运算符的功能
 
8.面向对象程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。
A.对数据的操作
B.信息
C.数据隐藏
D.数据抽象
 
9.在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是()。
A.int Fun(int x){return x*x;}
B.inline int Fun(int x){return x*x;}
C.int inline Fun(int x){return x*x;}
D.int Fun(int x){inline return x*x;}
 
10.定义类模板时要使用关键字()。
A.const
B.new
C.delete
D.template
 
11.要将类A说明是类B的虚基类,正确的描述是()。
A.class virtual B:public A
B.class B:virtual public A
C.virtual class B:public A
D.class B:public A virtual
 
12.下列格式控制符中不是定义于iostream.h中的是()。
A.endl
B.hex
C.flush
D.setw
 
13.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是()。
A.公有类型
B.私有类型
C.保护类型
D.友元类型
 
14.()不是构造函数的特征。
A.构造函数的函数名与类名相同
B.构造函数可以重载
C.构造函数可以设置缺省参数
D.构造函数必须指定类型说明
 
15.当将一个类A说明为另一个类B的友元后,类A能够直接访问类B的()。
A.只能是公有成员
B.只能是保护成员
C.只能是除私有成员之外的任何成员
D.具有任何权限的成员
 
16.对于类定义 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
A.A::func2( )和B::func1( )都是虚函数
B.A::func2( )和B::func1( )都不是虚函数
C.B::func1( )是虚函数,而A::func2( )不是虚函数
D.B::func1( )不是虚函数,而A::func2( )是虚函数
 
17.在关键字public后面定义的成员为类的()成员。
A.公有
B.保护
C.私有
D.任何
 
18.在一个类的定义中,包含有数据成员和()的定义。
A.数据
B.函数
C.成员函数
D.友元
 
19.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,隐含的打开方式为()。
A.ios::in
B.ios::out
C.ios::in|ios::out
D.ios::binary
 
20.类模板的模板参数()。
A.只可作为数据成员的类型
B.只可作用成员函数的返回类型
C.只可作为成员函数的参数类型
D.以上三者皆可
 
二、判断题 (共 20 道试题,共 40 分)
21.C++利用类来实现面向对象程序设计的继承性。
 
22.如果一个类至少有一个虚函数,那么该类就被称为抽象类。
 
23.类中含有指针数据成员时,若不定义拷贝构造函数则会产生指针悬挂问题。
 
24.成员函数体写在类的外部时一定要在类的内部保留函数声明。
 
25.创建派生类对象时,先调用基类的构造函数,再调用派生类的构造函数,当销毁这个对象时顺序正好相反,先调用派生类的析构函数,再调用基类的析构函数。
 
26.操纵符hex、oct、dec只对下一个输出有效。
 
27.构造函数和析构函数既可以由程序员调用,也可以由系统自动调用。
 
28.拷贝构造函数使用本类对象的引用作为参数初始化新创建的对象。
 
29.在文件操作结束时,可以用close()成员函数关闭该文件。
 
30.当基类含有带参数的构造函数时,派生类可以不定义构造函数。
 
31.new和delete运算符不可以被重载。
 
32.构造函数和析构函数都不可以由程序员调用,只能由系统自动调用。
 
33.私有静态数据成员不能被类外部函数访问,也不能用对象进行访问。
 
34.指针是个变量,占有单独的内存空间,而引用本身不是变量,不单独占用内存空间。
 
35.文件流创建方式是打开二进制文件的是ios::binary。
 
36.常类型是指使用类型修饰符const说明的类型,常类型的变量或对象成员的值在程序运行期间是不可改变的。
 
37.可以在类的构造函数中对静态数据成员进行初始化。
 
38.this指针是一个const指针,不能在程序中修改它或给它赋值。
 
39.多态性是指不同的对象收到相同的消息时产生多种不同的行为方式。
 
40.二进制文件结束标志为EOF(即-1)。
 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关文章