⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 18-9.txt

📁 《C/C++完美演绎》源代码
💻 TXT
字号:
/* 范例:18-9 */
#include <iostream.h>
class Base
{
  public:
    virtual void show(){}	/* 要做向下转型的动作,在父类中至少要含有一个虚拟
                          函数 */
};
class Derive: public Base{};
void main()
{
   Base *ptr1 = new Derive;
   Base *ptr2 = new Base;
   Derive *ptr3;

   ptr3 = dynamic_cast<Derive*>(ptr1);
   if (ptr3)
   {
     cout << "ptr1 => ptr3 success!\n";
     delete ptr3;
   }
   else
     cout << "ptr1 => ptr3 failure!\n";

   ptr3 = dynamic_cast<Derive*>(ptr2);
   if (ptr3)
   {
     cout << "ptr2 => ptr3 success!\n";
     delete ptr3;
   }
   else
     cout << "ptr2 => ptr3 failure!\n";

   getchar();
}

程序执行结果:
ptr1 => ptr3 success!
ptr2 => ptr3 failure!

⌨️ 快捷键说明

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