C++ 类对象队列

C++ 类对象队列,c++,class,object,queue,C++,Class,Object,Queue,考虑到下面的队列实现,我想知道从队列中弹出类后是否可以访问该类的成员。基本上,我应该记录一个项目在队列中等待多长时间,直到它被弹出,我有点不知道怎么做。时间表示为特定循环的迭代次数(以下未显示) #包括 类平面 { 公众: 平面(){} }; 队列登陆; int main() { 着陆。推(飞机()); } 您可能希望在将项目放入队列之前将其放入包装器类中。让包装器类包含一个计数器,当您在队列中输入项时,该计数器设置为零,并在循环的每次迭代中递增。当你把它拿出来时,计数器会告诉你它的年龄 包装器

考虑到下面的队列实现,我想知道从队列中弹出类后是否可以访问该类的成员。基本上,我应该记录一个项目在队列中等待多长时间,直到它被弹出,我有点不知道怎么做。时间表示为特定循环的迭代次数(以下未显示)

#包括
类平面
{
公众:
平面(){}
};
队列登陆;
int main()
{
着陆。推(飞机());
}

您可能希望在将项目放入队列之前将其放入包装器类中。让包装器类包含一个计数器,当您在队列中输入项时,该计数器设置为零,并在循环的每次迭代中递增。当你把它拿出来时,计数器会告诉你它的年龄

包装器类的外观如下所示:

template <class T>
class timed { 
    T item;
    unsigned timer;
public:
    timed(T const &t) : item(t), timer(0) {}
    void tick() { ++ timer; }
    unsigned elapsed() { return timer; }
    operator T() { return item; }
};
模板
类定时{
T项;
无符号定时器;
公众:
定时(T const&T):项(T),计时器(0){}
void tick(){++timer;}
无符号经过(){return timer;}
运算符T(){return item;}
};

然后,您将创建一个
队列,而不是
队列
。每个计时器滴答作响,您都会在队列中穿行,并对每个项目调用
tick
。哦,但既然您想访问所有项目,而不仅仅是推送和弹出,那么您可能需要使用
std::deque

对不起,我不明白您所说的包装类是什么意思。
template <class T>
class timed { 
    T item;
    unsigned timer;
public:
    timed(T const &t) : item(t), timer(0) {}
    void tick() { ++ timer; }
    unsigned elapsed() { return timer; }
    operator T() { return item; }
};