资源描述
长风破浪会有时,直挂云帆济沧海。 住在富人区的她 东北师范大学21春“计算机科学与技术”C+程序设计离线作业(一)辅导答案一.综合考核(共50题)1.C+利用类来实现面向对象程序设计的继承性。()A.错误B.正确参考答案:A2.构造函数是一种特殊的成员函数,显式定义时其访问属性应被定义为()。A.publicB.privateC.protectedD.static参考答案:A3.在C+中,构造派生类对象时,总是先从基类的初始化开始的。()A.错误B.正确参考答案:B4.new和delete运算符不可以被重载。()A.错误B.正确参考答案:A5.函数模板不可以重载。()A.错误B.正确参考答案:A6.打开一个文件,就是将这个文件与一个()建立关联。A.类B.流C.对象D.设备参考答案:B7.在下面有关友元函数的描述中,正确的说法是()。A.友元函数是独立于当前类的外部函数B.一个友元函数不能同时定义为两个类的友元函数C.友元函数必须在类的外部定义D.在外部定义友元函数时,必须加关键字friend参考答案:A8.假定classA为一个类,如果用户未定义析构函数,则系统为该类定义的默认析构函数为()。A.classAclassA()B.classAclassA()C.classAclassA(int=0)D.void classAclassA()参考答案:A9.在函数声明中,()是不必要的。A.函数名B.函数类型C.参数的名称D.参数类型参考答案:C10.假设A为抽象类,下列声明()是正确的。A.A fun(int)B.A *pC.int fun(A)D.A obj参考答案:B11.在I/O流库中定义的控制输出宽度的函数为()。A.width()B.fill()C.precision()D.setw()参考答案:A12.对于类中的对象成员既可以在构造函数的初始化列表中初始化也可以在构造函数体中初始化。()A.错误B.正确参考答案:A13.若左操作数为基本数据类型或其它类对象时,此运算符应以友元函数的方式重载。()A.错误B.正确参考答案:B14.建立包含有对象成员的派生类对象时,自动调用构造函数的执行顺序依次为()的构造函数。A.基类、自己所属类、对象成员所属类B.对象成员所属类、基类、自己所属类C.自己所属类、对象成员所属类、基类D.基类、对象成员所属类、自己所属类参考答案:D15.重载赋值操作符时,应声明为()函数。A.友元B.虚C.成员D.多态参考答案:C16.重载函数是基于不同的数据类型完成类似的操作,而函数模板则是对不同的数据类型完成相同的操作。()A.错误B.正确参考答案:B17.在多继承的构造函数的定义中,若干个基类的构造函数之间用()分隔开。A.B.:C.;D.,参考答案:D18.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是()。A.公有类型B.私有类型C.保护类型D.友元类型参考答案:D19.类对象的输入输出需在类中定义重载的提取运算符“”和插入运算符“A.错误B.正确参考答案:B20.输入输出特性是由C+本身提供的。()A.错误B.正确参考答案:A21.下面的叙述中,错误的是()。A.析构函数可以定义为虚函数B.构造函数可以定义为虚函数C.当基类的析构函数定义为虚函数时,其派生类的析构函数也一定是虚函数D.对虚析构函数的调用可以采用动态联编参考答案:B22.下面关于静态成员的描述中,正确的是()。A.静态数据成员是类的所有对象共享的数据B.类的每个对象都有自己的静态数据成员C.类的不同对象有不同的静态数据成员值D.静态数据成员不能通过类的对象访问参考答案:A23.构造函数是在()时被执行的。A.程序编译B.创建对象C.创建类D.程序装入内存参考答案:B24.一个类的友元一定是另一个类的成员函数。()A.错误B.正确参考答案:A25.下列关于动态联编的描述中,错误的是()。A.动态联编是以虚函数为基础的B.动态联编是在运行时确定所调用的函数代码的C.动态联编需要用指向对象对象的指针或引用来调用需函数D.动态联编是在编译时确定操作函数的参考答案:D26.若一个类A,它的两个直接基类是从同一个间接基类派生而来的,则类A对基类成员的访问会产生二义性。()A.错误B.正确参考答案:B27.可以在类的构造函数中对静态数据成员进行初始化。()A.错误B.正确参考答案:A28.指针和引用都是变量,都占有单独的内存空间。()A.错误B.正确参考答案:A29.假设已经有定义char*const name=“chen”; 下面的语句中正确的是()。A.name3=qB.name=“lin”C.name=new char5D.name=new char (q)参考答案:A30.在类定义体内,只有具有public访问属性的成员间可以相互访问。()A.错误B.正确参考答案:A31.下列说法正确的是()。A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline定义参考答案:B32.下面对类的构造函数的定义是() 。A.void XX(参数)B.XX(参数)C.int XX(参数)D.float XX(参数)参考答案:B33.当将一个函数f()说明为另一个类B的友元后,函数f()能够直接访问类B的()。A.只能是公有成员B.只能是保护成员C.只能是除私有成员之外的任何成员D.具有任何权限的成员参考答案:D34.下列语句中错误的是()。A.int *p=new int (10)B.int *p=new int10C.int *p=new intD.int *p=new int40(0)参考答案:D35.假设己经定义好了一个类student,现在要定义类derived,它是从student私有派生的,定义类derived的正确写法是()。A.class derived:student private/B.class derived:student public/C.class derived:private student/D.class derived:public student/参考答案:C36.C+中的函数就是面向对象理论中的消息。()A.错误B.正确参考答案:A37.下列描述中错误的是()。A.派生类至少有一个基类B.派生类可作为另一个类的基类C.派生类所继承的基类成员的访问权限保持不变D.派生类除了包含它直接定义的成员外,还包含基类的成员参考答案:C38.如有以下模板类定义:Template class sum Ta, b; Public: Sum (Tx, Ty); 则在类体外定义构造函数正确的是()。A.template sum:sum(Tx,Ty)a=x; b=y;B.template sum(Tx,Ty)a=x; b=y;C.template sum:sum(Tx, Ty)a=x; b=y;D.sum :sum(Tx,Ty)a=x; b=y;参考答案:C39.成员函数体写在类的外部时不必在类的内部保留函数声明。()A.错误B.正确参考答案:A40.下面对静态数据成员的描述中,正确的是()。A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被类的对象调用C.静态数据成员不能受private控制符的作用D.静态数据成员可以直接用类名调用参考答案:D41.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。A.iosinB.iosoutC.iosin|iosoutD.以上都不对参考答案:D42.get()和put()函数的功能是一次读写一个字符,而read()和write()函数是一次读写一个数据块。()A.错误B.正确参考答案:B43.构造函数和析构函数都可以是虚函数。()A.错误B.正确参考答案:A44.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,隐含的打开方式为()。A.iosinB.iosoutC.iosin|iosoutD.iosbinary参考答案:A45.下列关于纯虚函数的描述中,正确的是()。A.纯虚函数是一种特殊的虚函数,它是个空函数B.具有纯虚函数的类称为虚基类C.一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数D.具有纯虚函数的类不能创建类对象参考答案:D46.下面对类的析构函数的定义是() 。A.XX(参数)B.void XX(参数)C.void XX()D.XX()参考答案:A47.函数重载与运算符重载都是编译时的多态。()A.错误B.正确参考答案:B48.成员函数体可以写在类的内部也可以写在类的外部。()A.错误B.正确参考答案:B49.下列对模板的声明错误的是()。A.template class T1,typename T2B.template class T1,T2C.template typename TD.template class T1,class T2,class T3参考答案:B50.cout通常与显示器相连,cin通常与键盘相连。()A.错误B.正确参考答案:B
展开阅读全文