我已經創建了一個可變粒度日程表中的時隙模型的類,例如,第一個時隙是30分鐘,但第二個時隙可以是40分鐘,第一個可用插槽開始於(可比值爲)1.C++:定義一個類的最大/最小限制
我現在想要做的是定義該類所需的最大和最小允許值,並且我有兩個實際問題以便這樣做:
1.-定義絕對最小值和最大值是否有用於自定義類?或者更好的是,只要一個值總是比較低於任何其他可能的類型值,給定類的定義關係運算符,定義爲min? (和模擬的最大值)
2.-假設前面的問題有一個答案在「是」(或「是,但是......」)後建模,如何定義這樣的max/min?我知道有std::numeric_limits<>
,但從我讀的它是用於「數字類型」。我是否將其解釋爲「以數字表示」的含義,還是我可以制定一個更廣泛的假設,如「用數字表示」或「與整數具有對應關係」?畢竟,定義日期類和字典類的最小值和最大值是有意義的,但numeric_limits
可能不適用於這些用途(我沒有太多的經驗)。另外,numeric_limits
有很多額外的成員和信息,我不知道該怎麼做。如果我不需要使用numeric_limits
,C++提供了哪些其他衆所周知的/廣泛使用的機制來指示類的可用值範圍?
感謝您的回答,諾亞。是的,我認爲我有時候過於冗長,但你似乎沒有任何問題,並且完全去了我想去的地方。 是的,我想「對我班的域名保持自信」。使用斷言或try/catch來確保我沒有搞錯代碼,我沒有太多麻煩,我只想要兩件事:能夠向我的客戶提供相同(或類似)的信息,以便他們也可以相應地做出決定,並且可以以自然的方式提供信息。 感謝您提供通用驗證界面的提示。 – luismachuca 2010-05-20 17:46:22