我在一本書中讀到,多態性是通過三級指針(使用vtable)在C++中實現的,但是還有其他方法在C++中實現它。多態如何在C++等語言的低層實現?
4
A
回答
0
虛擬函數也可以用這樣的函數指針直接實現。
struct A
{
void (*foo)(A *thiz);
void (*goo)(A *thiz, int x);
};
但顯然這比正常的實施效率低。實際上,在處理乘法繼承和虛擬基類時,C++實現可能會有所不同。
+0
@Mat參考[替代虛擬機制實現]中挑選的答案(http://stackoverflow.com/questions/4352032/alternative-virtual-mechanism-implementations)?. – BlueWanderer
+0
@Mat允許我在發佈評論前開始輸入答案。並讓我相信有人知道vtable可以理解我的解釋。沒關係。 – BlueWanderer
相關問題
- 1. 如何實現C#random.nextDouble C語言
- 2. 如何使用C語言實現CRC
- 3. 如何實現多語言網站laravel
- 4. 如何實現多語言支持ERM
- 5. 實現多語言PHP
- 6. Md5在C語言中的實現POS
- 7. 如何在C語言中實現「連續調用」語法糖?
- 8. 如何在C#中實現多態#
- 9. c語言:在實現使用結構
- 10. 在pyrocms中實現多語言支持
- 11. 在CodeIgniter中實現多語言結構
- 12. C++虛函數表的實現與多親多態層次
- 13. 在低級語言
- 14. 如何在動態語言中實現類?
- 15. MVC3中的多語言實現Razor
- 16. buddypress中的多語言實現
- 17. 如何用Rust等語言實現匹配?
- 18. 如何實現在C#3層建築
- 19. 如何實現多語言語音識別OK,谷歌風格
- 20. 等待(空)和等待(&狀態)C語言和狀態
- 21. 如何在C語言中實現後期綁定?
- 22. 用C語言實現動態Web刮板的邏輯#
- 23. 語言在Apache Solr實現
- 24. 如何在iphone中實現應用程序多語言選擇?
- 25. 如何在android中實現多語言支持
- 26. 如何在SPA中實現多種語言
- 27. 人們通常如何在Silverlight/XAML中實現多語言?
- 28. 不變的語言如何有效地實現set,concat,equals等等?
- 29. Osek實現語言
- 30. 使用C語言實現Web服務
其實@Mat我正在尋找具有多態性的標籤,這就是爲什麼我無法找到你在這裏提到的答案。 Anywayz thanx。 – AbKDs