//Template Method Pattern
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
class LineEidt {
string text;
public:
virtual bool validate(char ch) { return true; }
string getText() {
text.clear();
while(true) {
char ch=_getch(); //표준 입력 스트림으로부터 문자 하나를 읽어온다.
if(ch==13) break;
if(validate(ch)) {
text.push_back(ch);
cout << ch;
}
}
cout << endl;
return text;
}
};
class NumberLineEdit : public LineEidt {
bool validate(char ch) { return isdigit(ch)? true : false; }
};
int main() {
NumberLineEdit edit;
while(true) {
string s = edit.getText();
cout << s << endl;
}
return 0;
}
'Developer > Design Patterns' 카테고리의 다른 글
디자인 패턴 책 (0) | 2014.05.18 |
---|---|
전략 패턴 (0) | 2014.05.18 |
범용 함수 포인터의 설계 (0) | 2014.05.18 |
함수 포인터 기반의 이벤트 핸들링 기법 (0) | 2014.05.18 |
인터페이스 기반의 객체의 이벤트 처리 (0) | 2014.05.18 |