说明:

  • 函数调用的本质——通过函数名和参数调用

  • 对于类对象中函数的使用,由于对象的地址作为一个参数而传递进其内部的成员函数中,故而自带this指针

  • 父类指针可以指向子类对象,但是只能访问子类继承自父类的成员

  • 子类重写父类的虚函数,实际上是重写了父类中虚函数表中某个成员函数的地址

  • 如果父类存在虚函数,那么建议析构函数声明为虚析构

多态:

(函数多态相当于函数重载)
实现方式: 在父类成员函数前加关键字 virtual
说明:

  • 在父类函数加关键字virtual后,父类指针可以调用子类重写函数,

  • (子类如果重写的只是父类的普通成员函数,那么父类指针只能调用父类成员函数)

虚函数表

C++_多态

  • 在父类函数加关键字virtual后,父类指针优先调用子类重写的虚函数

虚基类

由于虚函数的目的是子类重写虚函数,因此父类中虚函数可以不实现
纯虚函数: 在虚函数后面写 =0

  eg: virtual void fun()=0;

说明:

  • 如果一个类中拥有纯虚函数,那么该类称为虚基类
  • 虚基类没法定义对象,但是可以定义指针或引用
  • 可以派生新的类
  • 子类实现纯虚函数才可以定义对象

动态联编

静态联编:在运行之间就知道用什么函数运行
(调用速度比较快,但是不灵活)
动态联编: 调用的时候才知道使用哪个函数
(根据函数指针,找到函数进行调用,但是速度不快)

代码实例

(本课代码实例请联系作者)

#include<iostream>
using namespace std;
int main()
{
 cin.get();
 return 0;
}

相关文章:

  • 2021-11-01
  • 2021-10-23
  • 2021-04-22
  • 2021-11-10
  • 2021-08-22
猜你喜欢
  • 2021-10-17
  • 2022-01-18
  • 2022-01-09
  • 2022-01-23
  • 2021-11-17
  • 2021-10-21
相关资源
相似解决方案