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