纯虚函数

纯虚函数文章目录什么是纯虚函数使用纯虚函数的注意事项什么是纯虚函数纯虚函数 purevirtualf 是指被标明为不具体实现的虚拟成员函数

大家好,欢迎来到IT知识分享网。

什么是纯虚函数

纯虚函数(pure virtual function)是指被标明为不具体实现的虚拟成员函数。通常情况下,纯虚函数常用在这种情况:定义一个基类时,基类中虚函数的具体实现由于必须依赖派生类的具体情况从而无法在基类中确切定义,此时可以把这个虚函数定义为纯虚函数
在这里插入图片描述

使用纯虚函数的注意事项

  1. 含有纯虚函数的基类是不能用来定义对象的。纯虚函数没有实现部分,不能产生对象,所以含有纯虚函数的类是抽象类
  2. 定义纯虚函数时,不需要定义函数的实现部分(因为没有意义,即使定义了函数的实现部分,编译器也不会对这部分代码进行编译)
  3. “=0” 表明程序员将不定义该函数,函数声明是为派生类保留一个位置。“=0” 的本质是将指向函数体的指针定位 NULL
  4. 派生类必须重定义基类中的所有纯虚函数,少一个都不行,否则派生类中由于仍包含纯虚函数(从基类中继承而来),系统会仍将该派生类当成一个抽象类而不允许其实例
#include<iostream> using namespace std; class Animal{ 
    //基类,抽象类 public: virtual void eat()=0; //纯虚函数  virtual void sleep()=0; }; class Person:public Animal{ 
    //子类1 public: void eat(){ 
    cout<<"Person eat"<<endl; } void sleep(){ 
    cout<<"Person sleep"<<endl; } }; class Dog:public Animal{ 
    //子类2 public: void eat(){ 
    cout<<"Dog eat"<<endl; } void sleep(){ 
    cout<<"Dog eat"<<endl; } }; void func(Animal &a){ 
    a.eat(); a.sleep(); } int main(){ 
    Person person; func(person); cout<<"------分界线-----------"<<endl; Dog dog; func(dog); return 0; } 

在这里插入图片描述

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/138021.html

(0)
上一篇 2025-06-15 22:15
下一篇 2025-06-15 22:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信