如何创建一个QList,这个列表可以包含来自多个类的信息(这些类由两个Map-Containers操作)?
这是我的4个班级:
讲座课程:
class Veranstaltung
{
private:
QMap<QString, LV >myLV;
public:
Veranstaltung() {}
void listLV(QTextStream& out) const;
...
};
#endif //
教授级别
LIST_H
class ProfessurList
{
private:
QMap<QString, Professur> myProfessuren;
public:
ProfessurList() {} //kann man weglassen
void addProf(QTextStream& in,QTextStream& out);
void listProf(QTextStream& out) const; //Warum const?
...
};
#endif // PROFLIST_H
讲座的另一个课程,其中定义了私人和公共课程:
#ifndef LV_H
#define LV_H
class LV
{
private:
QString myNummer;
QString myBezeichnung;
QString myTyp;
public:
LV(const QString& nummer, const QString& bezeichnung, const QString& typ):
myNummer(nummer), myBezeichnung(bezeichnung), myTyp(typ)
{}
QString nummer() const { return myNummer;}
...
};
QTextStream& operator<<(QTextStream& out, const LV& l);
#endif // LV_H
定义私人和公共职业的另一类职业:
#ifndef PROF_H
#define PROF_H
class Professur
{
private:
QString myKuerzel;
QString myName;
QString myLehrstuhlinhaber;
public:
Professur(const QString& kuerzel, const QString& name, const QString& lehrstuhlinhaber):
myKuerzel(kuerzel), myName(name), myLehrstuhlinhaber(lehrstuhlinhaber)
{}
...
};
QTextStream& operator<<(QTextStream& out, const Professur& pr);
#endif // PROF_H
答案 0 :(得分:1)
你不能简单地用X对象创建struct吗?像:
Struct ProfessorsAndLecturs
{
Veranstaltung v;
LEctures l;
...
};
ProfessorsAndLecturs pal;
pal.v = ...;
pal.l = ...;
QList<ProfessorsAndLecturs> list;
list.append(pal);
以后:
list.at(0).l;
etc.
如果这是你要求的。