对像的为什么不能掉构造方法创建对象

ATL接口种//error:为什么抽象类无法实例化对象?构造函数都可以实现(6) - VC/MFC当前位置:& &&&ATL接口种//error:为什么抽象类无法实例化对象?构造ATL接口种//error:为什么抽象类无法实例化对象?构造函数都可以实现(6)&&网友分享于:&&浏览:165次
&&&&static&HRESULT&WINAPI&CreateInstance(CComObject&Base&**&pp)&;
};&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
如果你加一行代码
//CMyTest&obj(10);
CComObject&CMyTest&*&pobj&=&new&CComObject&CMyTest&;
也许编译就没有错了,但是你的用法仍旧是不合规矩的。------其他解决方案--------------------我的方法在MFC的接口DLL就能编译过,为什么ATL的接口DLL就不行?
你说的新创建一个console&exe项目,里面main加上//你这是什么意思?岂不是我的私有函数的源码都公开了?
我就问你&CMyTest怎么样&就能调用类成员与函数啊?
引用:私有函数和变量统统丢到CMyTest里,并且CMyTest继承实现IMyTest的功能,你的CMyTest可能代码会很长,不过也没有办法,因为有很多技巧你可能还不熟悉。IMyTest的函数可以通过Class&View视图IMyTest右击Add&Method来添加HRESULT&Fun1(void)(可能有2个IMyTest,选择蓝颜色的那个),所有添加的函数都是public
那个CMyT……------其他解决方案--------------------私有函数和变量统统丢到CMyTest里,并且CMyTest继承实现IMyTest的功能,你的CMyTest可能代码会很长,不过也没有办法,因为有很多技巧你可能还不熟悉。IMyTest的函数可以通过Class&View视图IMyTest右击Add&Method来添加HRESULT&Fun1(void)(可能有2个IMyTest,选择蓝颜色的那个),所有添加的函数都是public
那个CMyTest(int&param)去掉,把InSide这个东西也去掉,你又不是static函数,不要放在里面做工厂模式的事情。先把这个dll&project编译通过。
编译通过了,VS20XX会自动注册,注册表会有你dll的信息
从新创建一个console&exe项目,里面main加上
#include&"../mytest/MyTest_i.c"
#include&"../mytest/MyTest.h"
OleInitialize(NULL)
CComPtr&IMyTest&&
ptr.CoCreateInstance(__uuid(CMyTest));
ptr-&Fun1()//自定义的IMyTest的函数
CoUninitialize();
------其他解决方案--------------------私有函数你还可以定义,外面只能看到的是你的IMyTest,其他什么都看不见
你做ATL项目的目的是什么,不就是让外部访问你的对象吗?如果内部使用的类,直接在项目里创建一个普通C++&class就可以了,还要费什么劲simple呢?
工厂模式是专门创建对象的,你所有的CMyTest对象创建内部都要通过你继承的CComCoClass&CMyTest,&&CLSID_MyTest&来做,系统帮你做的,这里原理很复杂,你要做的就是会用就可以了。------其他解决方案--------------------不是static函数,不要放在里面做工厂模式的事情什么意思?
引用:私有函数和变量统统丢到CMyTest里,并且CMyTest继承实现IMyTest的功能,你的CMyTest可能代码会很长,不过也没有办法,因为有很多技巧你可能还不熟悉。IMyTest的函数可以通过Class&View视图IMyTest右击Add&Method来添加HRESULT&Fun1(void)(可能有2个IMyTest,选择蓝颜色的那个),所有添加的函数都是public
那个CMyT……------其他解决方案--------------------IUnknown接口没实现呗
CComObject&CMyTest&&//接口函数调用一些私有函数的,私有函数会调用有参构造
CComObject&CMyTest&&obj&//就能用有参的构造函数了吗?
引用:IUnknown接口没实现呗
CComObject&CMyTest&&------其他解决方案--------------------你的意思是&MyTest&只能用缺省的构造函数呗???不能用有参的构造函数呗???//
我测试过&用MFC的接口DLL里&可以用有参的构造函数
引用:私有函数你还可以定义,外面只能看到的是你的IMyTest,其他什么都看不见
你做ATL项目的目的是什么,不就是让外部访问你的对象吗?如果内部使用的类,直接在项目里创建一个普通C++&class就可以了,还要费什么劲simple呢?
工厂模式是专门创建对象的,你所有的CMyTest对象创建内部都要通过你继承的CComCoClass&CMyTest,&&CLSID_MyTest&来做……------其他解决方案--------------------引用:IUnknown接口没实现呗
CComObject&CMyTest&&//接口函数调用一些私有函数的,私有函数会调用有参构造 共&7&页:
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&2012年7月 Java大版内专家分月排行榜第三2011年11月 Java大版内专家分月排行榜第三2007年12月 Java大版内专家分月排行榜第三2007年10月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 java的构造方法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信