這個問題很可能是「C++標準說的是什麼」的東西,但是我的Google搜索並沒有給出我正在尋找的答案。沒有成員函數的結構的繼承
我知道,當你有類,並且你有一個類繼承自另一個類時,你將進入虛擬函數表的世界,因爲代碼需要找出哪個類包含你試圖調用的函數。
但是,只包含數據的結構之間的繼承又如何呢?例如,如果你有一個小部件結構,然後你想要一個具有一些額外變量的結構的專用版本,但你仍然希望能夠將它的原始數據傳遞給處理小部件的函數,那麼將會更簡單從原始小部件結構繼承,而不是讓您的代碼處理兩種類型的小部件結構。當只有數據涉及繼承時,是否有任何開銷?專用小部件仍然是一個簡單的結構(在內存佈局方面),這兩個數據都是組合的,還是獨立於新數據存儲的原始小部件數據?最終,我想保持我的數據簡單且連續,因爲基本結構是,而且我不知道繼承數據是否會破壞數據。
非常真實。我提到它是使用繼承在幕後進行的一個例子。我不知道數據成員是否會在幕後做類似的事情。 – Nairou 2012-03-18 20:20:55
@Nairou:不,沒有,因爲數據成員不是多態的。 – 2012-03-18 20:29:29