怎么让一个类只能实例化一次

怎样让一个类只能实例化一次
比如一个对话框,怎样才能在需要弹出时检测是否已有该框弹出,如果有则只需把已经弹出的对话框显示到前台,谢谢!正在做毕业设计,急求!!!跪谢!!!

------解决方案--------------------
每次弹出模态对话框  用yourDlg->exec();   不要用yourDlg->show();
------解决方案--------------------
单例模式,自己搜索
------解决方案--------------------
 再需要跳出对话框的地方检查下是否已经有该窗口
,有则返回,没有就新建一个对话框,注意设置它的objectname


QWidgetList qwl = QApplication::allWidgets();

    int count = qwl.count();
    for(int pos=0;pos<count;pos++)
    {
        if(qwl.at(pos)->objectName() == name) /* 已蹦出,无需重新创建 */
        {         
            return;
        }
    }
    

------解决方案--------------------
提供几个思路:
1、单例模式,继承对话框类自己写
2、也许可以试一下共享内存?(程序单一实例的例子那样)


话说,对话框不是阻塞进程的么?如果你这个对话框不是由消息队列弹出来的话,那么正常使用对话框是阻塞的,用户不点确定程序就不会往下走下去,自然也就不会继续弹出对话框了呀
------解决方案--------------------
自己定义一个flag 标记一下。
------解决方案--------------------
应该是单例模式
------解决方案--------------------
用单例模型吧