C++虚成员函数
和普通的成員函數一樣,虛成員函數同樣可以被繼承。我們只需要將基類中的display函數通過virtual關鍵字聲明為虛函數,之后即使在派生類中display函數聲明時未加上virtual關鍵字,但它在所有的派生類中都將自動成為虛函數。
#include<iostream> using namespace std;class base { public:virtual void hello(){cout<<"Hello base!"<<endl;} };class derived: public base { public://void hello(){cout<<"Hello derived!"<<endl;} };class derivedson: public derived {void hello(){cout<<"Hello derivedson!"<<endl;} };int main() {base * p = new base;p->hello();delete p;p = new derived;p->hello();delete p;derived * pp = new derivedson;pp->hello();delete pp;return 0; } Hello base! Hello base! Hello derivedson!總結
- 上一篇: C++多态的概念及前提条件
- 下一篇: C++虚成员函数表vtable