ATL类库设计的问题,高手请进 ClassB中 可以存ClassA* pAs[];这样不就可以直接访问了么。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 InterfaceA指针得到IUnKnown接口指针,再强转ClassA指针,不然的话,可能还是得从InterfaceA中入手,添加新的方法 AF2了 直接在Interface中增加接口来调用类的方法,比较规范 这是一个思路,ClassA* pAs[] 可以是 InterfaceA* pAs[]的副本,需要考虑二者的增删安全性,会比较麻烦 1、ClassA* pClassA = dynamic_cast<ClassA*>(pAs[i]);2、CComObject<ClassA>* pClassA = dynamic_cast<CComObject<ClassA>>(pAs[i]);如何用呢,1 还是 2?貌似 1 是不行的 嗯,问题是客户端不需要知道方法 AF2。有的说可以使用 hidden 属性修饰 AF2,但 hidden 貌似不是为了这种目的设计的 只是屌丝,但喜欢顶这样的帖子……在你的工程内部不能调用 classA公共方法AF2,可能是由于AF2是虚函数造成的定义一个不在接口里面的方法AF2应该是不合理的设计,应该避免这样做不过你可以这样:继承类ClassA不过你要重写ATL的CreateInsatance(大概名称)方法 返回自己继承的类,然后在工程内部ClassB就可以像c++一样调用ClassA的子类方法AF2 另外想问:你的collection对象是怎么创建的,就是说ClassB是怎么有InterfaceACollection指针的?collection接口是怎么获取的?怎么感觉逻辑有点混乱,因为只有你的collection才应该知道存的ClassA指针而不是是InterfaceA指针。其它对象是不知道的 collection对象是在FinalConstruct里创建的,collection有count,item,[]公共属性接口,[]返回的就是ClassA指针。打个比分,人(classB)出生时就有牙槽 (interfaceAcollection),但是没有牙(classA),张出牙后人可以看到自己有多少颗牙,每颗牙长什么样,这一点都不混乱。 你好,acaicb:想必一年前的这个问题你已经解决了吧,能告知是怎么解决的么?我最近也遇到了同样的问题,希望能得的你的不吝赐教。。 MFC创建DLL问题 相同数据重复插入表的问题,高手指点!!(是不是逻辑有问题啊??) 在线程里调用进度条显示的问题急! 如何编程实现任务栏的"快速启动栏"显示控制!200分 如何取出AVI视频文件中的一帧并显示在屏幕上(每一帧为256色位图) 关于字符的问题。(简单) [---CSDN告别贴---] 兄弟们, 从今以后我不会再来这了,再见! 急! 关于DAO访问在ODBC中创建的支持txt或CSV文件 我想把文件中的一行删除? 如何使得只显示位图的一个椭圆区域 关于mfc的文件操作,求大神指导 CRichEditCtrl中文字体问题
这是一个思路,ClassA* pAs[] 可以是 InterfaceA* pAs[]的副本,需要考虑二者的增删安全性,会比较麻烦
2、CComObject<ClassA>* pClassA = dynamic_cast<CComObject<ClassA>>(pAs[i]);如何用呢,1 还是 2?
貌似 1 是不行的
嗯,问题是客户端不需要知道方法 AF2。
有的说可以使用 hidden 属性修饰 AF2,但 hidden 貌似不是为了这种目的设计的
在你的工程内部不能调用 classA公共方法AF2,可能是由于AF2是虚函数造成的
定义一个不在接口里面的方法AF2应该是不合理的设计,应该避免这样做不过你可以这样:继承类ClassA不过你要重写ATL的CreateInsatance(大概名称)方法 返回自己继承的类,然后在工程内部ClassB就可以像c++一样调用ClassA的子类方法AF2
你的collection对象是怎么创建的,就是说ClassB是怎么有InterfaceACollection指针的?collection接口是怎么获取的?怎么感觉逻辑有点混乱,因为只有你的collection才应该知道存的ClassA指针而不是是InterfaceA指针。其它对象是不知道的
collection对象是在FinalConstruct里创建的,collection有count,item,[]公共属性接口,[]返回的就是ClassA指针。打个比分,人(classB)出生时就有牙槽 (interfaceAcollection),但是没有牙(classA),张出牙后人可以看到自己有多少颗牙,每颗牙长什么样,这一点都不混乱。