我有一个存储在一个类中的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;
}
答案 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;
}
}