中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

虛函數的實現機制

發布時間:2020-07-08 07:50:26 來源:網絡 閱讀:449 作者:非等閑之輩 欄目:編程語言

開門見山的說,虛函數能夠動態綁定的實現是一個虛表的存在

有如下繼承關系

class A

{

public:

       virtual void fun1();

       virtual void fun2();

};

class B:public A

{

public:

       void fun1();

       void fun3();

};

每一有虛函數的類在實例化的時候會形成一個虛表,而在類內保存一個指向虛表的指針,

這個虛表指向了具體函數的實現:

如,在A類中虛表的內存布局

指針指向A類的fun 1()

指針指向A類的fun2()


A類對象的內存布局

指向A類虛表的指針

A類對象的數據成員

 

B繼承的A因此B也有一個表,不同的是B中的虛表布局一樣,而指向的函數地址不同

那么當父類的指針指向子類的對象的時候,虛表指針指向的虛表會動態的指向子類的表,從而實現了虛函數的動態綁定。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

额敏县| 南丰县| 盐津县| 哈尔滨市| 临海市| 和硕县| 广东省| 延庆县| 林周县| 泗阳县| 泾川县| 泰兴市| 清远市| 榕江县| 马公市| 怀安县| 石狮市| 巴彦县| 胶州市| 英德市| 周口市| 进贤县| 浦城县| 朔州市| 灵丘县| 永济市| 太保市| 罗江县| 从江县| 惠安县| 巨鹿县| 湟源县| 海阳市| 英吉沙县| 桑植县| 原平市| 精河县| 乐清市| 岑巩县| 柳林县| 资溪县|