cprimer学习笔记面向对象编程.docxVIP

  • 0
  • 0
  • 约3.63千字
  • 约 7页
  • 2021-01-02 发布于天津
  • 举报
之所以成通过继承而相关联的类型为多态类型,是因为许多情 况下可以互换地使用派生类型或基类型的许多形态。 在 c++ 中, 多态性仅应用于通过继承而相关联的 类型的引用或指针。 在 C++ 中,通过基类的引用(或指针)调用虚函数时,发 生动态绑定 。引用(或指针)既可以指向基类对象也可以指 向派生类对象 ,这一事实是动态绑定的关键。用引用(或指 针)调用的虚函数在运行时确定,被调用的函数是引用(或 指针)所指对象的实际类型所定义的。 基类要定义虚析构函数 除了构造函数以外任意非 static 函数都可以是虚函数。派生 类不能访问基类的 private 成员。 Protected 成员能被派生 类的成员函数访问不能被友元访问 。 派生类中虚函数的声明必须与基类中的定义方式完全匹配,但 有一个例外:返回对基类型的引用(指针)的虚函数, 派生类 中的虚函数可以返回基类函数所返回类型的派生类的引用(指 针)。 动态绑定的两个条件: 1 虚函数 2 用基类的引用或者指针进 行调用。 只有成员函数 中的代码才能通过作用域操作符覆盖 虚函数机制。覆盖很多时候因为很多派生类要先完成基类版 本中的工作再额外完成其他工作。派生类版本的虚函数调用 基类版本时必须指定作用域, 不然会递归!!! 在同一虚函数的基类版本和派生版本中使用不同的默认实参几 乎一定会引起麻烦。如果通过引用或者指针调用虚函数,但在 实

文档评论(0)

1亿VIP精品文档

相关文档