编程语言基础——c++教学课件作者刘炳松模块8.pptVIP

  • 5
  • 0
  • 约1.12万字
  • 约 94页
  • 2019-10-14 发布于广东
  • 举报

编程语言基础——c++教学课件作者刘炳松模块8.ppt

任务4多继承 上一页 下一页 返回 任务4多继承 运行结果: A::show()A中i=1 B::show()B中i=2 C::show()C中i=3 上一页 返回 任务5派生关系中的二义性 继承和派生把不同的类联系到一起,这里就产生了一个同名成员的处理问题,下面我们分几种情形来介绍。 8. 5. 1单一继承时基类与派生类间重名成员的处理 单一继承(只有一个基类)时,若基类与派生类的成员重名,则按如下规定进行处理:对派生类而言(在派生类定义范围内以及通过派生类对象访问重名成员时),不加类名限定时默认为是处理派生类成员,而要访问基类重名成员时,则要通过类名限定。 下一页 返回 任务5派生关系中的二义性 例如基类CB有保护数据成员int a;有公有函数成员void show( void){}。而CB的派生类CD-也有自己的数据成员int a,和函数成员void show( void){};这时通过CD的对象CDobj来引用它们: CDobj. a,CDobj. show() 这里用的是派生类CD自己的成员a和show。如果需要引用从CB中继承过来的成员a和show ( ),则还需加上类限定符: CDobj. CB::a,CDobj. CB::show() 从而避免了二义性。 下面看一个简单例子。 上一页 下一页 返回 任务5派生关系中的二义性 上一页 下一页

文档评论(0)

1亿VIP精品文档

相关文档