面向对象技术课件第五章2.pptVIP

  • 4
  • 0
  • 约 37页
  • 2017-02-24 发布于湖北
  • 举报
第五章 派生类与继承 计算机系 本讲主要内容 多重继承的声明 多重继承时的构造与析构函数 虚基类 赋值兼容规则 程序举例 基类与派生类的对应关系 单继承 派生类只从一个基类派生。 多重继承 派生类从多个基类派生。 多重继承下派生类的定义——例4.12 class 派生类名:继承方式1 基类名1, 继承方式2 基类名2,…继承方式n 基类名n { //派生类新增成员定义; }; 在多继承情况下会有两种可能引起二义性的地方 (1)在两个或更多平行基类中出现同名成员,在派生类中或派生类对象访问该同名成员时会出现二义性(不确定性),这时可以在同名成员前用基类名加作用域标识符::的方法来解决。 (2)在多层派生中,当一个基类派生出若干平行子类,这些子类又作为更下层派生类的多个基类,则在第三层派生类中访问最上层基类中的成员时,将产生二义性,这时将最上层基类定义为虚基类就可解决。 第一种情况的二义性的解决方法 解决方法一:通过派生类对象调用同名成员时,在同名成员前用类名加作用域标识符来限定,形如:c1.A::f( ) 或 c1.B::f( ),这里类A、B为类C的共同基类,c1为类C的对象,访问同名成员f( )。 解决方法二:利用同名覆盖原则,在派生类中定义一个同名成员函数,在该函数中再根据需要调用基类中的同名函数,仍采用基类名::同名成员名的方法,这时派生类对

文档评论(0)

1亿VIP精品文档

相关文档