美文网首页
dynamic_cast运算符

dynamic_cast运算符

作者: Hassan_chao | 来源:发表于2017-03-23 18:09 被阅读6次
    将基类的指针或引用,安全的转换成派生类的指针和引用
    
    #include <iostream>
    using namespace std;
    class A
    {
    public:
        virtual ~A(){}//使用dynamic_cast时必要!
    };
    class B:public A
    {
    public:
        B()
        {
            m_b = 12;
        }
        void foo(){
            cout << "B:" << m_b << endl;
        }
    private:
        int m_b;
    };
    int main()
    {
        A* a = new B();//按A构造,按B执行
        B* b = dynamic_cast<B*>(a);
        b->foo();
        delete a;
        system("pause");
        return 0;
    }
    
    

    相关文章

      网友评论

          本文标题:dynamic_cast运算符

          本文链接:https://www.haomeiwen.com/subject/iaetottx.html