欢迎来到天天文库
浏览记录
ID:37916974
大小:87.50 KB
页数:10页
时间:2019-06-02
《C++继承与派生类习题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第九章继承与派生类9.2典型例题分析与解答例题1:下列对派生类的描述中,( )是错误的。A. 一个派生类可以作为另一个派生类的基类B. 派生类至少有一个基类C. 派生类的成员除了它自己的成员外,还包含了它的基类成员D. 派生类中继承的基类成员的访问权限到派生类保持不变答案:D分析:一个派生类可以作为另一个派生类的基类。无论是单继承还是多继承,派生类至少有一个基类。派生类的成员除了它自己的成员外,还包含了它的基类成员。派生类中继承的基类成员的访问权限到派生类受继承方式影响的,对于私有继承,基类的publi
2、c,protected成员在派生类中作为private成员;对于公有继承,基类的public,protected成员在派生类中访问属性不变;对于保护继承,基类的public、protected成员在派生类中作为protected成员。例题2:派生类的对象对它的哪一类基类成员是可以访问的?( ) A.公有继承的基类的公有成员 B.公有继承的基类的保护成员 C.公有继承的基类的私有成员 D.保护继承的基类的公有成员答案:A分析:公有继承的基类的公有成
3、员在派生类中保持公有访问权限,所以派生类对象可以访问它;公有继承的基类的保护成员在派生类中保持保护访问权限,所以派生类对象不可以访问它;基类的私有成员不能被派生到派生类中,所以派生类对象不可以访问它;保护继承的基类的公有成员在派生类中变成保护的访问权限,所以派生类对象不可以访问它。 例题3:关于多继承二义性的描述,( )是错误的。A. 派生类的多个基类中存在同名成员时,派生类对这个成员访问可能出现二义性B. 一个派生类是从具有共同的间接基类的两个基类派生来的,派生类对该公共基类的访问可能出现二义性C. 解
4、决二义性最常用的方法是作用域运算符对成员进行限定D. 派生类和它的基类中出现同名函数时,将可能出现二义性答案:D分析:出现二义性有两种情况:调用不同基类的相同成员时可能出现二义性;访问共同基类的成员时可能出现二义性。消除二义性的方法是采用作用域运算符。派生类和它的基类中出现同名函数时,不可能出现二义性。 例题4:多继承派生类构造函数构造对象时,( )被最先调用。A.派生类自己的构造函数 B.虚基类的构造函数C.非虚基类的构造函数 D.派生类中子对象类的构造函数答案:B分析:多
5、继承派生类构造函数构造对象时,构造函数的调顺序是:虚基类的构造函数,派生类中子对象类的构造函数, 派生类自己的构造函数。 例题5: C++类体系中,能被派生类继承的是( )。A.构造函数 B.虚函数 C.析构函数 D.友元函数答案:B分析:C++类体系中,构造函数、析构函数和友元函数是不能被派生类继承的. 例题6:设有基类定义:classCbase{ private:inta; protected:intb; public:intc;};派生类采用何种继承方式可以使成员变量b成
6、为自己的私有成员( )A. 私有继承 B.保护继承C. 公有继承 D.私有、保护、公有均可答案:A分析:私有继承时,基类的protected成员在派生类中作为private成员。 例题7:C++将类继承分为 (1) 和 (2) 两种。答案:(1)单继承 (2)多继承分析:派生类可以只从一个基类中派生,也可以从多个基类中派生。从一个基类中派生的继承方式称为单继承。从多个基类中派生的继承方式称为多继承。 例题8:派生类
7、可以定义其_______________中不具备的数据和操作。答案:基类分析:派生类是从基类派生的,派生类包含了它所有基类的除构造函数、析构函数之外的所有成员,同时还拥有它自己的新成员。 例题9:派生类构造函数的初始化列表中包含____________________________。答案:初始化基类数据成员、新增内嵌对象数据及新增一般成员数据所需要的全部参数。 例题10:在继承机制下,当对象消亡时,编译系统先执行 (1) 的析构函数,然后才执行 (2) 的析构函数,最后执行 (3) 的析构函
8、数。答案:(1)派生类 (2)派生类中子对象类 (3)基类分析:派生类的析构函数的执行次序与构造函数正好相反,先调用派生类的析构函数,再调用派生类中子对象类的析构函数,最后调用基类的析构函数。 例题11:设有以下类的定义:classA classB:protectedA classC:priv
此文档下载收益归作者所有