Class Fly
{};

Class NoFly: public Fly
{};

Class YesFly: public Fly
{};

이렇게 되어 있다고 해 봅시다.

Fly* fly = new YesFly();
Fly* nofly = new NoFly();

fly에 nofly를 대입시킬 일이 생겼습니다. 어디서 읽어 보았는데 이럴 경우
delete fly;
Fly* fly = nofly;
이렇게 선언을 해 주는 게 좋다고 하더군요.

그런데 말이지요.
저렇게 선언이 되어있는 상태에서 다른 것을 대입한다고 한다면
그냥 fly = nofly; 해도 되는 거 아닌가요?

fly = nofly를 하면 컴파일러가 알아서 처리해 주지 않나 싶습니다.
int a = 5;
int b = 4;
a = b;

를 할 경우에도 별다른 거시기가 없으니 말이지요
..상위 것은 포인터라 다르나 하는 생각도 들긴 합니다만.. 전 후자가 옳다고 생각하고 있는데, 다른 분들은 어떻게 생각하시나 듣고 싶군요.