C++虛函數

C++虛函數是基類中的一個成員函數,您可以在派生類中重新定義它。 它聲明使用virtual關鍵字。

它用於告訴編譯器對函數執行動態鏈接或後期綁定。

後期綁定或動態鏈接

在後期綁定函數調用在運行時被解決。 因此,編譯器在運行時確定對象的類型,然後綁定函數調用。

C++虛函數示例

下面來看看看在程序中用來調用派生類的C++虛函數的簡單例子。

#include <iostream>  
using namespace std;  
class A  
{  
 public:  
     virtual void display()  
     {  
      cout << "Base class is invoked"<<endl;  
     }  
};  
class B:public A  
{  
 public:  
     void display()  
     {  
      cout << "Derived Class is invoked"<<endl;  
     }  
};  
int main()  
{  
    A* a;    //pointer of base class  
    B b;     //object of derived class  
    a = &b;  
    a->display();   //Late Binding occurs  
    return 0;
}

執行上面代碼得到以下結果 -

Derived Class is invoked