mFrame
載入中...
搜尋中...
無符合項目
Boolean.h
1
8#ifndef MFRAME_AB5A72F1_A2BD_4DB3_94EF_8F0B7AE9215A
9#define MFRAME_AB5A72F1_A2BD_4DB3_94EF_8F0B7AE9215A
10
11/* ***************************************************************************************
12 * Include
13 */
14
15//----------------------------------------------------------------------------------------
16
17//----------------------------------------------------------------------------------------
18#include "./../numb/Number.h"
19
20/* ***************************************************************************************
21 * Namespace
22 */
23namespace ufm::numb {
24 class Boolean;
25} // namespace ufm::numb
26
27/* ***************************************************************************************
28 * Class Boolean
29 */
42 /* *************************************************************************************
43 * Variable
44 */
45
46 /* *************************************************************************************
47 * Abstract Method
48 */
49
50 /* *************************************************************************************
51 * Construct Method
52 */
53 public:
59 Boolean(void);
60
67 Boolean(bool value);
68
69 /* *************************************************************************************
70 * Operator Method
71 */
72 public:
78 operator bool(void) {
79 return Boolean::vValue.b;
80 }
81
89 bool operator==(bool v) {
90 return (static_cast<bool>(Boolean::vValue.b) == v);
91 }
92
101 return (Boolean::vValue.b == v.vValue.b);
102 }
103
111 bool operator=(bool v) {
112 Boolean::vValue.b = v;
113 return Boolean::vValue.b;
114 }
115
124 if (v > 0)
125 Boolean::vValue.b = true;
126
127 else if (v < 0)
128 Boolean::vValue.b = false;
129
130 return *this;
131 }
132
141 if (v < 0)
142 Boolean::vValue.b = true;
143
144 else if (v > 0)
145 Boolean::vValue.b = false;
146
147 return *this;
148 }
149
157 Boolean tmp = *this;
158 Boolean::vValue.b = true;
159 return tmp;
160 }
161
169 Boolean::vValue.b = true;
170 return *this;
171 }
172
180 Boolean tmp = *this;
181 Boolean::vValue.b = false;
182 return tmp;
183 }
184
192 Boolean::vValue.b = false;
193 return *this;
194 }
195
196 /* *************************************************************************************
197 * Override Method
198 */
199
200 /* *************************************************************************************
201 * Public Method
202 */
203
204 /* *************************************************************************************
205 * Protected Method
206 */
207
208 /* *************************************************************************************
209 * Private Method
210 */
211
212 /* *************************************************************************************
213 * Static Variable
214 */
215 public:
216 static const bool VALUE_TRUE = true;
217 static const bool VALUE_FALSE = false;
218 /* *************************************************************************************
219 * Static Method
220 */
221};
222
223/* ***************************************************************************************
224 * End of file
225 */
226
227#endif /* MFRAME_AB5A72F1_A2BD_4DB3_94EF_8F0B7AE9215A */
布林值封裝類
Definition Boolean.h:41
bool operator==(Boolean &v)
比較兩個Boolean物件是否相等
Definition Boolean.h:100
Boolean operator+=(int v)
加法指定運算子
Definition Boolean.h:123
Boolean(void)
建構 Boolean 物件
bool operator=(bool v)
指定運算子
Definition Boolean.h:111
bool operator==(bool v)
比較Boolean物件與布林值是否相等
Definition Boolean.h:89
Boolean(bool value)
建構 Boolean 物件
Boolean operator-=(int v)
減法指定運算子
Definition Boolean.h:140
Boolean operator++(int)
後置遞增運算子
Definition Boolean.h:156
Boolean & operator--()
前置遞減運算子
Definition Boolean.h:191
Boolean operator++()
前置遞增運算子
Definition Boolean.h:168
static const bool VALUE_TRUE
真值常量
Definition Boolean.h:216
Boolean operator--(int)
後置遞減運算子
Definition Boolean.h:179
static const bool VALUE_FALSE
假值常量
Definition Boolean.h:217
[Interface] 數值基礎抽象類
Definition Number.h:44
Value vValue
數值儲存體
Definition Number.h:72
Definition Boolean.h:23
bool b
布林值
Definition Number.h:55