음; 자꾸 삽질로 테스트하면 안 되는데-_-;
테스트는 자동화해야 되는데-_-;
하도 너저분하게 범위 확인하는 코드가 많아서 싹 걷어낼 요량으로 만들었;
배고파~~ 집에 가서 밥 먹어야지~
테스트는 자동화해야 되는데-_-;
하도 너저분하게 범위 확인하는 코드가 많아서 싹 걷어낼 요량으로 만들었;
배고파~~ 집에 가서 밥 먹어야지~
#include <iostream>
typedef unsigned long DWORD;
template <DWORD MIN, DWORD MAX>
class Interval
{
public:
Interval(DWORD seconds) { Assign(seconds); }
Interval& operator = (DWORD seconds) { Assign(seconds); return *this; }
operator const DWORD& () const { return interval_; }
private:
DWORD interval_;
void Assign(DWORD interval)
{
if(interval < MIN) interval_ = MIN;
else if(interval > MAX) interval_ = MAX;
else interval_ = interval;
}
};
int main()
{
Interval<5, 60> interval(100);
Interval<100, 150> interval2(200);
std::cout << interval << std::endl;
interval = 3;
std::cout << interval << std::endl;
interval = 30;
std::cout << interval << std::endl;
std::cout << interval2 << std::endl;
interval = interval2;
std::cout << interval << std::endl;
return 0;
}
typedef unsigned long DWORD;
template <DWORD MIN, DWORD MAX>
class Interval
{
public:
Interval(DWORD seconds) { Assign(seconds); }
Interval& operator = (DWORD seconds) { Assign(seconds); return *this; }
operator const DWORD& () const { return interval_; }
private:
DWORD interval_;
void Assign(DWORD interval)
{
if(interval < MIN) interval_ = MIN;
else if(interval > MAX) interval_ = MAX;
else interval_ = interval;
}
};
int main()
{
Interval<5, 60> interval(100);
Interval<100, 150> interval2(200);
std::cout << interval << std::endl;
interval = 3;
std::cout << interval << std::endl;
interval = 30;
std::cout << interval << std::endl;
std::cout << interval2 << std::endl;
interval = interval2;
std::cout << interval << std::endl;
return 0;
}




덧글