cpp09-多态性--虚函数.pptVIP

  • 2
  • 0
  • 约 59页
  • 2017-01-06 发布于北京
  • 举报
计算机学院 计算机网络与信息安全研究室 张荣博 第8章 多态性---虚函数 多态的实现 多态的分类: 重载多态 – 通过函数重载来实现(包括运算符重载) 强制多态 – 通过强制类型转换实现。 包含多态 – 通过虚函数来实现。 参数多态 – 通过模板来实现。(也叫泛型编程) 多态的实现 多态的实现 编译时多态 运行时多态 静态绑定与动态绑定 类型兼容规则 2.派生类的对象可以初始化基类的引用。 derived d; //派生类对象 base br=d; 3.派生类对象的地址可以赋给基类的指针。 derived d; //派生类对象 base *pb=d; 4.基类对象的地址不可以赋给派生类的指针。 base b; //基类对象 derived *pd=b; //error 类型兼容规则举例 继承召唤多态 虚函数 例题 虚函数实现多态的原理 避免误用虚函数 虚函数使用的限制 只有类的成员函数才可以说明为虚函数(因为虚函数仅适用于有继承关系的类对象)。 静态成员函数不能是虚函数(因为静态函数不受限于某个对象)。 内联函数不能是虚函数。因为内联函数是不能在运行中动态确定其位置的,如使虚函数在类内部实现,内联函数将失去其内联性。 构造函数不能是虚函数,因为构造时,对象还没有确定空间。 析构函数通常声明为虚函数,主要原因是防止内存无法释放。 虚析构函数 在析构函数前

文档评论(0)

1亿VIP精品文档

相关文档