C++虛函數(shù)是基類中的一個(gè)成員函數(shù),您可以在派生類中重新定義它。 它聲明使用virtual關(guān)鍵字。
它用于告訴編譯器對函數(shù)執(zhí)行動態(tài)鏈接或后期綁定。
后期綁定或動態(tài)鏈接
在后期綁定函數(shù)調(diào)用在運(yùn)行時(shí)被解決。 因此,編譯器在運(yùn)行時(shí)確定對象的類型,然后綁定函數(shù)調(diào)用。
C++虛函數(shù)示例
下面來看看看在程序中用來調(diào)用派生類的C++虛函數(shù)的簡單例子。
#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;
}
執(zhí)行上面代碼得到以下結(jié)果 -
Derived Class is invoked