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] 되는거라고 생각중인데..
책이 맞는거겠지?
상관없음
++i가 논리적으로는 더 빠르긴 함. 하지만 컴파일러가 최적화해버릴 수도 있으니 똑같응 수도 있겠다.
전자를 하던 후자를 하던 조건문을 먼저 계산하고 증감문이 드가는 거라 상관이 없음 - dc App
니가 생각하는 for문은 for (int i = 0; i++ < 5;)이런 형태여야함 - dc App
아닌데 병신아
뭐라는거야 이 병신은;; - dc App