c++类型转换

来源:互联网 发布:渐变颜色搭配的数据 编辑:程序博客网 时间:2024/05/29 09:38

类型转换一 dynamic_cast

在继承体系中安全的向下转型,如果指针类型转型失败返回一个空指针,如果是引用则抛出一个异常

#include <iostream>using namespace std;class A{    virtual void  fun(){}};class B:public A{public:    void fun(){}    void print()    {         cout<<"Derived"<<endl;    }};int main(){    B *b=nullptr;    A *a=new A();    b=dynamic_cast<B *>(a);    b==nullptr?cout<<"error":cout<<"yes";    cout<<endl;    A *a1=new B();    b=dynamic_cast<B *>(a1);    b==nullptr?cout<<"error":cout<<"yes";    cout<<endl;    b->print();    cout<<endl;}




原创粉丝点击