多型性分:過載(overload,過載只是函式名相同,返回型別,引數不同,早期匹配)
虛函式(函式必須有完全相同的返回型別和參數列,晚期匹配 )
虛函式:一般虛函式(基類有函式體有實現,子類可重寫也可不重寫)
純虛函式(基類只有函式體沒有實現 virtual fun()=0,子類必須實現此函式體,至少含有乙個純虛函式的類是抽象類)
虛函式的好處:單介面,多實現。
使指向基類物件的指標指向不同派生類的物件,就能訪問虛函式的不能實現版本 例:
class base
public:
virtual show()
class derived:public base
public:
show()
main()
base* p;
derived d;
p=&d;
p->show();
結果:derived
如果去掉虛函式標識(virtual)結果:base
C 多型性 什麼是多型
下面舉乙個生活的例子來理解多型。如果要求3種人 孩子,運動員,演奏者都執行乙個動作 play 會發生什麼情況呢?孩子會出去玩耍。運動員會比賽。演員開始演奏。對於同乙個命令,不同的人會有不同的反應,執行不同的動作,這就是生活中乙個多型。在程式設計中,對於同乙個方法,由於執行的物件不同,方法的內容也就不...
C 多型性 什麼是多型
下面舉乙個生活的例子來理解多型。如果要求3種人 孩子,運動員,演奏者都執行乙個動作 play 會發生什麼情況呢?孩子會出去玩耍。運動員會比賽。演員開始演奏。對於同乙個命令,不同的人會有不同的反應,執行不同的動作,這就是生活中乙個多型。在程式設計中,對於同乙個方法,由於執行的物件不同,方法的內容也就不...
什麼是類的多型性
理解c 多型性之前首先理解一下什麼叫多型。同一操作作用於不同的物件,可以有不同的解釋,產生不同的執行結果,這就是多型性。c 多型性通過派生類覆寫基類中的虛函式型方法來實現。c 多型性分為兩種,一種是編譯時的多型性,一種是執行時的多型性。編譯時的多型性 編譯時的多型性是通過過載來實現的。對於非虛的成員...