从不同的功能编辑相同的QList

时间:2012-07-01 20:03:45

标签: c++ qt4

我有一个存储在一个类中的QList,该类拥有一个指向另一个类的实例的指针,该类具有一些编辑QList的函数。我想要做的是在C ++中从多个类中编辑一个QList。当我从列表中删除一个元素时,我想将它从classA中的myvariable变量中删除。代码在

之下
class classA {
    ...

private:
    ClassB *myclass;
    QList<mytype> myvariable;
}

class classB {
    classB::classB(QList<mytype> &variable) {
        this->myvariable = variable;
    }

    ...

private:
    QList<mytype> myvariable;
}

2 个答案:

答案 0 :(得分:2)

你非常接近只是几个调整。使myvariable成为引用,并在classB的构造函数中初始化它,如下所示:

class classB 
{
  classB(QList<mytype> &variable) 
   : myvariable(variable)
  {
  }

private:
   QList<mytype>& myvariable;
}

答案 1 :(得分:0)

您可以引入一个包含静态qlist的类c。然后使它成为类a和b的公共子类。

编辑:

class classC {
protected:
    static QList<mytype> mystatic;
}    

class classA : public classC {
private:
}

class classB : public classC {
    classB::classB(QList<mytype> &variable) {
        mystatic = variable;
    }
}