虚函数的使用
文章目錄
- 1.什么是虛函數?
- 2.虛函數的調用
1.什么是虛函數?
存在父子繼承關系的類對象中,對于這些對象中的成員函數進行調用時, 如果沒有虛函數,那么需要通過各自的對象指針可以對各自的成員函數進行訪問, 不可能實現父類對象指針來訪問子類的成員函數。 虛函數可以實現,使用父類的指針,訪問子類的成員函數。 這里面有使用的前提條件:1.父類的指針必須指向要調用的子類對象,
 比如父類是a,子類是b,父類a的指針ptr要調用b中成員函數,那么ptr必須指向子類對象。
2.父類和子類必須都要要這個函數的定義。
 函數返回類型,函數名,函數參數必須一致,但是實現可以不同。
 一般來說,子類才會有完整的函數實現,父類的虛函數甚至可以定義為純虛函數
3.要被調用的函數必須在父類中聲明為虛函數
virtual void function(){......... }2.虛函數的調用
當父類和子類中都有相同的成員函數(返回類型,函數名,函數參數相同,實現不同), 并且成員函數為虛函數時,可以使用父類的指針指向子類對象,實現對子類虛函數的訪問。 使用父類的指針指向子類對象,不能對子類中的非虛函數進行訪問。 使用父類的指針指向子類對象,可以實現對父類的成員函數進行訪問, 若成員函數為虛函數,ptr->a::function()可以實現對父類虛函數的訪問; 若成員函數為父類獨有,那么父類的成員函數可以使用指針直接訪問。總結
 
                            
                        - 上一篇: linux的基础知识——本地套接字
- 下一篇: 【操作系统复习】操作系统的发展与分类
