在c ++中基于时间创建对象

时间:2010-09-08 03:23:25

标签: c++ oop time simulation

我正在写一个关于汽车制造的模拟,我想知道如何根据时间创建物体..

我有一个基础车,儿童摩托车,汽车和卡车。 1摩托车将每1小时制造一次, 每3小时生产1辆汽车, 每8小时制造一辆卡车。

如何根据指示的时间创建这些对象?

感谢

3 个答案:

答案 0 :(得分:1)

一种可能性是让一个专用于每个任务的线程,只是坐在泡沫,冲洗,创建,睡眠,重复的循环中。

答案 1 :(得分:1)

您可以创建计时器并等待这些计时器事件。 当计时器到期时,您可以创建相应的对象。 您可以在一个帖子中监视它。

你什么时候会摧毁这些物体?

答案 2 :(得分:0)

如果你想完全控制时间(比如你可以增加时间而不管系统计时器),那么你需要将它作为一个类来实现。然后提供Singleton或static函数来返回当前时间。时间类应该是可复制的,以便对象可以记住开始时间。此外,提供一个推进时间一定量的功能,并进行时间比较。

在每个可制造对象(或更好的,制造它们的工厂)内部,添加两个功能:

  1. StartManufacture。此功能应记住开始时间。
  2. CheckManufactureComplete。此函数获取当前时间,并检查自制造开始以来是否已经过了所需的等待时间。