Shape_23 * shapes[5] = { NULL }; // NULL 타입의 배열 준비

shapes[0] = new Circle_23(100, 100, 500);

// Circle_23 * pc = new Circle (100, 100, 500) 과 동일한 코드

// shapes[0] = pc;

shapes[1] = new Rectangle_23(300, 300, 100, 100);

shapes[2] = new Rectangle_23(200, 200, 500, 500);

shapes[3] = new Circle_23(100, 400, 100);

shapes[4] = new Rectangle_23(200, 200, 200, 200);


//for (int i = 0; i < 5; ++i) -> 이러면 shape[1]이 되는거아닌가?

// shapes[i]->Draw();   // 책에서는 ++i 라 적혀있음..


for (int i = 0; i < 5; i++)

shapes[i]->Draw();


for (int i = 0; i < 5; i++)

{

delete shapes[i];

shapes[i] = NULL;

}


/for (int i = 0; i < 5; ++i) -> 이러면 shape[1]이 되는거아닌가?

// shapes[i]->Draw();


i++ 를 넣어야 shapes[0] 부터 초기화 되는거 아니야?

++i가 전위연산자니깐 넣으면 shapes[1] 되는거라고 생각중인데..


책이 맞는거겠지?