• C++中纯虚函数与虚函数的作用和区别


    今天课堂上使用到了c++中的纯虚函数相关知识,而我却无耻的只有一个很模糊的概念,并不是十分的掌握,于是我仔细的复习了这一块。

          首先纯虚函数是一种特殊的虚函数,在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。通俗来说,使用纯虚函数的类我们成为抽象类,该类不提供方法只提供接口,也可以很形象的理解为就是一个API。

      纯虚函数的声明方法:vitual void A()=0;

         虚函数则是为了实现多态,(多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。)

      下面来看代码实现:首先定义两个类,A和B,B类是A类的子类,首先不使用虚函数。我们可以看到当我们使用A类定义的两个指针p1和p2分别指向A类和B类,按道理我们的输出应该是实现各自的print函数,但是结果却是都是实现的A类中的print函数。

    然后我们在将父类中的函数设置为虚函数(子类可直接延续父类相应的成为虚函数),我们可以看到分别实现了两个print函数,这就是典型的多态实现。也就是虚函数的作用。

  • 相关阅读:
    正则表达式实例
    正则表达式理解
    Git初体验
    浏览器加载解析HTML、JS、CSS的过程
    iframe
    纯前端,html页面间传值方式:
    Visual Code 之使用
    seajs使用记
    VBA中Dictionary对象使用(Key,Value)
    存储过程和存储函数和触发器示例
  • 原文地址:https://www.cnblogs.com/steven66/p/5013695.html
Copyright © 2020-2023  润新知