欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

虚函数和纯虚函数

最编程 2024-04-14 09:47:32
...

定义

  • 类中声明前带有virtual关键字的函数称为虚函数:

    class A {
    	virtual void example();
    }
    
  • 类中申明格式如下的函数称为纯虚函数:

    class A {
    	virtual void example() = 0;
    }
    

    即在函数声明中含有virtual= 0两个关键字。

区别

纯虚函数的特点:

  • 只有声明,没有实现/定义
  • 含有纯虚函数的类称为抽象类,抽象类不能被实例化
  • 抽象类的派生类如果想成为具体的类(能够被实例化),则必须重写纯虚函数。(关于函数重写与函数重载,见后文介绍)
    虚函数的特点:
  • 必须实现/被定义
  • 虚函数所在类可以被实例化

作用以及何时使用

C++中之所以引入虚函数和纯虚函数,就是为了通过函数重写(override)实现多态的效果。

推荐阅读