mfc는 클래스마법사로 새로운 클래스를 생성시 기본적으로 protected로 생성자를 막아 놓는다. 대신 DECLARE_DYNCREATE - IMPLEMENT_DYNCREATE 매크로를 통해 런타임 다이나믹 크리에이션을 제공한다. 그래서 원칙적으로 아래와 같은 식으로 사용하도록 한다. m_pSwordView = (CSwordView*)(RUNTIME_CLASS(CSwordView)->CreateObject()); 그런데 이것은 좀 귀찮긴 하다. 그래서 보통 public으로 생성자를 선언하고 다음과 같이 사용한다 m_pSwordView = new CSwordView; 훨씬 간단하다...굳이 왜 저리 막아놨는지 모르겠다. 많은 사람들이 저리 사용하는데....다음 버전에서는 public으로 제발 좀 바꿔라....