【发布时间】:2013-04-30 13:44:43
【问题描述】:
我想创建一个通用抽象TimePeriod 类。它的示例子类是Day、Hour 和Minute。
我还想创建一个通用的TimeData 类,将TimePeriod 对象与一些数据相关联,例如两个doubles 用于该时间段内的最低和最高温度。
为此目的创建一个抽象的Data 类可能不是一个坏主意。所以TimeData 会将TimePeriod 与Data 关联起来。
这是一个层次结构如何看起来像 w.r.t 的示例。时间:
除了“垂直”的父子关系(当我在某个时间工作时,我想知道那个时间在哪一天),我还想要让我轻松循环的“水平”关系通过每日数据、每小时数据、分钟数据等。
您能告诉我如何在 C++ 中将其建模为类吗?我需要使用指针(在这种情况下我更喜欢智能指针)还是可以使用更简单的vector、list 等 STL 类?
【问题讨论】:
-
为什么不用c++11的
time_points? -
使用
#include < ctime >?查看详细信息here 或者您可以查看std::chrono。 -
我当然可以使用其中的一些来表示实际时间,但区分各种“父子”时间粒度(天、小时、分钟等)的数据仍然很重要.有时我可能需要现在这一天的最低温度,或者那个小时/分钟内的最高温度,等等。
标签: c++ oop data-modeling abstract-data-type