|
Cat.h |
#pragma once class Cat { public: void Creep(); }; |
Cat.cpp |
#include "Cat.h"
void Cat::Creep() { cout<<" 좌우를 살피며 기다. 냐옹~ "<<endl; } |
IGo.h |
#pragma once class IGo { public: virtual void Go()=0; }; |
CatGo.h <--Adapter |
#pragma once #include "igo.h" #include "Cat.h" class CatGo : public IGo { Cat *Cat; public: Go(); virtual void Go(); }; |
CatGo.cpp |
#include "CatGo.h"
CatGo::CatGo(void) { cat= new Cat (); }
void Cat Go::Go() { cat->Creep(); } |
Controller.h |
#pragma once #include "IGo.h" class Controller { IGo *igo; public: Controller(); void Start(); void SetIGo(IGo *igo); }; |
Controller.cpp |
#include "Controller.h" Controller::Controller(void) { igo =0; } void Controller::SetIGo(IGo *igo) { this->igo = igo; } void Controller::Start() { igo->Go(); } |
Program.cpp |
#include "CatGo.h" #include "Controller.h" void main() { CatGo *catgo = new CatGo(); Controller *controller = new Controller();
controller->SetIGo(cstgo); controller->Start(); } |
6.실행화면
|