class Command { public: virtual ~Command() {} virtual void execute() = 0; };class JumpCommand : public Command { public: virtual void execute() { jump(); } }; class FireCommand : public Command { public: virtual void execute() { fireGun(); } }; // You get the idea...

1. ์ฒ˜์Œ ์ฝ”๋“œ๋ธ”๋Ÿญ์—์„œย public : ์œผ๋กœ ์“ด๊ฑด ๊ทธ๋ƒฅ public ์œผ๋กœ ํ•œ๋ฒˆ์— ๋ฌถ๊ธฐ ์œ„ํ•œ ํ‘œํ˜„ ๋ฐฉ์‹์ธ๊ฑด์ง€..

2. ์ฒ˜์Œ ์ฝ”๋“œ๋ธ”๋Ÿญ์—์„œย ย virtual ~Command()ย ๊ฐ€ ๊ฐ€์ƒํ•จ์ˆ˜์ธ๊ฑด ์•Œ๊ฒ ๋Š”๋ฐ, ~๊ฐ€ ๋ฌด์Šจ ์˜๋ฏธ์ธ๊ฑด์ง€..ย 

๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.. ํ˜น์‹œ๋ชฐ๋ผ 2๋ฒˆ์งธ ์ฝ”๋“œ๋ธ”๋Ÿญ๋„ ์ฒจ๋ถ€ํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค..