C++有三種物件表示方式:object, pointer, reference,C#只有object很單純,但對於最重要的多型,C++不能用object表示,這會造成object slicing,必須用pointer和reference達成,若要將多型的object放進container,則一定得用pointer,因為reference不能copy,這也是C++另外兩個一定得用pointer的地方。
本範例demo如何使用pointer和reference達成多型。
1
}
執行結果
49行和58行為C#的寫法,使用object即可,但若用C++,51行為pointer寫法,55行為reference寫法,但不能使用object寫法。
See Also
(原創) 什麼是物件導向(Object Oriented)? (初級) (C/C++/C#)
(原創) 何時該使用object? 何時該使用reference? 何時該使用pointer? (初級) (C++) (OO C++)