原因就是为了安全起见,避免显式的实例化...
而是使用动态创建的方式使用之,动态创建就是那一堆宏了,比如DECLARE_DYNCREATE之类的东西来支持...过程就是由CRuntimeClass调用CreateObject方法,展开IMPLEMENT_DYNCREATE宏可以看到调用的是类本身的CreateObject方法,在类的这个CreateObject里面调用了类的构造函数(这样使用保护属性才不会非法)...