虛函數

  • 建立基類指針,用派生類賦值的時候,基類的構造函數也會執行。先執行派生類構造函數,再執行基類構造函數,而且指針指向基類函數的派生類部分。
#include<iostream>
using namespace std;
class A{
public:
    A(){}
    virtual void func()
    {
        cout<<"A::func"<<endl;
    }
    virtual void fund()
    {
        cout<<"A::fund"<<endl;
    }
    void fun()
    {
        cout<<"A::fun"<<endl;
    }
};
class B:public A{
public:
    B(){func();}
    void fun(){func();}
};
class C:public B{
public:
    C(){}
    void func()
    {
        cout<<"C::func"<<endl;
    }
    void fund()
    {
        cout<<"C::fund"<<endl;
    }
};
int main(){
    A* pa=new B();
    pa->fun();
    B* pb=new C();
    pb->fun();
    return 0;
}
  • 結果
相關文章
相關標籤/搜索