1/8计算机系《面向对象程序设计》期末考试试卷(A卷)此试卷适用专业:计算机本科专业得分一、填空题:(30分,每空2分)阅卷教师1、使用cin和cout进行输入输出操作的程序必须包含头文件__iostream_______,其语句格式为____#include______。2、信息隐藏是指将对象的___数据和操作______隐藏起来的技术。3、C++的类的作用有__________和___________机制。4、类的对象成员的构造函数的调用次序取决于这些对象成员___在类中声明_的次序,与它们在初始化列表中出现的次序无关。5、类的缺省访问控制是________。6、__类__是构造面向对象程序的基本单位。7、_构造函数__是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。7、一个非成员函数必须声明为一个类的friend_才有可能存取该类的私有数据成员。8、联编是指将函数调用与相应函数体代码彼此关联的过程。若此过程在程序开始运行前的编译时完成,则称之为__静态连编__联编。9、有如下函数原型说明∶staticintfunction(int*para_one,float¶_two);则参数para_one的传递方式是__按值传递__,para_two的传递方式是__引用传递__。10、动态创建对象由_new_操作实现,释放对象单元由_delete_操作实现。1、C++对C语言作了很多改进,下列描述中(D)使得C语言发生了质变,即从面向过程变成了面向对象。A、增加了一些新的运算符B、允许函数重载,并允许设置默认参数C、规定函数说明必须用原型D、引进了类和对象的概念B2、如果运行环境中int类型长度为2字节,对于以下声明的类A,sizeof(A)的值B为多少。classA{public:intget();voidset();private:staticintstd;intmax,min;};A、2B、4C、6D、83、什么样的成员函数不能修改数据成员?(C)得分二、选择题:(15分,每小题1分)阅卷教师—————————————装——————————————订———————————————线————————————2/8A、私有成员函数B、公有成员函数C、常量成员函数D、所有成员函数4、可以被对象之外访问的成员是(B)A、私有成员函数B、公有成员函数C、常量成员函数D、所有成员函数5、类的实例化是指(A)A、创建类对象B、定义类C、调用类的成员D、指明具体的类6、类的构造函数的作用是(C)A、一般成员函数B、类的初始化C、对象的初始化D、删除对象7、类的构造函数是在什么时间被自动调用的?(B)A、类创建时B、创建对象时C、删除对象时D、不自动调用8、类的析构函数的作用是(D)A、一般成员函数B、类的初始化C、对象的初始化D、删除类创建的所有对象9、类的析构函数是在什么时间被自动调用的?(C)A、类创建时B、创建对象时C、删除对象时D、不自动调用10、一段程序的定义为classA{intn;public:setn(intn1){n=n1;}A(intx){n=x;}};intf(){A*ptr=newA(45);⋯}在函数f()中将动态对象的成员n的值改为34的语句应该为(C)A、A(34);B、ptr.setn(34);C、ptr->setn(34);D、setn(34);11、多重继承是(B)。A、多个单一继承的叠加B、导出类有多个直接基类C、多个导出类有唯一的基类D、每个导出类最多只有一个直接基类,但它可以有多个间接基类12、下列定义的类中,哪个更有意义?(C)A、classA1{intx;};B、classA2{intx,y;A2(){x=y=0;}};C、classA3{intx;public:A3(intn){x=n;}};D、classA4{charc;A4(charc1){c=c1;}};13、关于虚函数,正确的描述是(A)A、构造函数不能是虚函数B、析构函数不能是虚函数C、虚函数可以是友元函数D、虚函数可以是静态成员函数14、要实现动态联编,派生类中的虚函数(D)A.返回的类型可以与虚函数的原型不同B.参数个数可以与虚函数的原型不同C.参数类型可以与虚函数的原型不同D.以上都不对—————————————装——3/815、有关运算符重载正确的是(D)A.C++语言允许在重载运算符时改变运算符的操作个数B.C++语言允许在重载运算符时改变运算符的优先级C.C++语言允许在重载运算符时改变运算符的结合性D.C++语言允许在重载运算符时改变运算符的原来的功能得分三、阅读程序写结果:(25分,每小题5分)阅卷教师1、classA{intx;public:A(inta){x=...