欢迎来到天天文库
浏览记录
ID:59608110
大小:40.47 KB
页数:14页
时间:2020-11-14
《C++习题3(继承和多态).docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、习题3一、选择题1.在C++中,类与类之间的继承关系具有(C)A)自反性B)对称性C)传递性D)反对称性2.在公有继承的情况下,基类的成员(私有的除外)在派生类中的访问权限(B)A)受限制B)保持不变C)受保护D)不受保护3.按解释中的要求在下列程序划线处填入的正确语句是:(C)#includeclassBase{public:voidfun(){cout<<"Base::fun"<2、(){数fun()//在此空格处调用基类的函cout<<"Derived::fun"<fun();4.在保护继承的情况下,基类的成员(私有的除外)在派生类中的访问权限(C)A)受限制B)保持不变C)受保护D)不受保护5.在哪种派生方式中,派生类可以访问基类中的protected成员(B)A)public和privateB)public、protected和privateC)protecte3、d和privateD)仅protected6.当一个派生类仅有protected继承一个基类时,基类中的所有公有成员成为派生类的(C)A)public成员B)private成员C)protected成员D)友元7.不论派生类以何种方法继承基类,都不能使用基类的(B)A)public成员B)private成员C)protected成员D)public成员和protected成员8下面叙述错误的是(S)。A)基类的protected成员在派生类中仍然是protected的B)基类的protected成员4、在public派生类中仍然是protected的C)基类的protected成员在private派生类中是private的D)基类的protected成员不能被派生类的对象访问9.下列说法中错误的是(S)。A)保护继承时基类中的public成员在派生类中仍是public的B)公有继承时基类中的private成员在派生类中仍是private的C)私有继承时基类中的public成员在派生类中是private的D)保护继承时基类中的public成员在派生类中是protected的10下面叙述错误的是(C)5、。A)派生类可以使用private派生B)对基类成员的访问必须是无二义性的C)基类成员的访问能力在派生类中维持不变D)赋值兼容规则也适用于多继承的组合11派生类的构造函数的成员初始化列表中,不能包含(C)。A)基类的构造函数B)派生类中子对象的初始化C)基类中子对象的初始化D)派生类中一般数据成员的初始化12.下列虚基类的声明中,正确的是:(B)A)classvirtualB:publicAB)classB:virtualpublicAC)classB:publicAvirtualD)virtual6、classB:publicA13..实现运行时的多态性采用(D)A)重载函数B)构造函数C)析构函数D)虚函数14.若一个类中含有纯虚函数,则该类称为(D)A)基类B)纯基类C)派生类D)抽象类15.假设A为抽象类,下列声明(B)是正确的A)Afun(int);B)A*p;C)intfun(A);D)AObj;16.在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值(B)A)不同B)相同C)相容D)部分相同17.下面函数原型声明中,(C)声明了fun为普通虚函7、数A)voidfun()=0;B)virtualvoidfun()=0;C)virtualvoidfun();D)virtualvoidfun(){};18.在下面四个选项中,(A)是用来声明虚函数的。19.实现运行时的多态性要使用(D)。A)重载函数B)构造函数C)析构函数D)虚函数20.关于虚函数的描述中,正确的是(D)。A)虚函数是一个静态成员函数B)虚函数是一个非成员函数C)虚函数既可以在函数说明时定义,也可以在函数实现时定义D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型二、8、填空题:1.派生类对基类的继承有三种方式:_public___、_protected___和__private___。2.如果类Alpha继承了类Beta,则类Alpha称为__派生__类,类Beta称为__基_类。3.设置虚基类的目的是为了消除二义性,可通过_virtual标识虚基类。4.类继承中,缺省的继承方式是__private_________。5.当用protected继承从基类派生→个类时,基类的public成员成为派生类的_protected___
2、(){数fun()//在此空格处调用基类的函cout<<"Derived::fun"<fun();4.在保护继承的情况下,基类的成员(私有的除外)在派生类中的访问权限(C)A)受限制B)保持不变C)受保护D)不受保护5.在哪种派生方式中,派生类可以访问基类中的protected成员(B)A)public和privateB)public、protected和privateC)protecte
3、d和privateD)仅protected6.当一个派生类仅有protected继承一个基类时,基类中的所有公有成员成为派生类的(C)A)public成员B)private成员C)protected成员D)友元7.不论派生类以何种方法继承基类,都不能使用基类的(B)A)public成员B)private成员C)protected成员D)public成员和protected成员8下面叙述错误的是(S)。A)基类的protected成员在派生类中仍然是protected的B)基类的protected成员
4、在public派生类中仍然是protected的C)基类的protected成员在private派生类中是private的D)基类的protected成员不能被派生类的对象访问9.下列说法中错误的是(S)。A)保护继承时基类中的public成员在派生类中仍是public的B)公有继承时基类中的private成员在派生类中仍是private的C)私有继承时基类中的public成员在派生类中是private的D)保护继承时基类中的public成员在派生类中是protected的10下面叙述错误的是(C)
5、。A)派生类可以使用private派生B)对基类成员的访问必须是无二义性的C)基类成员的访问能力在派生类中维持不变D)赋值兼容规则也适用于多继承的组合11派生类的构造函数的成员初始化列表中,不能包含(C)。A)基类的构造函数B)派生类中子对象的初始化C)基类中子对象的初始化D)派生类中一般数据成员的初始化12.下列虚基类的声明中,正确的是:(B)A)classvirtualB:publicAB)classB:virtualpublicAC)classB:publicAvirtualD)virtual
6、classB:publicA13..实现运行时的多态性采用(D)A)重载函数B)构造函数C)析构函数D)虚函数14.若一个类中含有纯虚函数,则该类称为(D)A)基类B)纯基类C)派生类D)抽象类15.假设A为抽象类,下列声明(B)是正确的A)Afun(int);B)A*p;C)intfun(A);D)AObj;16.在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值(B)A)不同B)相同C)相容D)部分相同17.下面函数原型声明中,(C)声明了fun为普通虚函
7、数A)voidfun()=0;B)virtualvoidfun()=0;C)virtualvoidfun();D)virtualvoidfun(){};18.在下面四个选项中,(A)是用来声明虚函数的。19.实现运行时的多态性要使用(D)。A)重载函数B)构造函数C)析构函数D)虚函数20.关于虚函数的描述中,正确的是(D)。A)虚函数是一个静态成员函数B)虚函数是一个非成员函数C)虚函数既可以在函数说明时定义,也可以在函数实现时定义D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型二、
8、填空题:1.派生类对基类的继承有三种方式:_public___、_protected___和__private___。2.如果类Alpha继承了类Beta,则类Alpha称为__派生__类,类Beta称为__基_类。3.设置虚基类的目的是为了消除二义性,可通过_virtual标识虚基类。4.类继承中,缺省的继承方式是__private_________。5.当用protected继承从基类派生→个类时,基类的public成员成为派生类的_protected___
此文档下载收益归作者所有