C++/Composite, Singleton pattern
Composite pattern (과일상자 예제 2단계)
(25190) 과일을 담을 수 있는 Box 클래스를 수정하여 다른 Box까지 담을 수 있는 구조로 refactoring하라. (main함수가 작동하도록.) Composite 패턴을 활용한다. 예시: [상자. 이름은 큰 상자. 내용은 (사과. 이름은 좋은 사과) [상자. 이름은 작은 상자. 내용은 (사과. 이름은 불량 사과) (바나나. 이름은 파란 바나나) (바나나. 이름은 노란 바나나) [상자. 이름은 아주 작은 상자. 내용은 아주작은 상자 끝] 작은 상자 끝] 큰 상자 끝] *내 출력 더보기 [상자. 이름은 큰 상자. 내용은: (사과. 이름은 좋은 사과입.) 큰 상자 끝] [상자. 이름은 작은 상자. 내용은: (사과. 이름은 불량 사과입.) (바나나. 이름은 파란 바나나입.) (바나나. 이름은 노란 바..
Singleton pattern 기초
(25210) 주어진 Single 클래스를 Singleton 패턴을 이용하여 인스턴스가 하나 밖에 생기지 않도록하라. #include using namespace std; class Single{ public: static Single *GetInstance(int n){ static Single *instance_= 0; if(instance_==0) {instance_=new Single(n); } return instance_; } void show(){ cout show(); cout
Composite pattern (과일상자 예제 1단계)
(25180) 주어진 프로그램은 사과를 담을 수 있는 상자이다. 출력 예시는 다음과 같다. $ a.out [상자. 이름은 큰 상자. 안에 들은 물건은: (사과 입니다. 이름은 좋은 사과입니다.) (사과 입니다. 이름은 불량 사과입니다.) 큰 상자의 상자 끝] $ 이 프로그램을 수정하여 바나나도 넣을 수 있는 클래스로 만들고 main함수의 코멘트를 해제하여 테스트한다. #include "box.h" #include "apple.h" #include "banana.h" #include using namespace std; int main(){ Box * box1 = new Box("큰 상자"); box1->Add(new Apple("좋은 사과")); box1->Add(new Apple("불량 사과")); b..