• 4937阅读
  • 3回复

QT指针问题 [复制链接]

上一主题 下一主题
离线jinky2004
 
只看楼主 倒序阅读 楼主  发表于: 2008-07-28
— 本帖被 XChinux 执行加亮操作(2008-07-28) —
请问QT中是不是有自行删除指针的功能比如
class CMainWindow:public QMainWindow
{

public:
    CMainWindow(QMainWindow* = 0);

    ~CMainWindow();
private:
    QLabel * m_pLabel1;
    QLineEdit * m_pLineEdit;

}
CMainWindow::CMainWindow(QMainWindow * m_pMainWindow):QMainWindow(m_pMainWindow)
{
  m_pLabel1 = new QLabel(this);
  m_pLineEdit = new QLineEdit;
}
CMainWindow::~CMainWindow()
{}
请问我用new 出来的m_pLabel1, m_pLineEdit 不在析构函数里用delete删除,QT会自动把他们删除掉?

离线foxyz

只看该作者 1楼 发表于: 2008-07-28
对头!
离线xjcook

只看该作者 2楼 发表于: 2008-07-28
如果你这样的话
  m_pLabel1 = new QLabel(this);
  m_pLineEdit = new QLineEdit;

  m_pLabel1 会自动删除,因为指定了parent,当parent删除时会删除起child
m_pLineEdit 不会自动删除,没有指定parent。
离线jinky2004
只看该作者 3楼 发表于: 2008-07-29
这样啊。谢谢!
快速回复
限100 字节
 
上一个 下一个