뭔가 다른 : 내가 좋아하는 몇 가지 명령에 대한 정수의 집합을 다음 한디자인 문제가 : 열거 나 기능이나 내가 디자인 문제가 오전
이 : 추가의 우선 순위
addition = {2,3,4,5}
subtraction = {3,6,9}
입니다
> 하위의를 . 이러한 명령은 데이터 구조로서 작동 는 그래서class Command{
int priority;
public:
bool operator <(const Command &com);
bool isInSet(int);
// i donot want this to be int ,
// may be tommorrow i go for strings or char.
// How to do this. AND
void execute(int); // should it be here?
};
같은 클래스를 만들었다.
모든 명령이 명령을 실행하는 방법을 알고 있어야합니다. 즉 명령 자체에 기능이 있어야합니다.
execute()가 Command 내부로 들어가면 데이터 구조에 어떻게 액세스합니까? 따라서 Command에는이 DS에 대한 포인터가 있어야합니다.
또는 쌍이어야하지만 클래스 실행에는 DS에 대한 포인터가 필요합니다.
아니면이 명령처럼해야 할 것은 좀 열거를 전송 한 후 나는 무엇을해야 하는가가
enum {PUSH, POP};
while(!commands[i].isInSet(3))
++i;
switch(comands[i].getName())
{
case PUSH:
// operations on DS i have all of them in this scope. :)
case POP:
...
}
같은 뭔가를 전환?
다른 좋은 방법이 있습니까? 감사합니다. .