dynamiccast.cpp

来自「C++高级编程这本书所附的源代码」· C++ 代码 · 共 40 行

CPP
40
字号
#include <typeinfo>#include <iostream>using namespace std;class Base{public:  Base() {};  virtual ~Base() {}};class Derived : public Base{public:  Derived() {}  virtual ~Derived() {}};int main(int argc, char** argv){  Base* b;  Derived* d = new Derived();  b = d;  d = dynamic_cast<Derived*>(b);  Base base;  Derived derived;  Base& br = base;  try {    Derived& dr = dynamic_cast<Derived&>(br);  } catch (bad_cast&) {    cout << "Bad cast!\n";  }  return (0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?