关于虚基类指针向派生类指针转化

来源:互联网 发布:关了蜂窝数据还跑流量 编辑:程序博客网 时间:2024/06/04 18:48
#include <iostream>using namespace std;class base1  {  public:      base1(){cout<<"base::base()!"<<endl;}      void virtual printBase(){cout<<"base::printBase()!"<<endl;}  };    class derived1: virtual public base1  {  public:      derived1(){cout<<"derived::derived()!"<<endl;}      void printDerived(){cout<<"derived::printDerived()!"<<endl;}  };    int main(int argc, const char * argv[])  {      derived1 oo;      base1 *oo1=&oo;      oo1->printBase();      derived1 *oo2=dynamic_cast<derived1 *>(oo1);//基类必须为多态而且虚基类指针指向派生类对象时才能下行转化,C++编译器具有RTTI检查    oo2->printDerived();      return 0;  }  

0 0