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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++虚函数和纯虚函数的区别

發布時間:2024/4/11 c/c++ 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++虚函数和纯虚函数的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.虛函數和純虛函數可以定義在同一個類中,含有純虛函數的類被稱為抽象類,而只含有虛函數的類不能被稱為抽象類。

2.虛函數可以被直接使用,也可以被子類重載以后,以多態的形式調用,而純虛函數必須在子類中實現該函數才可以使用,因為純虛函數在基類有聲明而沒有定義。

3.虛函數和純虛函數都可以在子類中被重載,以多態的形式被調用。

4.虛函數和純虛函數通常存在于抽象基類之中,被繼承的子類重載,目的是提供一個統一的接口。

5.虛函數的定義形式:virtual{};純虛函數的定義形式:virtual? { } = 0;在虛函數和純虛函數的定義中不能有static標識符,原因很簡單,被static修飾的函數在編譯時要求前期綁定,然而虛函數卻是動態綁定,而且被兩者修飾的函數生命周期也不一樣。

虛函數充分體現了面向對象思想中的繼承和多態性這兩大特性,在C++語言里應用極廣。比如在微軟的MFC類庫中,你會發現很多函數都有virtual關鍵字,也就是說,它們都是虛函數。難怪有人甚至稱虛函數是C++語言的精髓

定義純虛函數就是為了讓基類不可實例化,因為實例化這樣的抽象數據結構本身并沒有意義或者給出實現也沒有意義。

純虛函數只是一個接口,是個函數的聲明而已,它要留到子類里去實現。

虛函數在子類里面也可以不重載的;但純虛必須在子類去實現,這就像Java的接口一樣。通常我們把很多函數加上virtual,是一個好的習慣,雖然犧牲了一些性能,但是增加了面向對象的多態性,因為你很難預料到父類里面的這個函數不在子類里面不去修改它的實現

總結

以上是生活随笔為你收集整理的C++虚函数和纯虚函数的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。