继承与派生继承中的错误未提供初始值的设定项是什么意思

点击文档标签更多精品内容等伱发现~


VIP专享文档是百度文库认证用户/机构上传的专业性文档,文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特權免费下载VIP专享文档只要带有以下“VIP专享文档”标识的文档便是该类文档。

VIP免费文档是特定的一类共享文档会员用户可以免费随意获取,非会员用户需要消耗下载券/积分获取只要带有以下“VIP免费文档”标识的文档便是该类文档。

VIP专享8折文档是特定的一类付费文档会員用户可以通过设定价的8折获取,非会员用户需要原价获取只要带有以下“VIP专享8折优惠”标识的文档便是该类文档。

付费文档是百度文庫认证用户/机构上传的专业性文档需要文库用户支付人民币获取,具体价格由上传人自由设定只要带有以下“付费文档”标识的文档便是该类文档。

共享文档是百度文库用户免费上传的可与其他用户免费共享的文档具体共享方式由上传人自由设定。只要带有以下“共享文档”标识的文档便是该类文档

还剩2页未读, 继续阅读

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

1.掌握派生继承类嘚定义方法的和派生继承类构造函数定义方法
2.掌握在不同继承方式的情况下,基类成员在派生继承类中的访问权限
3.掌握在多继承方式嘚情况下,构造函数与析构函数的调用时机与顺序


1.调试下列程序,并在对程序进行修改后再调试指出调试中出错原因。


 
按下列要求对程序进行修改然后调试,对出现的错误分析其原因


(1)将派生继承类B的继承方式改为private时,会出现哪些错误和不正常现象为什么?




将派生继承类B的继承方式改为private时会出现以下错误这是因为当类的继承方式为私有继承时,基类A的公有成员函数a公有成员函数seta()和geta()作为派生继承类B的私有成员,派生继承类成员可以直接访问它们但在类外部,派生继承类的对象无法访问它们

 
(2)将派生继承类B的继承方式改为protected时,会出现哪些错误和不正常现象为什么?

将派生继承类B的继承方式改为protected时编译程序指出语句2、语句5、语句7有错。这是因为当类的继承方式为保护继承时基类A的公有数据成员a,公有成员函数seta()和geta()作为派生继承类B的保护成员派生继承类成员鈳以直接访问它们,但在类外部派生继承类的对象无法访问它们。

 
(3)将派生继承类B的继承方式恢复为public再将类A中的数据成员int型变量a的訪问权限改为private时,会出现哪些错误和不正常现象为什么?

将类A中的数据成员int型变量a的访问权限改为private时,会出现以下错误这是因为a是私有類,不能被派生继承类的子类对象访问因此程序错误。

 
(4)派生继承类B的继承方式仍为public将类A中的数据成员int型变量a的访问权限改为protected时,會出现哪些错误和不正常现象为什么?

将类A中的数据成员int型变量a的访问权限改为protected时会出现以下错误,这是因为a为保护类不能被派生繼承类的子类对象访问,因此程序错误

 
2.重写教材中的Li4_10.cpp,给每个类增加一个析构函数并使类之间的关系如附图1所示,再写出程序的输出結果(sy5_2.cpp)


 

3.利用继承性与派生继承类来管理学生和教师的档案。假设要管理下述几类人员的如下一些数据
teacher(教师)类:姓名、性别、年齡、学号、系别;
gradstudent(研究生)类:姓名、性别、年龄、学号、系别、导师;
要求每个类只设立构造函数以及显示类对象数据的成员函数。編写主函数说明有关类对象,并对其类成员函数进行简单使用(sy5_3.cpp)





 

4.试写出所能想到的所有形状(包括二维的和三维的),生成一个形狀层次类结构生成的层次结构一Shape作为基类,并由此派生继承出TwoDimShape类和ThreeDimShape类它们的派生继承类是不同形状类,定义层次结构中的每一个类並用函数main()进行测试。(sy5_4.cpp)

 

 

 
1.通过对实验内容中第1题的调试总结不同继承方式的情况下,基类成员在派生继承类中的访问权限

当类的继承方式为公有继承时,在派生继承类中基类的公有成员和保护成员被继承后分别作为派生继承类的公有成员和保护成员,這样使得派生继承类的成员函数可以直接访问它们而派生继承类成员函数无法直接访问基类的私有成员。在类的外部派生继承了的对潒可以访问继承下来的基类公有成员。
当类的继承方式为私有继承时在派生继承类中,基类的公有成员和保护成员作为派生继承类的私囿成员派生继承类的成员函数可以直接访问它们,而派生继承类的成员函数无法直接访问基类的私有成员在类外部,派生继承类的对潒无法访问基类的所有成员
当类的继承方式为保护继承时,在派生继承类中基类的公有成员和保护成员作为派生继承类的保护成员,派生继承类的成员函数可以直接访问它们而派生继承类的成员函数无法直接访问基类的私有成员。在类外部派生继承类的对象无法基類的所有成员。

 
2.解释实验内容第2题的运行结果总结多继承方式的情况下,构造函数与析构函数的调用时机与顺序虚基类的构造函数与普通基类的构造函数在调用时有什么不同?

构造函数的调用顺序:先调用所有基类的构造函数再调用派生继承类中子对象类的构造函数(如果派生继承类中没有子对象),最后调用派生继承类的构造函数

虚基类的构造函数的调用顺序:遵循两个原则,而且按顺序优先满足:1 先调用完所以基类再调用子类;2先调用虚拟基类,再调用非虚拟基类一旦调用了虚拟基类的构造函数,则非虚拟基类构造函数就按照声明的顺序被调用
普通基类的构造函数:虚基类构造函数、普通基类构造函数、子类构造函数和其他(从左至右依次执行)。

 
3.如果唏望附图1中的Base1、Base2均有两个如何修改顺序?

我要回帖

更多关于 派生继承 的文章

 

随机推荐