C++之private虛函數
阿新 • • 發佈:2019-03-13
cout c++ 訪問 return 對象 class 想法 調用 code
一般我們說虛函數,它的訪問級別都是public的,用類對象可以直接調用,這樣就可以實現運行時的類型綁定,那如果我們將虛函數私有化會出現什麽情況呢?是不是很蛋疼的想法。
#include<iostream> class Derived; class Base { public: void doFun() { fun(); } private: virtual void fun() { std::cout << "Base Fun"; } }; class Derived : public Base { private:virtual void fun() { std::cout << "Derived Fun"; } }; int main() { Base *ptr = new Derived; ptr->doFun(); return 0; }
結果是 Derived Fun
可見,私有函數的虛方法,調用的時候和public沒啥區別,但是很少這麽用。
C++之private虛函數