亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c++虛函數和純函數的區別是什么

c++
小億
93
2023-10-25 19:51:17
欄目: 編程語言

C++中的虛函數和純虛函數都是用來實現多態性的機制,但它們有一些不同之處。

虛函數是在基類中聲明的,可以在派生類中進行重寫,它允許在運行時根據對象類型來調用相應的函數。虛函數可以被派生類重寫,也可以選擇不重寫。如果派生類中沒有重寫虛函數,那么將會調用基類中的虛函數實現。

純虛函數是在基類中聲明的沒有實現的虛函數,它的函數體被設置為0。純虛函數強制派生類去實現它,派生類必須提供相應的實現。如果派生類沒有實現純虛函數,那么派生類也將成為抽象類,無法實例化。

區別總結如下:

  1. 虛函數有默認的實現,派生類可以選擇重寫;純虛函數沒有默認的實現,派生類必須重寫。
  2. 虛函數可以被派生類選擇性地重寫,也可以不重寫;純虛函數必須在派生類中進行重寫。
  3. 含有純虛函數的類成為抽象類,無法實例化;虛函數可以實例化。
  4. 虛函數可以在基類中有實現,也可以沒有實現;純虛函數在基類中沒有實現,只有聲明。
  5. 虛函數可以被調用,即使通過基類的指針或引用;純虛函數只能通過派生類的實例來調用。

總的來說,虛函數和純虛函數都是用于實現多態性的,但純虛函數更加強制性,要求派生類必須提供實現。

0
阿城市| 合江县| 太仓市| 柘荣县| 会东县| 恩平市| 龙海市| 灵宝市| 松溪县| 仪陇县| 依兰县| 彭州市| 门头沟区| 奉节县| 晋中市| 惠水县| 姜堰市| 县级市| 恩施市| 乌鲁木齐市| 定州市| 荆州市| 德钦县| 渭南市| 互助| 青阳县| 修武县| 南昌市| 通榆县| 柘荣县| 兴和县| 林口县| 六枝特区| 荔浦县| 泗洪县| 彭阳县| 西华县| 中西区| 大悟县| 丹巴县| 青铜峡市|