在CreatInstance当中
p = new T1()
可是并不析构,请问他在那儿析构?
谢谢!

解决方案 »

  1.   

    类可以有多个构造函数(无参的只能有一个,是默认的,系统一般自动生成;有参的可有多个,即重载),但只能有一个析构函数。
       p = new T1()中调用的是默认的构造函数,调试时你可在析构函数中加一句无实际作用的代码,如“int a = 0;”,然后将其设个断点,调试吧,应该会进入析构函数的。
      

  2.   

    我想了一下,可能在组件里类对象本身并不析构,而是最后在外部通过引用计数析构,但是类工厂是否也这样,其实客户如果不调用cogetclassobject是拿不到工厂的指针的,是不是说cocreateinstance里面在创建完类对象后,自动析构掉工厂。
    小弟最近在看atlinternal,同时看atl的代码,很希望有人和我讨论,虽然我在网上时间不多。不过还是可以邮箱联系![email protected]
      

  3.   

    p = new T1()判断引用记数,为0时需要自己Delete