访问函数中的向量

时间:2018-04-06 14:07:29

标签: qt vector reference

我对c ++很陌生,并且不太了解引用和指针。 我正在Qt中创建一个项目来预订沙龙中的约会,并且我正在尝试将造型师对象分配给主席对象中的造型师数据成员。 以下功能是将造型师分配给特定的椅子。在此功能结束时,如果您在分配的主席中打印出造型师的造型师名称,但在此功能之外,则不会指定该值。所有的getter都返回一个引用,但是Calender向量是Week对象的向量,因为它是类持有者的数据成员而被调用。我想知道这是否是问题,但我认为使用[]运算符意味着该索引处的向量值是通过引用返回的。

void Holders::BookStylistToChair(int week, int day, float timeslot, stylist temp)
{
    for (int i = 0; i < Calender[week].getaweek()[day].getaday()[timeslot].GetNumberOfChairsInslot(); i++) {
        bool check = Calender[week].getaweek()[day].getaday()[timeslot].GetChairVector()[i].getoccupied();
        if (check == false) {
            Calender[week].getaweek()[day].getaday()[timeslot].GetChairVector()[i].SetStylist(temp);
            Calender[week].getaweek()[day].getaday()[timeslot].GetChairVector()[i].Setoccupied();
            break;
        }
    }
}

周课程如下所示:

class Week {
private:
    //A week full of 7 days
    QVector<Day> AWeek;
public:
    //CREATE DAYS IN A WEEK
    void Create7days(int, int, int);
    //Getter
    QVector<Day>& getaweek() ;
};

星期类包含一个getter getaweek,它返回class day对象的向量。日包含

class Day {
private:
    QString DayName;
    // A day full of timeslots
    QVector<Timeslot> ADay;
public:
    //Create Timeslots
    void CreateTimeSlot(int, int, int);
    void setdayname(QString);
    //Getter
    QString getdayname();
    QVector<Timeslot>& getaday() ;
};

getter都是返回引用,但我不确定它们是否正确,因为我没有使用const,即使我知道我可能应该但是当我这样做时我一直都会遇到错误我不知道如何包含const引用。 我希望这是足够的信息,如果不是,我很抱歉。 谢谢

0 个答案:

没有答案