CComPtr<IVzCdbSvcCore> pSvcCore;这个pSvcCore是CComPtr的一个对象还是IVzCdbSvcCore的一个指针变量啊??我看怎么有时,pSvcCore可以调用CComPtr的成员,有时又可以调用IVzCdbSvcCore里的

解决方案 »

  1.   

    是个Com指针对象。它首先当然是个CComPtr对象,当然就可以调用CComPtr的成员,同时,由于这个对象重载了类型转换操作符“IVzCdbSvcCore*”,那么至少在语法,它用起来会使你觉得似乎就是在使用一个IVzCdbSvcCore指针变量。
    多看看C++的模板和操作符重载就明白了。
    而这个模板类之所以这么设计,也没别的原因,一切都为了程序员写程序的方便,不仅写代码方便,读代码、维护代码都方便,还能防止一些可能的粗心错误。
      

  2.   

    哦,糊涂了,楼上说得对,是重载了“->”
    sorry。