ProDeveloperTutorial.com

教程和编程解决方案
菜单
  • Shell脚本
  • 系统设计
  • Linux系统编程
  • 4g LTE
  • 编码问题
  • C
  • C ++
  • DSA
  • GIT

C ++中的动态或运行时多态或虚拟函数

前开发者教程 2020年2月25日

在本教程中,我们将学习以下主题

 

  1. 需要虚拟功能
  2. 虚函数示例
  3. 虚拟功能的规则

 

1.需要虚拟功能

 

考虑下面的例子。

 

#include<iostream>




using namespace std;




class A{

public:

        void show(){

        cout << " Hello from Class A";

    }

};




class B :public A{

public:

     void show(){

        cout << " Hello from Class B";

    }

};







int main(){




    A *a1 = new B; // Create a base class pointer and assign address of derived object.

    a1->show();




}


专注于:

    A *a1 = new B;

    a1->show();


在这里,我们将派生类对象分配给基类指针。然后,当您调用“ show()”时。我们希望它将打印“来自B类的Hello”。

 

但是输出将是“来自A类的问候”。

 

因为,这里的绑定将在编译时发生。因此,我们需要在运行时移动绑定。因此,我们将使用虚函数。

 

 

2.虚函数示例

因此,当您将函数设为虚函数时,它将在所有派生类中变为虚函数。

“虚拟”是用于使功能成为虚拟的关键字。

 

下面是虚拟函数的示例:

 

 

#include<iostream>

using namespace std;




class A{

public:

    virtual void show(){

        cout << " Hello from Class A";

    }

};




class B :public A{

public:

    void show(){

        cout << " Hello from Class B";

    }

};




int main()
{


    A *a1 = new B;

    a1->show();

}

 

输出:

 

Hello from Class B.

 

3.功能虚拟化的规则

 

  1. 虚拟函数不能是静态函数或朋友函数。
  2. 虚拟应该在基类中声明。
  3. 该函数应在基类和派生类中定义。
  4. 我们只能在指针或引用的帮助下访问虚拟函数。

该网站上可用的教程列表:

C编程20+章C ++编程80+章
100多个编码问题数据结构和算法85+章
系统设计20+章Shell脚本编写12章
4g LTE 60+章节最常见的编码问题
5G NR 50+章Linux系统编程20+章
分享
电子邮件
鸣叫
领英
Reddit
绊倒
Pinterest的
上一篇文章
下一篇

关于作者

前开发者教程

每天我们都会讨论竞争性编程问题,请加入我们的网站:   电报频道

ProDeveloperTutorial.com

教程和编程解决方案
版权© 2020 ProDeveloperTutorial.com
从以下课程获得热门课程: 教育性的






        <dfn id="gitRg7E" class="gsIolRe"><cite id="z7rR3Rw" class="zYFmh0F"></cite></dfn>
          <meter class="L9H2uT7"></meter>