如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
题型与考点复习一.选择题(20题,共30分)作用域运算符的功能设置虚基类的目的构造函数的特征析构函数的说法重载函数在调用时选择的依据静态成员的特性友元派生类的描述运算符在C++中不能被重载?动态联编的描述纯虚函数和抽象类的描述抽象类的使用delete删除一个动态对象new运算符的下列描述C++与C语言关系的描述类定义中,错误的语句书3.1.1(7)自动调用该类构造函数次数静态数据成员的描述派生类的描述派生类的构造函数的初始化列表中,不能包含虚基类的声明赋值兼容规则虚函数纯虚函数表述抽象类表述重载运算符函数成员函数重载的运算符、友元函数重载的运算符关键字class和typename类模板表述重载了运算符<<书7.2节语句ofstream()f二.填空题(15空,共30分)标准输入输出流对象cincout类中的数据和成员函数类都有一个隐含的指针指向:正在调用成员函数的对象非成员函数访问类成员虚基类的目的:解决二义性问题基类数据成员的初始化operator++运算符函数调用格式异常处理的保留字异常错误处理函数terminate()、set_terminate()三.程序的执行、填空(4题,共20分)四.编程题(3小题,共20分)例题一.选择题1.如果表达式++i*k中的“++”和“*”都是重载的友元运算符,若采用运算符函数调用格式,则表达式还可以表示为A。A.operator*(i.operator++(),k)B.operator*(operator++(i),k)C.i.operator++().operator*(k)D.k.operator*(operator++(i))2.在下列成对的表达式中,运算符“/”的意义相同的一对是D。A.8/3和8.0/3.0B.8/3.0和8/3C.8.0/3和8/3D.8.0/3.0和8.0/33.如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式时,该表达式应表示为C。A.x.operator++(0).operator*(y)B.operator*(x.operator++(0),y)C.y.operator*(operator++(x,0)参考书例6.8D.operator*(operator++(x,0),y)4.C++流中重载了运算符<<,它是一个D。A.用于输出操作的成员函数B.用于输入操作的成员函数C.用于输入操作的非成员函数D.用于输出操作的非成员函数二.填空题1.面向对象的程序设计的三大特征继承性、封装性和多态性。2.类中成员的组成包含哪两个部分数据成员、成员函数3表达式x=operator-(y,z)还可以表示为x=y-z。4.定义Student类的后自增运算符++的重载语法格式为Studentoperator++(int);。5.已知intDBL(intn){returnn+n;}和longDBL(longn){returnn+n;}是一个函数模板的两个实例,则该函数模板的定义是template<typenameT>TDBL(Tn){returnn+n;}6.如果表达式x=y*z中的“*”是作为成员函数重载的运算符,采用运算符函数调用格式时,该表达式应表示为x=y.operator*(z)7.表达式operator++(x,可以表示为int)x++三.程序的执行、填空1.构造函数与析构函数的调用2.例3.153.第六章习题5当ch==’u’时的运行结果和当ch==’f’时的运行结果4.例6.1(代码填空)#include<iostream.h>classRMB{public:RMB(unsignedintd,unsignedintc);RMBoperator+(RMB&);//声明运算符函数,重载+,只有一个参数RMB&operator++();//声明运算符函数,重载++,无参数voiddisplay(){cout<<(yuan+jf/100.0)<<endl;}protected:unsignedintyuan;unsignedintjf;};RMB::RMB(unsignedintd,unsignedintc){yuan=d;jf=c;while(jf>=100){yuan++;jf-=100;}}RMBRMB::operator+(RMB&s)//定义运算符函数{unsignedin