美文网首页
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