C++不能被声明为虚函数
生活随笔
收集整理的這篇文章主要介紹了
C++不能被声明为虚函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
虛函數是為了實現多態,但是顯然并不是所有函數都可以聲明為虛函數的。
不能被聲明為虛函數的函數有兩類:
- 不能被繼承的函數
- 不能被重寫的函數
因此,這些函數都不能被聲明為虛函數
- 普通函數
- 構造函數
如果構造函數定義為虛函數,則需要通過查找虛函數表來進行調用。但是構造函數是虛函數的情況下是找不到的,因為構造函數自己本身也不存在,創建不了實例,沒有實例化對象,則類的成員不能被訪問。 - 靜態函數
- 友元函數
- 內聯成員函數
內聯函數是編譯時展開函數體,所以在此時就需要有實體,而虛函數是運行時才有實體,所以內聯函數不可以為虛函數
總結
以上是生活随笔為你收集整理的C++不能被声明为虚函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成都大熊猫繁育基地可以停车吗
- 下一篇: 身体太瘦会不会不孕不育