实现方法是不同的。CreateObject是MS的方法。比如下面的代码:class CDemo2View : public CEditView
{
protected: // create from serialization only
    CDemo2View();
    DECLARE_DYNCREATE(CDemo2View)    注意它的构造函数是保护类型的,因此别的类无法访问。VC自动生成的注释代码说明为:只从序列化创建。就是说,只能用CreateObject的方法来创建一个新的对象。然后,可以调用它的Create函数以创建窗口。    感觉上似乎是为Frame/Doc/View这一框架结构设计的。具体实现你可以看看MFC源代码和MSDN。