电子科技大学网络教育考卷范文.docx
- 文档编号:28091632
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:20
- 大小:20.34KB
电子科技大学网络教育考卷范文.docx
《电子科技大学网络教育考卷范文.docx》由会员分享,可在线阅读,更多相关《电子科技大学网络教育考卷范文.docx(20页珍藏版)》请在冰豆网上搜索。
电子科技大学网络教育考卷范文
电子科技大学网络教育考卷(C卷)
(20年至20学年度第学期)
考试时间年月日(120分钟)课程C++语言教师签名_____
大题号一二三四五六七八九十合计
得分
一、单项选择题(每小题1分,共30分)
1、下列运算符中______①________可以进行运算符重载。
①new②:
:
③sizeof④?
:
2、在一个派生类对象结束其生命周期时_______①_______。
①先调用派生类的析构函数后调用基类的析构函数
②先调用基类的析构函数后调用派生类的析构函数
③如果基类没有定义析构函数,则只调用派生类的析构函数
④如果派生类没有定义析构函数,则只调用基类的析构函数
3、下面关于C++函数的说明中,正确的是______③________。
①内联函数就是定义在另一个函数体内部的函数
②函数体的最后一条语句必须是return语句
③标准C++要求在调用一个函数之前,必须先声明其原型
④编译器只根据函数的返回值类型来区分函数的不同重载形式
4、由于常对象不能被更新,因此______①________。
①通过常对象只能调用它的常成员函数
②通过常对象只能调用静态成员函数
③常对象的成员都是常成员
④通过常对象可以调用任何不改变对象值的成员函数
5、下列关于虚函数的说明中,正确的是_______②_______。
①从虚基类继承的函数都是虚函数
②虚函数不能是静态成员函数
③只能通过指针或引用调用虚函数
④抽象类中的成员函数都是虚函数
6、运算符重载是对已有的运算符赋予多重含义,因此_______③_______。
①可以对基本类型(如int类型)的数据,重新定义“+”运算符的含义
②可以改变一个已有运算符的优先级和操作数个数
③只能重载C++中已经有的运算符,不能定义新运算符
④C++中已经有的所有运算符都可以重载
7、模板对类型的参数化提供了很好的支持,因此_______②_______。
①类模板的主要作用是生成抽象类
②类模板实例化时,编译器将根据给出的模板实参生成一个类
③在类模板中的数据成员都具有同样类型
④类模板中的成员函数都没有返回值
8、下面关于C++流的说明中,正确的是_______①_______。
①与键盘、屏幕、打印机和通信端口的交互郡可以通过流类来实现
②从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作
③cin是一个预定义的输入流类
④输出流有一个名为open的成员函数,其作用是生成一个新的流对象
9、有如下类声明:
classA{intx;};则A类的成员x是_______③_______。
①公有数据成员②公有成员函数③私有数据成员④私有成员函数
10、有如下函数模板定义:
template
Tf(Tx,Ty){returnx*x+y*y;}
在下列对f的调用中,错误的是_______③_______。
①f(3,5);②f(3.0,5.5);③f(3,5.5);④f
11、在下列函数原型中,可以作为类A构造函数的是_______④_______。
①voidA(int);②intA();③A(int)const;④A(int);
12、下列关于类的描述中,错误的说法是_______③_______。
①类是一组对象的模板②类是数据和操作的封装体
③类是对象的实例④类是一种自定义的数据类型
13、关于下面程序的叙述中,正确的是________③______。
#include
classA
{private:
voidf(){cout<<"A";}
friendclassB;
};
classB
{private:
voidg(){cout<<"B";}
friendclassC;
friendvoidt();
};
classC
{public:
voidh(){Aa;a.f();}
};
voidt(){Bb;b.g();}
voidmain()
{Cc;c.h();t();cout< ①类B是类A的友元,所以类A中的成员函数可以直接访问类C中的任何成员 ②类B是类C的友元,所以类B中的成员函数可以直接访问类C中的任何成员 ③在编译时,语句“a.f();”会出错 ④函数t()是类B的成员函数,所以它可以直接访问类B中的任何成员 14、下列说法正确的是______③________。 ①定义构造函数必须指出其返回类型,并且不允许重载构造函数 ②静态数据成员可以在类体中、类体外被初始化,但无需通过构造函数 ③默认构造函数是不接受实参的函数,并且能由系统自动生成 ④在创建一个新的类对象时,系统会为它的所有成员分配一块存储空间 15、constA*p;以下声明的含义是_______①_______。 ①p是指向类A常对象的指针,该指针指向的对象是常量 ②p是指向类A对象的指针 ③p是指向类A常成员的指针 ④p是指向类A对象的常指针,该指针值是常量 16、关于下面程序的叙述中,正确的是_______①_______。 #include classA {voidf(){cout<<"A";} friendclassC; }; classB {voidg(){cout<<"B";} friendclassC; }; classC {public: voidh(){Aa;Bb;a.f();b.g();} }; voidmain() {Cc;c.h();cout< ①该程序能正确运行,运行后的输出结果是: AB ②函数f()是类A的公有成员函数 ③类A和类B都是类C的友元,但类C不是类A和类B的友元 ④类A中的成员函数可以直接访问类C中的任何成员 17、#include"iostream.h" classA {public: virtualvoidwho()=0; }; classB: publicA {public: voidwho(){cout<<"1";} }; classC: publicA {public: voidwho(){cout<<"2";} }; voidmain() {A*p;Bb;Cc; p=&b;p->who(); p=&c;p->who(); cout< } 上面程序运行后的输出结果是_______②_______。 ①11②12③21④22 18、下列运算符中不能重载的是_______①_______。 ①: : ②+③<<④&& 19、下列关于运算符重载的描述中,正确的是_______①_______。 ①不能改变运算符的优先级 ②能够改变操作数的数目 ③能够重载内嵌类型的运算符的预定含义 ④通过重载运算符“()”能够改变运算符的结合性 20、下列运算符重载时,只能采用类成员函数形式的有______③________。 ①<<②+③[]④== 21、下面程序运行后的输出结果是_______①_______。 #include inta[]={1,2,3,4,5}; int&f(inti){returna[i];} voidmain() {f (2)=6;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子科技大学 网络 教育 考卷 范文
![提示](https://static.bdocx.com/images/bang_tan.gif)