C++ 虛函數
虛函數語法:
virtual 類型 名稱(){}
實際上就是用virtual來限定成員函數。它就成了虛函數了。
虛函數聲明只能出現在類定義中的函數原型聲明中,而不能在成員函數實現的時候。
多態要滿足三個條件才可以:
First: 賦值兼容 (就是由同一個基類派生出來)
Second:要聲明虛函數
Third:由成員函數來調用虛函數 或者 通過指針訪問虛函數 或者 通過引用來訪問虛函數。
下面來看一個例子吧。
View Code
#include "iostream" #include "cstring" #include "string" #include "cstdio" using namespace std; class base{ public: virtual void display() const{ cout<<"I come from base"<<endl; } }; class base1:public base{ public: virtual void display() const{ cout<<"I come from base1"<<endl; } }; class base2:public base1{ //這里寫base或者base1都是一樣的效果。 virtual void display() const{ cout<<"I come from base2"<<endl; } }; void fun(base *ptr){ ptr->display(); } int main(){ base Base; base1 Base1; base2 Base2; fun(&Base); fun(&Base1); fun(&Base2); return 0; }
posted on 2012-04-21 21:01 More study needed. 閱讀(209) 評論(0) 收藏 舉報

浙公網安備 33010602011771號