日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

没有varselect这个函数_C++的虚函数,虚析构函数,纯虚函数

發(fā)布時(shí)間:2024/9/27 c/c++ 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 没有varselect这个函数_C++的虚函数,虚析构函数,纯虚函数 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

修改日期:2020/9/6

C++的虛函數(shù)

C++的虛函數(shù)的特點(diǎn)就是動(dòng)態(tài)綁定,它的意思是動(dòng)態(tài)綁定,在運(yùn)行的時(shí)候,通過(guò)引用和指針,可以用基類的類,引用繼承該c++類的派生類,雖然指針是基類,但實(shí)際上運(yùn)行的是派生類的函數(shù)。

C++虛函數(shù)可以說(shuō)是C++設(shè)計(jì)模式的基礎(chǔ)了。

有一個(gè)問(wèn)題是,有的時(shí)候在派生類中定義了一個(gè)函數(shù),這個(gè)函數(shù)與基類中的虛函數(shù)的名字一樣但是形參不一樣,這說(shuō)明兩個(gè)不是一個(gè)函數(shù)呀,這個(gè)時(shí)候,編譯器在動(dòng)態(tài)綁定的時(shí)候會(huì)報(bào)錯(cuò),他只會(huì)去找名字,卻不會(huì)去對(duì)形參。這就讓人很惱火。同時(shí),如果虛函數(shù)沒(méi)有覆寫,程序員忘了,但編譯器并不知道需要覆寫。所以C++引入了一種新的思路,那就是override,這個(gè)東西能讓編譯器發(fā)現(xiàn),如果這個(gè)函數(shù)沒(méi)有覆蓋,就會(huì)報(bào)錯(cuò)。當(dāng)然如果不是虛函數(shù),你還非要去覆蓋,也會(huì)報(bào)錯(cuò)。如果是有override,它還會(huì)自動(dòng)去匹配形參列表,如果不匹配,又是報(bào)錯(cuò):你沒(méi)有覆寫。

當(dāng)然。現(xiàn)在覆寫,不意味著以后要覆寫,因?yàn)樘摵瘮?shù)派生類可以繼承它。但有的時(shí)候,要防止后面的人對(duì)當(dāng)前的虛函數(shù)進(jìn)行覆寫,那如果我們把一個(gè)東西定義為final,則之后的任何覆蓋都是錯(cuò)誤的。


虛析構(gòu)函數(shù)

虛析構(gòu)函數(shù)解決的問(wèn)題是,因?yàn)轭愂莿?dòng)態(tài)綁定的,所以虛構(gòu)的時(shí)候可能會(huì)出現(xiàn) queue * a = Queue()的情況。(Queue是queue的派生。有可能派生類自己有一個(gè)指針,那總得釋放吧。)

這個(gè)時(shí)候,虛析構(gòu)函數(shù)不知道誰(shuí)是誰(shuí),不知道該怎么析構(gòu),這個(gè)時(shí)候就需要提供一個(gè)覆寫。

虛函數(shù)的生成,并不是不實(shí)現(xiàn)這個(gè)類了,而后面繼承它的類,這個(gè)函數(shù)都是虛函數(shù),但不一定要覆寫。虛函數(shù)主要是為了動(dòng)態(tài)綁定。在覆蓋的過(guò)程中,形參啥的要一樣,唯一可能的是,如果要返回的是自己的類型,那可以不一樣。添加一個(gè)overide也可以表示這這是一個(gè)虛函數(shù)。

派生類的派生過(guò)程,是一個(gè)向下降維的過(guò)程。基類的指針和引用可以用派生類的東西。

這是因?yàn)榕缮惖募?#xff0c;是基類和派生類的組合,可以想象那個(gè)經(jīng)典的圖,基類是一個(gè)基座部分,派生類是一個(gè)部分。派生類在處理基類的初始化的過(guò)程,是通過(guò)調(diào)用基類的構(gòu)造函數(shù)來(lái)解決的。


純虛函數(shù)

什么是抽象基類呢?是這個(gè)類中,有沒(méi)有實(shí)現(xiàn)的函數(shù),這個(gè)沒(méi)有實(shí)現(xiàn)的函數(shù)就叫做純虛函數(shù)。

純虛函數(shù)的特點(diǎn)是什么呢?就是在其后面加上一個(gè) = 0。

比如:double net_price(int ) = 0

雖然我們可以為net_price提供定義,但這個(gè)定義只能在類外提供,然后就算提供了,這個(gè)類也不能實(shí)現(xiàn),這個(gè)類只有集成它的東西,對(duì)它進(jìn)行覆寫才能實(shí)現(xiàn)。

那么繼承這個(gè)抽象基類的派生類,也可以不覆蓋這個(gè)純虛函數(shù),但代價(jià)就是,它自己也是個(gè)抽象類,兩個(gè)都不能實(shí)現(xiàn),不能變成具體的對(duì)象。

那么為什么要實(shí)現(xiàn)這個(gè)東西呢?

因?yàn)橛械臅r(shí)候,我們只是需要大家都實(shí)現(xiàn)一個(gè)相同的接口,提供相同的功能,但是,有可能這個(gè)類繼承自上一個(gè)類,那么,上一個(gè)類的有些功能就仍然存在,這會(huì)造成,當(dāng)前的對(duì)象也有使用這個(gè)功能的能力,可惜,我們根本不需要建立這個(gè)對(duì)象,這個(gè)對(duì)象只是中間的一環(huán),甚至建立這個(gè)對(duì)象是有害的。所以要有個(gè)抽象基類。

總結(jié)

以上是生活随笔為你收集整理的没有varselect这个函数_C++的虚函数,虚析构函数,纯虚函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩网站免费 | 无码精品一区二区免费 | 欧美激情国产一区 | 少妇无套内谢久久久久 | 国产图片一区 | 久久久久免费精品 | 欧美婷婷六月丁香综合色 | 日爽夜爽 | 亚洲成人免费观看 | 亚洲小说区图片区都市 | 国产重口老太伦 | 天天干夜夜拍 | 黄色av播放| 天天操夜夜操视频 | 一区二区三区四区精品视频 | 国产剧情在线视频 | 国产又色又爽又黄又免费 | 国产精品国产三级国产专区51区 | 又欲又污又肉又黄短文 | 久久合合 | 黄色肉肉视频 | 午夜激情福利在线 | 国产精品日日夜夜 | 色午夜婷婷 | 精品少妇av | 青青草91 | av电影在线观看不卡 | 夜福利视频 | 精品在线视频一区二区 | 国产精品久久久久久久av福利 | 久久网站视频 | 国产91丝袜在线播放 | 人人干网站 | 激情五月婷婷在线 | 日本网站在线看 | 国产100页 | 亚洲大色网 | 婷婷激情四射 | 精品在线免费观看视频 | 亚洲美女在线观看 | 黄色免费视频 | 在线观看av资源 | 国产黄色片子 | 99久久久精品免费观看国产 | 五月激情在线观看 | 手机看片1024久久 | 色多多在线看 | 国产熟妇一区二区三区aⅴ网站 | 96av视频 | 中文字幕另类 | 91色在线视频 | 日本黄页网站 | 国产日韩成人 | 国产夫妻在线 | 成人网入口 | 国产91免费观看 | 成人亚洲玉足脚交系列 | 天天干天天上 | 性做久久久久久免费观看 | 夜夜操女人 | 九九九亚洲 | 日韩欧美爱爱 | 欧美1级片 | 中文字幕久久久 | 影音先锋亚洲天堂 | 奶妈的诱惑 | 大色网小色网 | 日日爽日日操 | 国产精品三 | 久久精品久久精品久久 | 亚洲一二三四区 | 日韩av一区在线播放 | 乱子伦一区二区三区 | 98精品视频| 日本毛片网站 | 空姐吹箫视频大全 | 成人一级片视频 | 91中文字日产乱幕4区 | 人妻精油按摩bd高清中文字幕 | 国产夫妻露脸 | caobi视频| 黄色综合网 | 菲律宾av | 久久激情综合 | 亚洲精品18| 久久久精品视频免费 | 天天摸日日摸狠狠添 | 一级做a爱片 | 日韩有码中文字幕在线 | 国产色婷婷一区二区三区竹菊影视 | 日韩午夜小视频 | 国产精品一二三区 | 欧美日韩激情一区 | 狠狠影院 | 蜜桃av噜噜一区二区三区麻豆 | 国精品人妻无码一区二区三区喝尿 | 免费在线观看亚洲 | 亚洲免费观看高清完整版在线 | 精品亚洲一区二区三区 |