QList in classes with QT Creator/c++

QList in classes with QT Creator/c++

本文关键字:Creator c++ QT with in classes QList      更新时间:2023-10-16

如何创建一个QList,使该列表可以包含来自多个类的信息(类由两个map - container操作)?

这是我的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

讲座的另一个类,其中定义了private和public:

#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

教授职位的另一个类,其中定义了private和public:

  #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

不能简单地用X对象创建结构体吗?如:

Struct ProfessorsAndLecturs
{
   Veranstaltung v;
   LEctures l;
   ...
};
ProfessorsAndLecturs pal;
pal.v = ...;
pal.l = ...;
QList<ProfessorsAndLecturs> list;
list.append(pal);

,后来:

list.at(0).l;
etc.