首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

建立在堆下的窗体,如何判断是否实例化过

2013-03-14 
建立在堆上的窗体,怎么判断是否实例化过?比如class win1:public QMainWindow{private:win2 *win2inst}我

建立在堆上的窗体,怎么判断是否实例化过?
比如

class win1:public QMainWindow
{
private:
    win2 *win2inst;
}

我在win1的实现里,希望用到win2时才new,如果已经实例化过就不重复new了
可是我怎么知道win1是否new过?
[解决办法]
构造函数里:
win2inst = 0;
以后检测win2inst == 0 就知道没有new过。


引用:
比如
C/C++ code?12345class win1:public QMainWindow{private:    win2 *win2inst;}
我在win1的实现里,希望用到win2时才new,如果已经实例化过就不重复new了
可是我怎么知道win1是否new过?

[解决办法]
引用:
引用:C/C++ code?1234if(win2inst==NULL) {    win2inst=new win2; }
不知道你自己试过这段代码没有?
我以前用CB就是这种习惯,但是qt里面不行,因为类的指针成员实例化之前并不是0

那你就先在构造函数中将赋值win2inst=NULL

热点排行