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

📄 pr27002.cpp

📁 c++编程宝典源码及Quincy99编译器 是《标准C++编程宝典》电子工业出版社的光盘
💻 CPP
字号:
////////////////////////////////////////
// File Name: pr27002.cpp
////////////////////////////////////////
#include <typeinfo>
#include <iostream>

////////////////////////////////////////
// Define the Control class.
////////////////////////////////////////
class Control
{
public:
     virtual void foo() {}
};

////////////////////////////////////////
// Derive classes from Control.
////////////////////////////////////////
class TextBox : public Control { };
class EditBox : public TextBox { };
class Button : public Control { };

////////////////////////////////////////
// Paint Control objects.
////////////////////////////////////////
void Paint(Control& cr)
{
    try
    {
        TextBox& ctl = dynamic_cast<TextBox&>(cr);
        std::cout << "Paint a TextBox" << std::endl;
    }
    catch(bad_cast)
    {
        std::cout << "nonTextBox, can't paint" << std::endl;
    }
}

////////////////////////////////////////
// The main() function.
////////////////////////////////////////
int main()
{
    // Instantiate and paint Control.
    Control ct;
    Paint(ct);

    // Instantiate and paint Button.
    Button bt;
    Paint(bt);

    // Instantiate and paint TextBox.
    TextBox tb;
    Paint(tb);

    // Instantiate and paint EditBox.
    EditBox eb;
    Paint(eb);

    return 0;
}

⌨️ 快捷键说明

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