c++ 虚函数

来源:互联网 发布:如何建设企业文化 知乎 编辑:程序博客网 时间:2024/06/08 05:36

class A
{
        public:
                virtual void foo()
                {
                        cout<<"a foo "<<endl;
                }
                void pp()
                {
                        cout<<" a pp "<<endl;
                }
};

class B: public A
{
        public:
                 void foo()
                {
                        cout<<"b foo "<<endl;
                }
                void pp()
                {
                        cout<<" b pp "<<endl;
                }

                void funb()
                {
                        cout<<"b exe"<<endl;
                }
};

void test1()
{
        //A a;
        //A *pa = &a;
        B b;
        A *pa = &b;
        pa->foo();
        pa->pp();
        (dynamic_cast<B*>(pa))->funb();
        (dynamic_cast<B*>(pa))->foo();
        (dynamic_cast<B*>(pa))->pp();

        (*pa).foo();

}

返回结果

b foo
 a pp
b exe
b foo
 b pp
b foo

 

0 0
原创粉丝点击