中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

C++多態(tài)的原因

多態(tài)性可以簡單的概括為“1個接口,多種方法”,在程序運行的過程中才決定調用的機制C++編譯器在編譯的時候,要確定每個對象調用的函數的地址,這稱為早期綁定(early binding), 程序實現上是這樣,通過父類指針調用子類的函數,可以讓父類指針有多種形態(tài)。而要讓編譯器采用遲綁定,就要在基類中聲明函數時使用virtual關鍵字,這樣的函數我們稱為虛函數。一旦某個函數在基類中聲明為virtual,那么在所有的派生類中該函數都是virtual,而不需要再顯式地聲明為virtual。

遼陽縣網站建設公司成都創(chuàng)新互聯公司,遼陽縣網站設計制作,有大型網站制作公司豐富經驗。已為遼陽縣近1000家提供企業(yè)網站建設服務。企業(yè)網站搭建\成都外貿網站制作要多少錢,請找那個售后服務好的遼陽縣做網站的公司定做!

正是由于每個對象調用的虛函數都是通過虛表指針來索引的,也就決定了虛表指針的正確初始化是非常重要的。換句話說,在虛表指針沒有正確初始化之前,我們不能夠去調用虛函數。那么虛表指針在什么時候,或者說在什么地方初始化呢?
答案是在構造函數中進行虛表的創(chuàng)建和虛表指針的初始化。構造函數的調用順序,在構造子類對象時,要先調用父類的構造函數,此時編譯器只“看到了”父類,并不知道后面是否后還有繼承者,它初始化父類對象的虛表指針,該虛表指針指向父類的虛表。當執(zhí)行子類的構造函數時,子類對象的虛表指針被初始化,指向自身的虛表。

C++的多態(tài)性用一句話概括就是:在基類的函數前加上virtual關鍵字,在派生類中重寫該函數,運行時將會根據對象的實際類型來調用相應的函數。如果對象類型是派生類,就調用派生類的函數;如果對象類型是基類,就調用基類的函數。



 

本文題目:C++多態(tài)的原因
轉載注明:http://www.rwnh.cn/article36/jjsjpg.html

成都網站建設公司_創(chuàng)新互聯,為您提供靜態(tài)網站、品牌網站建設做網站、云服務器域名注冊、微信公眾號

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

手機網站建設
大同市| 乌恰县| 鄂托克旗| 阳高县| 河津市| 余庆县| 彰化市| 泰和县| 武邑县| 无锡市| 洞口县| 自贡市| 荆门市| 黑山县| 深水埗区| 科技| 随州市| 潞城市| 钟祥市| 福州市| 元阳县| 大同市| 连江县| 视频| 中方县| 永登县| 香格里拉县| 美姑县| 东阿县| 肥东县| 和政县| 大英县| 泰宁县| 万州区| 峨眉山市| 铜陵市| 渭南市| 华池县| 鞍山市| 旬邑县| 乌拉特中旗|